5
5
#include <linux/compiler.h>
6
6
7
7
/* 0x4B is 'K', to avoid collision with termios and vt */
8
+ #define KD_IOCTL_BASE 'K'
8
9
9
- #define GIO_FONT 0x4B60 /* gets font in expanded form */
10
- #define PIO_FONT 0x4B61 /* use font in expanded form */
10
+ #define GIO_FONT _IO(KD_IOCTL_BASE, 0x60) /* gets font in expanded form */
11
+ #define PIO_FONT _IO(KD_IOCTL_BASE, 0x61) /* use font in expanded form */
11
12
12
- #define GIO_FONTX 0x4B6B /* get font using struct consolefontdesc */
13
- #define PIO_FONTX 0x4B6C /* set font using struct consolefontdesc */
13
+ #define GIO_FONTX _IO(KD_IOCTL_BASE, 0x6B) /* get font using struct consolefontdesc */
14
+ #define PIO_FONTX _IO(KD_IOCTL_BASE, 0x6C) /* set font using struct consolefontdesc */
14
15
struct consolefontdesc {
15
16
unsigned short charcount ; /* characters in font (256 or 512) */
16
17
unsigned short charheight ; /* scan lines per character (1-32) */
17
18
char __user * chardata ; /* font data in expanded form */
18
19
};
19
20
20
- #define PIO_FONTRESET 0x4B6D /* reset to default font */
21
+ #define PIO_FONTRESET _IO(KD_IOCTL_BASE, 0x6D) /* reset to default font */
21
22
22
- #define GIO_CMAP 0x4B70 /* gets colour palette on VGA+ */
23
- #define PIO_CMAP 0x4B71 /* sets colour palette on VGA+ */
23
+ #define GIO_CMAP _IO(KD_IOCTL_BASE, 0x70) /* gets colour palette on VGA+ */
24
+ #define PIO_CMAP _IO(KD_IOCTL_BASE, 0x71) /* sets colour palette on VGA+ */
24
25
25
- #define KIOCSOUND 0x4B2F /* start sound generation (0 for off) */
26
- #define KDMKTONE 0x4B30 /* generate tone */
26
+ #define KIOCSOUND _IO(KD_IOCTL_BASE, 0x2F) /* start sound generation (0 for off) */
27
+ #define KDMKTONE _IO(KD_IOCTL_BASE, 0x30) /* generate tone */
27
28
28
- #define KDGETLED 0x4B31 /* return current led state */
29
- #define KDSETLED 0x4B32 /* set led state [lights, not flags] */
29
+ #define KDGETLED _IO(KD_IOCTL_BASE, 0x31) /* return current led state */
30
+ #define KDSETLED _IO(KD_IOCTL_BASE, 0x32) /* set led state [lights, not flags] */
30
31
#define LED_SCR 0x01 /* scroll lock led */
31
32
#define LED_NUM 0x02 /* num lock led */
32
33
#define LED_CAP 0x04 /* caps lock led */
33
34
34
- #define KDGKBTYPE 0x4B33 /* get keyboard type */
35
+ #define KDGKBTYPE _IO(KD_IOCTL_BASE, 0x33) /* get keyboard type */
35
36
#define KB_84 0x01
36
37
#define KB_101 0x02 /* this is what we always answer */
37
38
#define KB_OTHER 0x03
38
39
39
- #define KDADDIO 0x4B34 /* add i/o port as valid */
40
- #define KDDELIO 0x4B35 /* del i/o port as valid */
41
- #define KDENABIO 0x4B36 /* enable i/o to video board */
42
- #define KDDISABIO 0x4B37 /* disable i/o to video board */
40
+ #define KDADDIO _IO(KD_IOCTL_BASE, 0x34) /* add i/o port as valid */
41
+ #define KDDELIO _IO(KD_IOCTL_BASE, 0x35) /* del i/o port as valid */
42
+ #define KDENABIO _IO(KD_IOCTL_BASE, 0x36) /* enable i/o to video board */
43
+ #define KDDISABIO _IO(KD_IOCTL_BASE, 0x37) /* disable i/o to video board */
43
44
44
- #define KDSETMODE 0x4B3A /* set text/graphics mode */
45
+ #define KDSETMODE _IO(KD_IOCTL_BASE, 0x3A) /* set text/graphics mode */
45
46
#define KD_TEXT 0x00
46
47
#define KD_GRAPHICS 0x01
47
48
#define KD_TEXT0 0x02 /* obsolete */
48
49
#define KD_TEXT1 0x03 /* obsolete */
49
- #define KDGETMODE 0x4B3B /* get current mode */
50
+ #define KDGETMODE _IO(KD_IOCTL_BASE, 0x3B) /* get current mode */
50
51
51
- #define KDMAPDISP 0x4B3C /* map display into address space */
52
- #define KDUNMAPDISP 0x4B3D /* unmap display from address space */
52
+ #define KDMAPDISP _IO(KD_IOCTL_BASE, 0x3C) /* map display into address space */
53
+ #define KDUNMAPDISP _IO(KD_IOCTL_BASE, 0x3D) /* unmap display from address space */
53
54
54
55
typedef char scrnmap_t ;
55
56
#define E_TABSZ 256
56
- #define GIO_SCRNMAP 0x4B40 /* get screen mapping from kernel */
57
- #define PIO_SCRNMAP 0x4B41 /* put screen mapping table in kernel */
58
- #define GIO_UNISCRNMAP 0x4B69 /* get full Unicode screen mapping */
59
- #define PIO_UNISCRNMAP 0x4B6A /* set full Unicode screen mapping */
57
+ #define GIO_SCRNMAP _IO(KD_IOCTL_BASE, 0x40) /* get screen mapping from kernel */
58
+ #define PIO_SCRNMAP _IO(KD_IOCTL_BASE, 0x41) /* put screen mapping table in kernel */
59
+ #define GIO_UNISCRNMAP _IO(KD_IOCTL_BASE, 0x69) /* get full Unicode screen mapping */
60
+ #define PIO_UNISCRNMAP _IO(KD_IOCTL_BASE, 0x6A) /* set full Unicode screen mapping */
60
61
61
- #define GIO_UNIMAP 0x4B66 /* get unicode-to-font mapping from kernel */
62
+ #define GIO_UNIMAP _IO(KD_IOCTL_BASE, 0x66) /* get unicode-to-font mapping from kernel */
62
63
struct unipair {
63
64
unsigned short unicode ;
64
65
unsigned short fontpos ;
@@ -67,8 +68,8 @@ struct unimapdesc {
67
68
unsigned short entry_ct ;
68
69
struct unipair __user * entries ;
69
70
};
70
- #define PIO_UNIMAP 0x4B67 /* put unicode-to-font mapping in kernel */
71
- #define PIO_UNIMAPCLR 0x4B68 /* clear table, possibly advise hash algorithm */
71
+ #define PIO_UNIMAP _IO(KD_IOCTL_BASE, 0x67) /* put unicode-to-font mapping in kernel */
72
+ #define PIO_UNIMAPCLR _IO(KD_IOCTL_BASE, 0x68) /* clear table, possibly advise hash algorithm */
72
73
struct unimapinit {
73
74
unsigned short advised_hashsize ; /* 0 if no opinion */
74
75
unsigned short advised_hashstep ; /* 0 if no opinion */
@@ -83,19 +84,19 @@ struct unimapinit {
83
84
#define K_MEDIUMRAW 0x02
84
85
#define K_UNICODE 0x03
85
86
#define K_OFF 0x04
86
- #define KDGKBMODE 0x4B44 /* gets current keyboard mode */
87
- #define KDSKBMODE 0x4B45 /* sets current keyboard mode */
87
+ #define KDGKBMODE _IO(KD_IOCTL_BASE, 0x44) /* gets current keyboard mode */
88
+ #define KDSKBMODE _IO(KD_IOCTL_BASE, 0x45) /* sets current keyboard mode */
88
89
89
90
#define K_METABIT 0x03
90
91
#define K_ESCPREFIX 0x04
91
- #define KDGKBMETA 0x4B62 /* gets meta key handling mode */
92
- #define KDSKBMETA 0x4B63 /* sets meta key handling mode */
92
+ #define KDGKBMETA _IO(KD_IOCTL_BASE, 0x62) /* gets meta key handling mode */
93
+ #define KDSKBMETA _IO(KD_IOCTL_BASE, 0x63) /* sets meta key handling mode */
93
94
94
95
#define K_SCROLLLOCK 0x01
95
96
#define K_NUMLOCK 0x02
96
97
#define K_CAPSLOCK 0x04
97
- #define KDGKBLED 0x4B64 /* get led flags (not lights) */
98
- #define KDSKBLED 0x4B65 /* set led flags (not lights) */
98
+ #define KDGKBLED _IO(KD_IOCTL_BASE, 0x64) /* get led flags (not lights) */
99
+ #define KDSKBLED _IO(KD_IOCTL_BASE, 0x65) /* set led flags (not lights) */
99
100
100
101
struct kbentry {
101
102
unsigned char kb_table ;
@@ -107,15 +108,15 @@ struct kbentry {
107
108
#define K_ALTTAB 0x02
108
109
#define K_ALTSHIFTTAB 0x03
109
110
110
- #define KDGKBENT 0x4B46 /* gets one entry in translation table */
111
- #define KDSKBENT 0x4B47 /* sets one entry in translation table */
111
+ #define KDGKBENT _IO(KD_IOCTL_BASE, 0x46) /* gets one entry in translation table */
112
+ #define KDSKBENT _IO(KD_IOCTL_BASE, 0x47) /* sets one entry in translation table */
112
113
113
114
struct kbsentry {
114
115
unsigned char kb_func ;
115
116
unsigned char kb_string [512 ];
116
117
};
117
- #define KDGKBSENT 0x4B48 /* gets one function key string entry */
118
- #define KDSKBSENT 0x4B49 /* sets one function key string entry */
118
+ #define KDGKBSENT _IO(KD_IOCTL_BASE, 0x48) /* gets one function key string entry */
119
+ #define KDSKBSENT _IO(KD_IOCTL_BASE, 0x49) /* sets one function key string entry */
119
120
120
121
struct kbdiacr {
121
122
unsigned char diacr , base , result ;
@@ -124,8 +125,8 @@ struct kbdiacrs {
124
125
unsigned int kb_cnt ; /* number of entries in following array */
125
126
struct kbdiacr kbdiacr [256 ]; /* MAX_DIACR from keyboard.h */
126
127
};
127
- #define KDGKBDIACR 0x4B4A /* read kernel accent table */
128
- #define KDSKBDIACR 0x4B4B /* write kernel accent table */
128
+ #define KDGKBDIACR _IO(KD_IOCTL_BASE, 0x4A) /* read kernel accent table */
129
+ #define KDSKBDIACR _IO(KD_IOCTL_BASE, 0x4B) /* write kernel accent table */
129
130
130
131
struct kbdiacruc {
131
132
unsigned int diacr , base , result ;
@@ -134,27 +135,28 @@ struct kbdiacrsuc {
134
135
unsigned int kb_cnt ; /* number of entries in following array */
135
136
struct kbdiacruc kbdiacruc [256 ]; /* MAX_DIACR from keyboard.h */
136
137
};
137
- #define KDGKBDIACRUC 0x4BFA /* read kernel accent table - UCS */
138
- #define KDSKBDIACRUC 0x4BFB /* write kernel accent table - UCS */
138
+ #define KDGKBDIACRUC _IO(KD_IOCTL_BASE, 0xFA) /* read kernel accent table - UCS */
139
+ #define KDSKBDIACRUC _IO(KD_IOCTL_BASE, 0xFB) /* write kernel accent table - UCS */
139
140
140
141
struct kbkeycode {
141
142
unsigned int scancode , keycode ;
142
143
};
143
- #define KDGETKEYCODE 0x4B4C /* read kernel keycode table entry */
144
- #define KDSETKEYCODE 0x4B4D /* write kernel keycode table entry */
144
+ #define KDGETKEYCODE _IO(KD_IOCTL_BASE, 0x4C) /* read kernel keycode table entry */
145
+ #define KDSETKEYCODE _IO(KD_IOCTL_BASE, 0x4D) /* write kernel keycode table entry */
145
146
146
- #define KDSIGACCEPT 0x4B4E /* accept kbd generated signals */
147
+ #define KDSIGACCEPT _IO(KD_IOCTL_BASE, 0x4E) /* accept kbd generated signals */
147
148
148
149
struct kbd_repeat {
149
150
int delay ; /* in msec; <= 0: don't change */
150
151
int period ; /* in msec; <= 0: don't change */
151
152
/* earlier this field was misnamed "rate" */
152
153
};
153
154
154
- #define KDKBDREP 0x4B52 /* set keyboard delay/repeat rate;
155
- * actually used values are returned */
155
+ #define KDKBDREP _IO(KD_IOCTL_BASE, 0x52) /* set keyboard delay/repeat rate;
156
+ * actually used values are returned
157
+ */
156
158
157
- #define KDFONTOP 0x4B72 /* font operations */
159
+ #define KDFONTOP _IO(KD_IOCTL_BASE, 0x72) /* font operations */
158
160
159
161
struct console_font_op {
160
162
unsigned int op ; /* operation code KD_FONT_OP_* */
0 commit comments