kd.h
001: #ifndef _LINUX_KD_H
002: #define _LINUX_KD_H
003: #include <linux/types.h>
004:
005:
006:
007:
008: #define GIO_FONT 0x4B60
009: #define PIO_FONT 0x4B61
010:
011: #define GIO_FONTX 0x4B6B
012: #define PIO_FONTX 0x4B6C
013: struct consolefontdesc {
014: unsigned short charcount;
015: unsigned short charheight;
016: char *chardata;
017: };
018:
019: #define PIO_FONTRESET 0x4B6D
020:
021: #define GIO_CMAP 0x4B70
022: #define PIO_CMAP 0x4B71
023:
024: #define KIOCSOUND 0x4B2F
025: #define KDMKTONE 0x4B30
026:
027: #define KDGETLED 0x4B31
028: #define KDSETLED 0x4B32
029: #define LED_SCR 0x01
030: #define LED_NUM 0x02
031: #define LED_CAP 0x04
032:
033: #define KDGKBTYPE 0x4B33
034: #define KB_84 0x01
035: #define KB_101 0x02
036: #define KB_OTHER 0x03
037:
038: #define KDADDIO 0x4B34
039: #define KDDELIO 0x4B35
040: #define KDENABIO 0x4B36
041: #define KDDISABIO 0x4B37
042:
043: #define KDSETMODE 0x4B3A
044: #define KD_TEXT 0x00
045: #define KD_GRAPHICS 0x01
046: #define KD_TEXT0 0x02
047: #define KD_TEXT1 0x03
048: #define KD_TRANSPARENT 0x04
049: #define KDGETMODE 0x4B3B
050:
051: #define KDMAPDISP 0x4B3C
052: #define KDUNMAPDISP 0x4B3D
053:
054: typedef char scrnmap_t;
055: #define E_TABSZ 256
056: #define GIO_SCRNMAP 0x4B40
057: #define PIO_SCRNMAP 0x4B41
058: #define GIO_UNISCRNMAP 0x4B69
059: #define PIO_UNISCRNMAP 0x4B6A
060:
061: #define GIO_UNIMAP 0x4B66
062: struct unipair {
063: unsigned short unicode;
064: unsigned short fontpos;
065: };
066: struct unimapdesc {
067: unsigned short entry_ct;
068: struct unipair *entries;
069: };
070: #define PIO_UNIMAP 0x4B67
071: #define PIO_UNIMAPCLR 0x4B68
072: struct unimapinit {
073: unsigned short advised_hashsize;
074: unsigned short advised_hashstep;
075: unsigned short advised_hashlevel;
076: };
077:
078: #define UNI_DIRECT_BASE 0xF000
079: #define UNI_DIRECT_MASK 0x01FF
080:
081: #define K_RAW 0x00
082: #define K_XLATE 0x01
083: #define K_MEDIUMRAW 0x02
084: #define K_UNICODE 0x03
085: #define K_OFF 0x04
086: #define KDGKBMODE 0x4B44
087: #define KDSKBMODE 0x4B45
088:
089: #define K_METABIT 0x03
090: #define K_ESCPREFIX 0x04
091: #define KDGKBMETA 0x4B62
092: #define KDSKBMETA 0x4B63
093:
094: #define K_SCROLLLOCK 0x01
095: #define K_NUMLOCK 0x02
096: #define K_CAPSLOCK 0x04
097: #define KDGKBLED 0x4B64
098: #define KDSKBLED 0x4B65
099:
100: struct kbentry {
101: unsigned char kb_table;
102: unsigned char kb_index;
103: unsigned short kb_value;
104: };
105: #define K_NORMTAB 0x00
106: #define K_SHIFTTAB 0x01
107: #define K_ALTTAB 0x02
108: #define K_ALTSHIFTTAB 0x03
109:
110: #define KDGKBENT 0x4B46
111: #define KDSKBENT 0x4B47
112:
113: struct kbsentry {
114: unsigned char kb_func;
115: unsigned char kb_string[512];
116: };
117: #define KDGKBSENT 0x4B48
118: #define KDSKBSENT 0x4B49
119:
120: struct kbdiacr {
121: unsigned char diacr, base, result;
122: };
123: struct kbdiacrs {
124: unsigned int kb_cnt;
125: struct kbdiacr kbdiacr[256];
126: };
127: #define KDGKBDIACR 0x4B4A
128: #define KDSKBDIACR 0x4B4B
129:
130: struct kbdiacruc {
131: unsigned int diacr, base, result;
132: };
133: struct kbdiacrsuc {
134: unsigned int kb_cnt;
135: struct kbdiacruc kbdiacruc[256];
136: };
137: #define KDGKBDIACRUC 0x4BFA
138: #define KDSKBDIACRUC 0x4BFB
139:
140: struct kbkeycode {
141: unsigned int scancode, keycode;
142: };
143: #define KDGETKEYCODE 0x4B4C
144: #define KDSETKEYCODE 0x4B4D
145:
146: #define KDSIGACCEPT 0x4B4E
147:
148: struct kbd_repeat {
149: int delay;
150: int period;
151:
152: };
153:
154: #define KDKBDREP 0x4B52
155:
156:
157: #define KDFONTOP 0x4B72
158:
159: struct console_font_op {
160: unsigned int op;
161: unsigned int flags;
162: unsigned int width, height;
163: unsigned int charcount;
164: unsigned char *data;
165: };
166:
167: struct console_font {
168: unsigned int width, height;
169: unsigned int charcount;
170: unsigned char *data;
171: };
172:
173: #define KD_FONT_OP_SET 0
174: #define KD_FONT_OP_GET 1
175: #define KD_FONT_OP_SET_DEFAULT 2
176: #define KD_FONT_OP_COPY 3
177:
178: #define KD_FONT_FLAG_DONT_RECALC 1
179:
180:
181:
182:
183:
184: #endif
185:
© Andrew Scott 2006 -
2025,
All Rights Reserved