1#ifndef _LINUX_KD_H
2#define _LINUX_KD_H
3#include <linux/types.h>
4
5
6
7#define GIO_FONT 0x4B60
8#define PIO_FONT 0x4B61
9
10#define GIO_FONTX 0x4B6B
11#define PIO_FONTX 0x4B6C
12struct consolefontdesc {
13 unsigned short charcount;
14 unsigned short charheight;
15 char *chardata;
16};
17
18#define PIO_FONTRESET 0x4B6D
19
20#define GIO_CMAP 0x4B70
21#define PIO_CMAP 0x4B71
22
23#define KIOCSOUND 0x4B2F
24#define KDMKTONE 0x4B30
25
26#define KDGETLED 0x4B31
27#define KDSETLED 0x4B32
28#define LED_SCR 0x01
29#define LED_NUM 0x02
30#define LED_CAP 0x04
31
32#define KDGKBTYPE 0x4B33
33#define KB_84 0x01
34#define KB_101 0x02
35#define KB_OTHER 0x03
36
37#define KDADDIO 0x4B34
38#define KDDELIO 0x4B35
39#define KDENABIO 0x4B36
40#define KDDISABIO 0x4B37
41
42#define KDSETMODE 0x4B3A
43#define KD_TEXT 0x00
44#define KD_GRAPHICS 0x01
45#define KD_TEXT0 0x02
46#define KD_TEXT1 0x03
47#define KDGETMODE 0x4B3B
48
49#define KDMAPDISP 0x4B3C
50#define KDUNMAPDISP 0x4B3D
51
52typedef char scrnmap_t;
53#define E_TABSZ 256
54#define GIO_SCRNMAP 0x4B40
55#define PIO_SCRNMAP 0x4B41
56#define GIO_UNISCRNMAP 0x4B69
57#define PIO_UNISCRNMAP 0x4B6A
58
59#define GIO_UNIMAP 0x4B66
60struct unipair {
61 unsigned short unicode;
62 unsigned short fontpos;
63};
64struct unimapdesc {
65 unsigned short entry_ct;
66 struct unipair *entries;
67};
68#define PIO_UNIMAP 0x4B67
69#define PIO_UNIMAPCLR 0x4B68
70struct unimapinit {
71 unsigned short advised_hashsize;
72 unsigned short advised_hashstep;
73 unsigned short advised_hashlevel;
74};
75
76#define UNI_DIRECT_BASE 0xF000
77#define UNI_DIRECT_MASK 0x01FF
78
79#define K_RAW 0x00
80#define K_XLATE 0x01
81#define K_MEDIUMRAW 0x02
82#define K_UNICODE 0x03
83#define KDGKBMODE 0x4B44
84#define KDSKBMODE 0x4B45
85
86#define K_METABIT 0x03
87#define K_ESCPREFIX 0x04
88#define KDGKBMETA 0x4B62
89#define KDSKBMETA 0x4B63
90
91#define K_SCROLLLOCK 0x01
92#define K_NUMLOCK 0x02
93#define K_CAPSLOCK 0x04
94#define KDGKBLED 0x4B64
95#define KDSKBLED 0x4B65
96
97struct kbentry {
98 unsigned char kb_table;
99 unsigned char kb_index;
100 unsigned short kb_value;
101};
102#define K_NORMTAB 0x00
103#define K_SHIFTTAB 0x01
104#define K_ALTTAB 0x02
105#define K_ALTSHIFTTAB 0x03
106
107#define KDGKBENT 0x4B46
108#define KDSKBENT 0x4B47
109
110struct kbsentry {
111 unsigned char kb_func;
112 unsigned char kb_string[512];
113};
114#define KDGKBSENT 0x4B48
115#define KDSKBSENT 0x4B49
116
117struct kbdiacr {
118 unsigned char diacr, base, result;
119};
120struct kbdiacrs {
121 unsigned int kb_cnt;
122 struct kbdiacr kbdiacr[256];
123};
124#define KDGKBDIACR 0x4B4A
125#define KDSKBDIACR 0x4B4B
126
127struct kbkeycode {
128 unsigned int scancode, keycode;
129};
130#define KDGETKEYCODE 0x4B4C
131#define KDSETKEYCODE 0x4B4D
132
133#define KDSIGACCEPT 0x4B4E
134
135struct kbd_repeat {
136 int delay;
137 int rate;
138};
139
140#define KDKBDREP 0x4B52
141
142
143#define KDFONTOP 0x4B72
144
145struct console_font_op {
146 unsigned int op;
147 unsigned int flags;
148 unsigned int width, height;
149 unsigned int charcount;
150 unsigned char *data;
151};
152
153#define KD_FONT_OP_SET 0
154#define KD_FONT_OP_GET 1
155#define KD_FONT_OP_SET_DEFAULT 2
156#define KD_FONT_OP_COPY 3
157
158#define KD_FONT_FLAG_DONT_RECALC 1
159#ifdef __KERNEL__
160#define KD_FONT_FLAG_OLD 0x80000000
161#endif
162
163
164
165
166
167#endif
168