|
|
1.1 root 1: #ifndef _KD_H
2: #define _KD_H
3:
4: /* 0x4B is 'K', to avoid collision with termios and vt */
5:
6: #define SWAPMONO 0x4B00 /* use mca as output device */
7: #define SWAPCGA 0x4B01 /* use cga as output device */
8: #define SWAPEGA 0x4B02 /* use ega as output device */
9: #define SWAPVGA 0x4B03 /* use vga as output device */
10: #define CONS_CURRENT 0x4B04 /* return current output device */
11: #define MONO 0x01
12: #define CGA 0x02
13: #define EGA 0x03
14:
15: #define SW_B40x25 0x4B05 /* 40x25 mono text (cga/ega) */
16: #define SW_C40x25 0x4B06 /* 40x24 color text (cga/ega) */
17: #define SW_B80x25 0x4B07 /* 80x25 mono text (cga/ega) */
18: #define SW_C80x25 0x4B08 /* 80x25 color text (cga/ega) */
19: #define SW_BG320 0x4B09 /* 320x200 mono graphics (cga/ega) */
20: #define SW_CG320 0x4B0A /* 320x200 color graphics (cga/ega) */
21: #define SW_BG640 0x4B0B /* 640x200 mono graphics (cga/ega) */
22: #define SW_CG320_D 0x4B0C /* 320x200 graphics (ega mode d) */
23: #define SW_CG640_E 0x4B0D /* 640x200 graphics (ega mode e) */
24: #define SW_EGAMONOAPA 0x4B0E /* 640x350 graphics (ega mode f) */
25: #define SW_ENH_MONOAPA2 0x4B0F /* 640x350 graphics extd mem (ega mode f*) */
26: #define SW_CG640x350 0x4B10 /* 640x350 graphics (ega mode 10) */
27: #define SW_ENH_CG640 0x4B11 /* 640x350 graphics extd mem (ega mode 10*) */
28: #define SW_EGAMONO80x25 0x4B12 /* 80x25 mono text (ega mode 7) */
29: #define SW_ENHB40x25 0x4B13 /* enhanced 40x25 mono text (ega) */
30: #define SW_ENHC40x25 0x4B14 /* enhanced 40x25 color text (ega) */
31: #define SW_ENHB80x25 0x4B15 /* enhanced 80x25 mono text (ega) */
32: #define SW_ENHC80x25 0x4B16 /* enhanced 80x25 color text (ega) */
33: #define SW_ENHB80x43 0x4B17 /* enhanced 80x43 mono text (ega) */
34: #define SW_ENHC80x43 0x4B18 /* enhanced 80x43 color text (ega) */
35: #define SW_MCAMODE 0x4B19 /* reinit mca */
36: #define SW_ATT640 0x4B1A /* 640x400 16color */
37: /* should add more vga modes, etc */
38:
39: #define CONS_GET 0x4B1B /* get current display mode */
40: #define M_B40x25 0 /* 40x25 mono (cga/ega) */
41: #define M_C40x25 1 /* 40x25 color (cga/ega) */
42: #define M_B80x25 2 /* 80x25 mono (cga/ega) */
43: #define M_C80x25 3 /* 80x25 color (cga/ega) */
44: #define M_BG320 4 /* 320x200 mono (cga/ega) */
45: #define M_CG320 5 /* 320x200 color (cga/ega) */
46: #define M_BG640 6 /* 640x200 mono (cga/ega) */
47: #define M_EGAMONO80x25 7 /* 80x25 mono (ega) */
48: #define M_CG320_D 13 /* ega mode d */
49: #define M_CG640_E 14 /* ega mode e */
50: #define M_EFAMONOAPA 15 /* ega mode f */
51: #define M_CG640x350 16 /* ega mode 10 */
52: #define M_ENHMONOAPA2 17 /* ega mode f with ext mem */
53: #define M_ENH_CG640 18 /* ega mode 10* */
54: #define M_ENH_B40x25 19 /* ega enh 40x25 mono */
55: #define M_ENH_C40x25 20 /* ega enh 40x25 color */
56: #define M_ENH_B80x25 21 /* ega enh 80x25 mono */
57: #define M_ENH_C80x25 22 /* ega enh 80x25 color */
58: #define M_ENH_B80x43 0x70 /* ega enh 80x43 mono */
59: #define M_ENH_C80x43 0x71 /* ega enh 80x43 color */
60: #define M_MCA_MODE 0xff /* monochrome adapter mode */
61: #define MCA_GET 0x4B1C /* get mca display mode */
62: #define CGA_GET 0x4B1D /* get cga display mode */
63: #define EGA_GET 0x4B1E /* get ega display mode */
64:
65: #define MAPCONS 0x4B1F /* map current video mem into address space */
66: #define MAPMONO 0x4B20 /* map mca video mem into address space */
67: #define MAPCGA 0x4B21 /* map cga video mem into address space */
68: #define MAPEGA 0x4B22 /* map ega video mem into address space */
69: #define MAPVGA 0x4B23 /* map vga video mem into address space */
70:
71: struct port_io_struc {
72: char dir; /* direction in vs out */
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 /* i/o to mca video board */
82: #define CGAIO 0x4B25 /* i/o to cga video board */
83: #define EGAIO 0x4B26 /* i/o to ega video board */
84: #define VGAIO 0x4B27 /* i/o to vga video board */
85:
86: #define GIO_FONT8x8 0x4B28 /* gets current 8x8 font used */
87: #define PIO_FONT8x8 0x4B29 /* use supplied 8x8 font */
88: #define GIO_FONT8x14 0x4B2A /* gets current 8x14 font used */
89: #define PIO_FONT8x14 0x4B2B /* use supplied 8x14 font */
90: #define GIO_FONT8x16 0x4B2C /* gets current 8x16 font used */
91: #define PIO_FONT8x16 0x4B2D /* use supplied 8x16 font */
92:
93: #define MKDIOADDR 32 /* io bitmap size from <linux/sched.h> */
94: struct kd_disparam {
95: long type; /* type of display */
96: char *addr; /* display mem address */
97: ushort ioaddr[MKDIOADDR]; /* valid i/o addresses */
98: };
99: #define KDDISPTYPE 0x4B2E /* gets display info */
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 /* start sound generation (0 for off) */
106: #define KDMKTONE 0x4B30 /* generate tone */
107:
108: #define KDGETLED 0x4B31 /* return current led flags */
109: #define KDSETLED 0x4B32 /* set current led flags */
110: #define LED_SCR 0x01 /* scroll lock */
111: #define LED_CAP 0x04 /* caps lock */
112: #define LED_NUM 0x02 /* num lock */
113:
114: #define KDGKBTYPE 0x4B33 /* get keyboard type */
115: #define KB_84 0x01
116: #define KB_101 0x02
117: #define KB_OTHER 0x03
118:
119: #define KDADDIO 0x4B34 /* add i/o port as valid */
120: #define KDDELIO 0x4B35 /* del i/o port as valid */
121: #define KDENABIO 0x4B36 /* enable i/o to video board */
122: #define KDDISABIO 0x4B37 /* disable i/o to video board */
123:
124: struct kd_quemode {
125: int qsize; /* desired # elem in queue */
126: int signo; /* signal to send when queue not empty */
127: char *qaddr; /* user virt addr of queue */
128: };
129: #define KDQUEMODE 0x4B38 /* enable/disable special queue mode */
130:
131: #define KDSBORDER 0x4B39 /* set screen boarder in ega text mode */
132:
133: #define KDSETMODE 0x4B3A /* set text/grahics mode */
134: #define KD_TEXT 0x00
135: #define KD_GRAPHICS 0x01
136: #define KD_TEXT0 0x02 /* ? */
137: #define KD_TEXT1 0x03 /* ? */
138: #define KDGETMODE 0x4B3B /* get current mode */
139:
140: struct kd_memloc {
141: char *vaddr; /* virt addr to map to */
142: char *physaddr; /* phys addr to map from */
143: long length; /* number of bytes */
144: long ioflg; /* enable i/o if set */
145: };
146: #define KDMAPDISP 0x4B3C /* map display into address space */
147: #define KDUNMAPDISP 0x4B3D /* unmap display from address space */
148:
149: #define KDVDCTYPE 0x4B3E /* return vdc controller/display info */
150:
151: #define KIOCINFO 0x4B3F /* tell what the device is */
152:
153: typedef char scrnmap_t;
154: #define E_TABSZ 256
155: #define GIO_SCRNMAP 0x4B40 /* get screen mapping from kernel */
156: #define PIO_SCRNMAP 0x4B41 /* put screen mapping table in kernel */
157:
158: #define GIO_ATTR 0x4B42 /* get screen attributes */
159: #define GIO_COLOR 0x4B43 /* return nonzero if display is color */
160:
161: #define K_RAW 0x00
162: #define K_XLATE 0x01
163: #define KDGKBMODE 0x4B44 /* gets current keyboard mode */
164: #define KDSKBMODE 0x4B45 /* sets current keyboard mode */
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 /* gets one entry in translation table */
177: #define KDSKBENT 0x4B47 /* sets one entry in translation table */
178:
179: #endif /* _KD_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.