111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _LINUX_KD_H
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _LINUX_KD_H
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/types.h>
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/compiler.h>
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define GIO_FONT 0x4B60
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PIO_FONT 0x4B61
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define GIO_FONTX 0x4B6B
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PIO_FONTX 0x4B6C
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct consolefontdesc {
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short charcount;
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short charheight;
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char __user *chardata;
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PIO_FONTRESET 0x4B6D
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define GIO_CMAP 0x4B70
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PIO_CMAP 0x4B71
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KIOCSOUND 0x4B2F
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDMKTONE 0x4B30
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDGETLED 0x4B31
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDSETLED 0x4B32
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LED_SCR 0x01
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LED_NUM 0x02
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LED_CAP 0x04
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDGKBTYPE 0x4B33
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KB_84 0x01
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KB_101 0x02
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KB_OTHER 0x03
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDADDIO 0x4B34
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDDELIO 0x4B35
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDENABIO 0x4B36
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDDISABIO 0x4B37
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDSETMODE 0x4B3A
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KD_TEXT 0x00
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KD_GRAPHICS 0x01
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KD_TEXT0 0x02
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KD_TEXT1 0x03
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDGETMODE 0x4B3B
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDMAPDISP 0x4B3C
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDUNMAPDISP 0x4B3D
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef char scrnmap_t;
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define E_TABSZ 256
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define GIO_SCRNMAP 0x4B40
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PIO_SCRNMAP 0x4B41
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define GIO_UNISCRNMAP 0x4B69
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PIO_UNISCRNMAP 0x4B6A
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define GIO_UNIMAP 0x4B66
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct unipair {
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short unicode;
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short fontpos;
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct unimapdesc {
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short entry_ct;
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct unipair __user *entries;
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PIO_UNIMAP 0x4B67
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PIO_UNIMAPCLR 0x4B68
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct unimapinit {
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short advised_hashsize;
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short advised_hashstep;
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short advised_hashlevel;
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define UNI_DIRECT_BASE 0xF000
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define UNI_DIRECT_MASK 0x01FF
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K_RAW 0x00
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K_XLATE 0x01
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K_MEDIUMRAW 0x02
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K_UNICODE 0x03
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDGKBMODE 0x4B44
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDSKBMODE 0x4B45
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K_METABIT 0x03
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K_ESCPREFIX 0x04
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDGKBMETA 0x4B62
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDSKBMETA 0x4B63
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K_SCROLLLOCK 0x01
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K_NUMLOCK 0x02
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K_CAPSLOCK 0x04
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDGKBLED 0x4B64
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDSKBLED 0x4B65
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct kbentry {
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char kb_table;
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char kb_index;
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short kb_value;
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K_NORMTAB 0x00
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K_SHIFTTAB 0x01
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K_ALTTAB 0x02
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K_ALTSHIFTTAB 0x03
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDGKBENT 0x4B46
11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDSKBENT 0x4B47
11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct kbsentry {
12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char kb_func;
12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char kb_string[512];
12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDGKBSENT 0x4B48
12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDSKBSENT 0x4B49
12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct kbdiacr {
12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char diacr, base, result;
12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct kbdiacrs {
13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int kb_cnt;
13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct kbdiacr kbdiacr[256];
13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDGKBDIACR 0x4B4A
13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDSKBDIACR 0x4B4B
13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct kbkeycode {
13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int scancode, keycode;
13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDGETKEYCODE 0x4B4C
14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDSETKEYCODE 0x4B4D
14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDSIGACCEPT 0x4B4E
14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct kbd_repeat {
14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int delay;
14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int period;
14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDKBDREP 0x4B52
15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KDFONTOP 0x4B72
15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
15511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct console_font_op {
15611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int op;
15711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int flags;
15811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int width, height;
15911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int charcount;
16011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char __user *data;
16111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
16211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
16311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct console_font {
16411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int width, height;
16511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int charcount;
16611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char *data;
16711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
16811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
16911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KD_FONT_OP_SET 0
17011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KD_FONT_OP_GET 1
17111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KD_FONT_OP_SET_DEFAULT 2
17211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KD_FONT_OP_COPY 3
17311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
17411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KD_FONT_FLAG_DONT_RECALC 1
17511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
17611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
177