1 #ifndef _KD_H
2 #define _KD_H
3
4
5
6 #define SWAPMONO 0x4B00
7 #define SWAPCGA 0x4B01
8 #define SWAPEGA 0x4B02
9 #define SWAPVGA 0x4B03
10 #define CONS_CURRENT 0x4B04
11 #define MONO 0x01
12 #define CGA 0x02
13 #define EGA 0x03
14
15 #define SW_B40x25 0x4B05
16 #define SW_C40x25 0x4B06
17 #define SW_B80x25 0x4B07
18 #define SW_C80x25 0x4B08
19 #define SW_BG320 0x4B09
20 #define SW_CG320 0x4B0A
21 #define SW_BG640 0x4B0B
22 #define SW_CG320_D 0x4B0C
23 #define SW_CG640_E 0x4B0D
24 #define SW_EGAMONOAPA 0x4B0E
25 #define SW_ENH_MONOAPA2 0x4B0F
26 #define SW_CG640x350 0x4B10
27 #define SW_ENH_CG640 0x4B11
28 #define SW_EGAMONO80x25 0x4B12
29 #define SW_ENHB40x25 0x4B13
30 #define SW_ENHC40x25 0x4B14
31 #define SW_ENHB80x25 0x4B15
32 #define SW_ENHC80x25 0x4B16
33 #define SW_ENHB80x43 0x4B17
34 #define SW_ENHC80x43 0x4B18
35 #define SW_MCAMODE 0x4B19
36 #define SW_ATT640 0x4B1A
37
38
39 #define CONS_GET 0x4B1B
40 #define M_B40x25 0
41 #define M_C40x25 1
42 #define M_B80x25 2
43 #define M_C80x25 3
44 #define M_BG320 4
45 #define M_CG320 5
46 #define M_BG640 6
47 #define M_EGAMONO80x25 7
48 #define M_CG320_D 13
49 #define M_CG640_E 14
50 #define M_EFAMONOAPA 15
51 #define M_CG640x350 16
52 #define M_ENHMONOAPA2 17
53 #define M_ENH_CG640 18
54 #define M_ENH_B40x25 19
55 #define M_ENH_C40x25 20
56 #define M_ENH_B80x25 21
57 #define M_ENH_C80x25 22
58 #define M_ENH_B80x43 0x70
59 #define M_ENH_C80x43 0x71
60 #define M_MCA_MODE 0xff
61 #define MCA_GET 0x4B1C
62 #define CGA_GET 0x4B1D
63 #define EGA_GET 0x4B1E
64
65 #define MAPCONS 0x4B1F
66 #define MAPMONO 0x4B20
67 #define MAPCGA 0x4B21
68 #define MAPEGA 0x4B22
69 #define MAPVGA 0x4B23
70
71 struct port_io_struc {
72 char dir;
73 unsigned short port;
74 char data;
75 };
76 #define IN_ON_PORT 0x00
77 #define OUT_ON_PORT 0x01
78 struct port_io_arg {
79 struct port_io_struc args[4];
80 };
81 #define MCAIO 0x4B24
82 #define CGAIO 0x4B25
83 #define EGAIO 0x4B26
84 #define VGAIO 0x4B27
85
86 #define GIO_FONT8x8 0x4B28
87 #define PIO_FONT8x8 0x4B29
88 #define GIO_FONT8x14 0x4B2A
89 #define PIO_FONT8x14 0x4B2B
90 #define GIO_FONT8x16 0x4B2C
91 #define PIO_FONT8x16 0x4B2D
92
93 #define MKDIOADDR 32
94 struct kd_disparam {
95 long type;
96 char *addr;
97 ushort ioaddr[MKDIOADDR];
98 };
99 #define KDDISPTYPE 0x4B2E
100 #define KD_MONO 0x01
101 #define KD_HERCULES 0x02
102 #define KD_CGA 0x03
103 #define KD_EGA 0x04
104
105 #define KIOCSOUND 0x4B2F
106 #define KDMKTONE 0x4B30
107
108 #define KDGETLED 0x4B31
109 #define KDSETLED 0x4B32
110 #define LED_SCR 0x01
111 #define LED_CAP 0x04
112 #define LED_NUM 0x02
113
114 #define KDGKBTYPE 0x4B33
115 #define KB_84 0x01
116 #define KB_101 0x02
117 #define KB_OTHER 0x03
118
119 #define KDADDIO 0x4B34
120 #define KDDELIO 0x4B35
121 #define KDENABIO 0x4B36
122 #define KDDISABIO 0x4B37
123
124 struct kd_quemode {
125 int qsize;
126 int signo;
127 char *qaddr;
128 };
129 #define KDQUEMODE 0x4B38
130
131 #define KDSBORDER 0x4B39
132
133 #define KDSETMODE 0x4B3A
134 #define KD_TEXT 0x00
135 #define KD_GRAPHICS 0x01
136 #define KD_TEXT0 0x02
137 #define KD_TEXT1 0x03
138 #define KDGETMODE 0x4B3B
139
140 struct kd_memloc {
141 char *vaddr;
142 char *physaddr;
143 long length;
144 long ioflg;
145 };
146 #define KDMAPDISP 0x4B3C
147 #define KDUNMAPDISP 0x4B3D
148
149 #define KDVDCTYPE 0x4B3E
150
151 #define KIOCINFO 0x4B3F
152
153 typedef char scrnmap_t;
154 #define E_TABSZ 256
155 #define GIO_SCRNMAP 0x4B40
156 #define PIO_SCRNMAP 0x4B41
157
158 #define GIO_ATTR 0x4B42
159 #define GIO_COLOR 0x4B43
160
161 #define K_RAW 0x00
162 #define K_XLATE 0x01
163 #define KDGKBMODE 0x4B44
164 #define KDSKBMODE 0x4B45
165
166 struct kbentry {
167 u_char kb_table;
168 u_char kb_index;
169 u_char kb_value;
170 };
171 #define K_NORMTAB 0x00
172 #define K_SHIFTTAB 0x01
173 #define K_ALTTAB 0x02
174 #define K_ALTSHIFTTAB 0x03
175 #define K_SRQTAB 0x04
176 #define KDGKBENT 0x4B46
177 #define KDSKBENT 0x4B47
178
179 #endif