summaryrefslogtreecommitdiff
path: root/include/linux/kd.h
blob: 34e7491a2f53b5c6ab39cf5b85fc2bc1063fa0d9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
#ifndef _LINUX_KD_H
#define _LINUX_KD_H

#define GIO_FONT 0x4B60
#define PIO_FONT 0x4B61
#define GIO_FONTX 0x4B6B
#define PIO_FONTX 0x4B6C

struct consolefontdesc {
	unsigned short charcount;
	unsigned short charheight;
	char *chardata;
};

#define PIO_FONTRESET 0x4B6D

#define GIO_CMAP 0x4B70
#define PIO_CMAP 0x4B71

#define KIOCSOUND 0x4B2F
#define KDMKTONE 0x4B30

#define KDGETLED 0x4B31
#define KDSETLED 0x4B32
#define LED_SCR 0x01
#define LED_NUM 0x02
#define LED_CAP 0x04

#define KDGKBTYPE 0x4B33
#define KB_84 0x01
#define KB_101 0x02
#define KB_OTHER 0x03

#define KDADDIO 0x4B34
#define KDDELIO 0x4B35
#define KDENABIO 0x4B36
#define KDDISABIO 0x4B37

#define KDSETMODE 0x4B3A
#define KD_TEXT 0x00
#define KD_GRAPHICS 0x01
#define KD_TEXT0 0x02
#define KD_TEXT1 0x03
#define KDGETMODE 0x4B3B

#define KDMAPDISP 0x4B3C
#define KDUNMAPDISP 0x4B3D

typedef char scrnmap_t;
#define E_TABSZ 256
#define GIO_SCRNMAP 0x4B40
#define PIO_SCRNMAP 0x4B41
#define GIO_UNISCRNMAP 0x4B69
#define PIO_UNISCRNMAP 0x4B6A

#define GIO_UNIMAP 0x4B66
struct unipair {
	unsigned short unicode;
	unsigned short fontpos;
};
struct unimapdesc {
	unsigned short entry_ct;
	struct unipair *entries;
};

#define PIO_UNIMAP 0x4B67
#define PIO_UNIMAPCLR 0x4B68

struct unimapinit {
	unsigned short advised_hashsize;
	unsigned short advised_hashstep;
	unsigned short advised_hashlevel;
};

#define UNI_DIRECT_BASE 0xF000
#define UNI_DIRECT_MASK 0x01FF

#define K_RAW 0x00
#define K_XLATE 0x01
#define K_MEDIUMRAW 0x02
#define K_UNICODE 0x03
#define KDGKBMODE 0x4B44
#define KDSKBMODE 0x4B45

#define K_METABIT 0x03
#define K_ESCPREFIX 0x04
#define KDGKBMETA 0x4B62
#define KDSKBMETA 0x4B63

#define K_SCROLLLOCK 0x01
#define K_NUMLOCK 0x02
#define K_CAPSLOCK 0x04
#define KDGKBLED 0x4B64
#define KDSKBLED 0x4B65

struct kbentry {
	unsigned char kb_table;
	unsigned char kb_index;
	unsigned short kb_value;
};
#define K_NORMTAB 0x00
#define K_SHIFTTAB 0x01
#define K_ALTTAB 0x02
#define K_ALTSHIFTTAB 0x03

#define KDGKBENT 0x4B46
#define KDSKBENT 0x4B47

struct kbsentry {
	unsigned char kb_func;
	unsigned char kb_string[512];
};
#define KDGKBSENT 0x4B48
#define KDSKBSENT 0x4B49

struct kbdiacr {
	unsigned char diacr, base, result;
};
struct kbdiacrs {
	unsigned int kb_cnt;
	struct kbdiacr kbdiacr[256];
};
#define KDGKBDIACR 0x4B4A
#define KDSKBDIACR 0x4B4B

struct kbkeycode {
	unsigned int scancode, keycode;
};
#define KDGETKEYCODE 0x4B4C
#define KDSETKEYCODE 0x4B4D

#define KDSIGACCEPT 0x4B4E

struct kbd_repeat {
	int delay;
	int rate;
};

#define KDKBDREP 0x4B52
#define KDFONTOP 0x4B72

struct console_font_op {
	unsigned int op;
	unsigned int flags;
	unsigned int width, height;
	unsigned int charcount;
	unsigned char *data;
};

#define KD_FONT_OP_SET 0
#define KD_FONT_OP_GET 1
#define KD_FONT_OP_SET_DEFAULT 2
#define KD_FONT_OP_COPY 3

#define KD_FONT_FLAG_DONT_RECALC 1

#endif