1951a39d68df598db08dfced8b4707755864a0492Ying Wang/****************************************************************************
2951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
3951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
4951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   This header was automatically generated from a Linux kernel header
5951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   of the same name, to make information necessary for userspace to
6951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   call into the kernel available to libc.  It contains only constants,
7951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   structures, and macros generated from the original header, and thus,
8951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   contains no copyrightable information.
9951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
10951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/
12951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef _LINUX_KD_H
13951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _LINUX_KD_H
14951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/types.h>
15951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/compiler.h>
16951a39d68df598db08dfced8b4707755864a0492Ying Wang
17951a39d68df598db08dfced8b4707755864a0492Ying Wang#define GIO_FONT 0x4B60
18951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PIO_FONT 0x4B61
19951a39d68df598db08dfced8b4707755864a0492Ying Wang
20951a39d68df598db08dfced8b4707755864a0492Ying Wang#define GIO_FONTX 0x4B6B
21951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PIO_FONTX 0x4B6C
22951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct consolefontdesc {
23951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned short charcount;
24951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned short charheight;
25951a39d68df598db08dfced8b4707755864a0492Ying Wang char __user *chardata;
26951a39d68df598db08dfced8b4707755864a0492Ying Wang};
27951a39d68df598db08dfced8b4707755864a0492Ying Wang
28951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PIO_FONTRESET 0x4B6D
29951a39d68df598db08dfced8b4707755864a0492Ying Wang
30951a39d68df598db08dfced8b4707755864a0492Ying Wang#define GIO_CMAP 0x4B70
31951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PIO_CMAP 0x4B71
32951a39d68df598db08dfced8b4707755864a0492Ying Wang
33951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KIOCSOUND 0x4B2F
34951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDMKTONE 0x4B30
35951a39d68df598db08dfced8b4707755864a0492Ying Wang
36951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDGETLED 0x4B31
37951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDSETLED 0x4B32
38951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LED_SCR 0x01
39951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LED_NUM 0x02
40951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LED_CAP 0x04
41951a39d68df598db08dfced8b4707755864a0492Ying Wang
42951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDGKBTYPE 0x4B33
43951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KB_84 0x01
44951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KB_101 0x02
45951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KB_OTHER 0x03
46951a39d68df598db08dfced8b4707755864a0492Ying Wang
47951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDADDIO 0x4B34
48951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDDELIO 0x4B35
49951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDENABIO 0x4B36
50951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDDISABIO 0x4B37
51951a39d68df598db08dfced8b4707755864a0492Ying Wang
52951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDSETMODE 0x4B3A
53951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KD_TEXT 0x00
54951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KD_GRAPHICS 0x01
55951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KD_TEXT0 0x02
56951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KD_TEXT1 0x03
57951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDGETMODE 0x4B3B
58951a39d68df598db08dfced8b4707755864a0492Ying Wang
59951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDMAPDISP 0x4B3C
60951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDUNMAPDISP 0x4B3D
61951a39d68df598db08dfced8b4707755864a0492Ying Wang
62951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef char scrnmap_t;
63951a39d68df598db08dfced8b4707755864a0492Ying Wang#define E_TABSZ 256
64951a39d68df598db08dfced8b4707755864a0492Ying Wang#define GIO_SCRNMAP 0x4B40
65951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PIO_SCRNMAP 0x4B41
66951a39d68df598db08dfced8b4707755864a0492Ying Wang#define GIO_UNISCRNMAP 0x4B69
67951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PIO_UNISCRNMAP 0x4B6A
68951a39d68df598db08dfced8b4707755864a0492Ying Wang
69951a39d68df598db08dfced8b4707755864a0492Ying Wang#define GIO_UNIMAP 0x4B66
70951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct unipair {
71951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned short unicode;
72951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned short fontpos;
73951a39d68df598db08dfced8b4707755864a0492Ying Wang};
74951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct unimapdesc {
75951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned short entry_ct;
76951a39d68df598db08dfced8b4707755864a0492Ying Wang struct unipair __user *entries;
77951a39d68df598db08dfced8b4707755864a0492Ying Wang};
78951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PIO_UNIMAP 0x4B67
79951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PIO_UNIMAPCLR 0x4B68
80951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct unimapinit {
81951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned short advised_hashsize;
82951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned short advised_hashstep;
83951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned short advised_hashlevel;
84951a39d68df598db08dfced8b4707755864a0492Ying Wang};
85951a39d68df598db08dfced8b4707755864a0492Ying Wang
86951a39d68df598db08dfced8b4707755864a0492Ying Wang#define UNI_DIRECT_BASE 0xF000
87951a39d68df598db08dfced8b4707755864a0492Ying Wang#define UNI_DIRECT_MASK 0x01FF
88951a39d68df598db08dfced8b4707755864a0492Ying Wang
89951a39d68df598db08dfced8b4707755864a0492Ying Wang#define K_RAW 0x00
90951a39d68df598db08dfced8b4707755864a0492Ying Wang#define K_XLATE 0x01
91951a39d68df598db08dfced8b4707755864a0492Ying Wang#define K_MEDIUMRAW 0x02
92951a39d68df598db08dfced8b4707755864a0492Ying Wang#define K_UNICODE 0x03
93951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDGKBMODE 0x4B44
94951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDSKBMODE 0x4B45
95951a39d68df598db08dfced8b4707755864a0492Ying Wang
96951a39d68df598db08dfced8b4707755864a0492Ying Wang#define K_METABIT 0x03
97951a39d68df598db08dfced8b4707755864a0492Ying Wang#define K_ESCPREFIX 0x04
98951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDGKBMETA 0x4B62
99951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDSKBMETA 0x4B63
100951a39d68df598db08dfced8b4707755864a0492Ying Wang
101951a39d68df598db08dfced8b4707755864a0492Ying Wang#define K_SCROLLLOCK 0x01
102951a39d68df598db08dfced8b4707755864a0492Ying Wang#define K_NUMLOCK 0x02
103951a39d68df598db08dfced8b4707755864a0492Ying Wang#define K_CAPSLOCK 0x04
104951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDGKBLED 0x4B64
105951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDSKBLED 0x4B65
106951a39d68df598db08dfced8b4707755864a0492Ying Wang
107951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct kbentry {
108951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char kb_table;
109951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char kb_index;
110951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned short kb_value;
111951a39d68df598db08dfced8b4707755864a0492Ying Wang};
112951a39d68df598db08dfced8b4707755864a0492Ying Wang#define K_NORMTAB 0x00
113951a39d68df598db08dfced8b4707755864a0492Ying Wang#define K_SHIFTTAB 0x01
114951a39d68df598db08dfced8b4707755864a0492Ying Wang#define K_ALTTAB 0x02
115951a39d68df598db08dfced8b4707755864a0492Ying Wang#define K_ALTSHIFTTAB 0x03
116951a39d68df598db08dfced8b4707755864a0492Ying Wang
117951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDGKBENT 0x4B46
118951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDSKBENT 0x4B47
119951a39d68df598db08dfced8b4707755864a0492Ying Wang
120951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct kbsentry {
121951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char kb_func;
122951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char kb_string[512];
123951a39d68df598db08dfced8b4707755864a0492Ying Wang};
124951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDGKBSENT 0x4B48
125951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDSKBSENT 0x4B49
126951a39d68df598db08dfced8b4707755864a0492Ying Wang
127951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct kbdiacr {
128951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char diacr, base, result;
129951a39d68df598db08dfced8b4707755864a0492Ying Wang};
130951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct kbdiacrs {
131951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int kb_cnt;
132951a39d68df598db08dfced8b4707755864a0492Ying Wang struct kbdiacr kbdiacr[256];
133951a39d68df598db08dfced8b4707755864a0492Ying Wang};
134951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDGKBDIACR 0x4B4A
135951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDSKBDIACR 0x4B4B
136951a39d68df598db08dfced8b4707755864a0492Ying Wang
137951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct kbkeycode {
138951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int scancode, keycode;
139951a39d68df598db08dfced8b4707755864a0492Ying Wang};
140951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDGETKEYCODE 0x4B4C
141951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDSETKEYCODE 0x4B4D
142951a39d68df598db08dfced8b4707755864a0492Ying Wang
143951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDSIGACCEPT 0x4B4E
144951a39d68df598db08dfced8b4707755864a0492Ying Wang
145951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct kbd_repeat {
146951a39d68df598db08dfced8b4707755864a0492Ying Wang int delay;
147951a39d68df598db08dfced8b4707755864a0492Ying Wang int period;
148951a39d68df598db08dfced8b4707755864a0492Ying Wang
149951a39d68df598db08dfced8b4707755864a0492Ying Wang};
150951a39d68df598db08dfced8b4707755864a0492Ying Wang
151951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDKBDREP 0x4B52
152951a39d68df598db08dfced8b4707755864a0492Ying Wang
153951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KDFONTOP 0x4B72
154951a39d68df598db08dfced8b4707755864a0492Ying Wang
155951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct console_font_op {
156951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int op;
157951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int flags;
158951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int width, height;
159951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int charcount;
160951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char __user *data;
161951a39d68df598db08dfced8b4707755864a0492Ying Wang};
162951a39d68df598db08dfced8b4707755864a0492Ying Wang
163951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct console_font {
164951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int width, height;
165951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int charcount;
166951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char *data;
167951a39d68df598db08dfced8b4707755864a0492Ying Wang};
168951a39d68df598db08dfced8b4707755864a0492Ying Wang
169951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KD_FONT_OP_SET 0
170951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KD_FONT_OP_GET 1
171951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KD_FONT_OP_SET_DEFAULT 2
172951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KD_FONT_OP_COPY 3
173951a39d68df598db08dfced8b4707755864a0492Ying Wang
174951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KD_FONT_FLAG_DONT_RECALC 1
175951a39d68df598db08dfced8b4707755864a0492Ying Wang
176951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif
177