blob: 441e4dc2323c5ed9ebc5e197bf4b916c51e72f4c [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Ben Cheng655a7c02013-10-16 16:09:24 -07007#ifndef _UAPI_LINUX_KD_H
8#define _UAPI_LINUX_KD_H
9#include <linux/types.h>
10#include <linux/compiler.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070011#define GIO_FONT 0x4B60
12#define PIO_FONT 0x4B61
13#define GIO_FONTX 0x4B6B
14#define PIO_FONTX 0x4B6C
Ben Cheng655a7c02013-10-16 16:09:24 -070015struct consolefontdesc {
Tao Baod7db5942015-01-28 10:07:51 -080016 unsigned short charcount;
17 unsigned short charheight;
Elliott Hughes0f0c18f2023-03-29 15:53:31 -070018 char * chardata;
Ben Cheng655a7c02013-10-16 16:09:24 -070019};
20#define PIO_FONTRESET 0x4B6D
21#define GIO_CMAP 0x4B70
22#define PIO_CMAP 0x4B71
Ben Cheng655a7c02013-10-16 16:09:24 -070023#define KIOCSOUND 0x4B2F
24#define KDMKTONE 0x4B30
25#define KDGETLED 0x4B31
26#define KDSETLED 0x4B32
Ben Cheng655a7c02013-10-16 16:09:24 -070027#define LED_SCR 0x01
28#define LED_NUM 0x02
29#define LED_CAP 0x04
30#define KDGKBTYPE 0x4B33
Ben Cheng655a7c02013-10-16 16:09:24 -070031#define KB_84 0x01
32#define KB_101 0x02
33#define KB_OTHER 0x03
34#define KDADDIO 0x4B34
Ben Cheng655a7c02013-10-16 16:09:24 -070035#define KDDELIO 0x4B35
36#define KDENABIO 0x4B36
37#define KDDISABIO 0x4B37
38#define KDSETMODE 0x4B3A
Ben Cheng655a7c02013-10-16 16:09:24 -070039#define KD_TEXT 0x00
40#define KD_GRAPHICS 0x01
41#define KD_TEXT0 0x02
42#define KD_TEXT1 0x03
Ben Cheng655a7c02013-10-16 16:09:24 -070043#define KDGETMODE 0x4B3B
44#define KDMAPDISP 0x4B3C
45#define KDUNMAPDISP 0x4B3D
46typedef char scrnmap_t;
Ben Cheng655a7c02013-10-16 16:09:24 -070047#define E_TABSZ 256
48#define GIO_SCRNMAP 0x4B40
49#define PIO_SCRNMAP 0x4B41
50#define GIO_UNISCRNMAP 0x4B69
Ben Cheng655a7c02013-10-16 16:09:24 -070051#define PIO_UNISCRNMAP 0x4B6A
52#define GIO_UNIMAP 0x4B66
53struct unipair {
Tao Baod7db5942015-01-28 10:07:51 -080054 unsigned short unicode;
Tao Baod7db5942015-01-28 10:07:51 -080055 unsigned short fontpos;
Ben Cheng655a7c02013-10-16 16:09:24 -070056};
57struct unimapdesc {
Tao Baod7db5942015-01-28 10:07:51 -080058 unsigned short entry_ct;
Elliott Hughes0f0c18f2023-03-29 15:53:31 -070059 struct unipair * entries;
Ben Cheng655a7c02013-10-16 16:09:24 -070060};
61#define PIO_UNIMAP 0x4B67
62#define PIO_UNIMAPCLR 0x4B68
Ben Cheng655a7c02013-10-16 16:09:24 -070063struct unimapinit {
Tao Baod7db5942015-01-28 10:07:51 -080064 unsigned short advised_hashsize;
65 unsigned short advised_hashstep;
66 unsigned short advised_hashlevel;
Ben Cheng655a7c02013-10-16 16:09:24 -070067};
68#define UNI_DIRECT_BASE 0xF000
69#define UNI_DIRECT_MASK 0x01FF
70#define K_RAW 0x00
Ben Cheng655a7c02013-10-16 16:09:24 -070071#define K_XLATE 0x01
72#define K_MEDIUMRAW 0x02
73#define K_UNICODE 0x03
74#define K_OFF 0x04
Ben Cheng655a7c02013-10-16 16:09:24 -070075#define KDGKBMODE 0x4B44
76#define KDSKBMODE 0x4B45
77#define K_METABIT 0x03
78#define K_ESCPREFIX 0x04
Ben Cheng655a7c02013-10-16 16:09:24 -070079#define KDGKBMETA 0x4B62
80#define KDSKBMETA 0x4B63
81#define K_SCROLLLOCK 0x01
82#define K_NUMLOCK 0x02
Ben Cheng655a7c02013-10-16 16:09:24 -070083#define K_CAPSLOCK 0x04
84#define KDGKBLED 0x4B64
85#define KDSKBLED 0x4B65
86struct kbentry {
Tao Baod7db5942015-01-28 10:07:51 -080087 unsigned char kb_table;
88 unsigned char kb_index;
89 unsigned short kb_value;
Ben Cheng655a7c02013-10-16 16:09:24 -070090};
Ben Cheng655a7c02013-10-16 16:09:24 -070091#define K_NORMTAB 0x00
92#define K_SHIFTTAB 0x01
93#define K_ALTTAB 0x02
94#define K_ALTSHIFTTAB 0x03
Ben Cheng655a7c02013-10-16 16:09:24 -070095#define KDGKBENT 0x4B46
96#define KDSKBENT 0x4B47
97struct kbsentry {
Tao Baod7db5942015-01-28 10:07:51 -080098 unsigned char kb_func;
Tao Baod7db5942015-01-28 10:07:51 -080099 unsigned char kb_string[512];
Ben Cheng655a7c02013-10-16 16:09:24 -0700100};
101#define KDGKBSENT 0x4B48
102#define KDSKBSENT 0x4B49
Ben Cheng655a7c02013-10-16 16:09:24 -0700103struct kbdiacr {
Tao Baod7db5942015-01-28 10:07:51 -0800104 unsigned char diacr, base, result;
Ben Cheng655a7c02013-10-16 16:09:24 -0700105};
106struct kbdiacrs {
Tao Baod7db5942015-01-28 10:07:51 -0800107 unsigned int kb_cnt;
108 struct kbdiacr kbdiacr[256];
Ben Cheng655a7c02013-10-16 16:09:24 -0700109};
110#define KDGKBDIACR 0x4B4A
Ben Cheng655a7c02013-10-16 16:09:24 -0700111#define KDSKBDIACR 0x4B4B
112struct kbdiacruc {
Tao Baod7db5942015-01-28 10:07:51 -0800113 unsigned int diacr, base, result;
Ben Cheng655a7c02013-10-16 16:09:24 -0700114};
Ben Cheng655a7c02013-10-16 16:09:24 -0700115struct kbdiacrsuc {
Tao Baod7db5942015-01-28 10:07:51 -0800116 unsigned int kb_cnt;
117 struct kbdiacruc kbdiacruc[256];
Ben Cheng655a7c02013-10-16 16:09:24 -0700118};
Ben Cheng655a7c02013-10-16 16:09:24 -0700119#define KDGKBDIACRUC 0x4BFA
120#define KDSKBDIACRUC 0x4BFB
121struct kbkeycode {
Tao Baod7db5942015-01-28 10:07:51 -0800122 unsigned int scancode, keycode;
Ben Cheng655a7c02013-10-16 16:09:24 -0700123};
124#define KDGETKEYCODE 0x4B4C
125#define KDSETKEYCODE 0x4B4D
126#define KDSIGACCEPT 0x4B4E
Ben Cheng655a7c02013-10-16 16:09:24 -0700127struct kbd_repeat {
Tao Baod7db5942015-01-28 10:07:51 -0800128 int delay;
129 int period;
Ben Cheng655a7c02013-10-16 16:09:24 -0700130};
Ben Cheng655a7c02013-10-16 16:09:24 -0700131#define KDKBDREP 0x4B52
132#define KDFONTOP 0x4B72
133struct console_font_op {
Tao Baod7db5942015-01-28 10:07:51 -0800134 unsigned int op;
Tao Baod7db5942015-01-28 10:07:51 -0800135 unsigned int flags;
136 unsigned int width, height;
137 unsigned int charcount;
Elliott Hughes0f0c18f2023-03-29 15:53:31 -0700138 unsigned char * data;
Ben Cheng655a7c02013-10-16 16:09:24 -0700139};
140struct console_font {
Tao Baod7db5942015-01-28 10:07:51 -0800141 unsigned int width, height;
142 unsigned int charcount;
Tao Baod7db5942015-01-28 10:07:51 -0800143 unsigned char * data;
Ben Cheng655a7c02013-10-16 16:09:24 -0700144};
145#define KD_FONT_OP_SET 0
146#define KD_FONT_OP_GET 1
Ben Cheng655a7c02013-10-16 16:09:24 -0700147#define KD_FONT_OP_SET_DEFAULT 2
148#define KD_FONT_OP_COPY 3
Christopher Ferrisb7cef6d2023-05-09 19:04:15 +0000149#define KD_FONT_OP_SET_TALL 4
150#define KD_FONT_OP_GET_TALL 5
Ben Cheng655a7c02013-10-16 16:09:24 -0700151#define KD_FONT_FLAG_DONT_RECALC 1
152#endif