1 /* $NetBSD: wsdisplay_usl_io.h,v 1.5 2019/02/26 10:30:28 msaitoh Exp $ */
2 
3 #ifndef _DEV_WSCONS_WSDISPLAY_USL_IO_H_
4 #define _DEV_WSCONS_WSDISPLAY_USL_IO_H_
5 
6 #include <sys/ioccom.h>
7 
8 #define VT_OPENQRY  _IOR('v', 1, int)
9 #define VT_SETMODE  _IOW('v', 2, vtmode_t)
10 #define VT_GETMODE  _IOR('v', 3, vtmode_t)
11 
12 struct vt_mode {
13           char      mode;
14 #define VT_AUTO               0                   /* switching controlled by drvr         */
15 #define VT_PROCESS  1                   /* switching controlled by prog */
16 
17           char      waitv;                        /* not implemented yet        SOS       */
18           short     relsig;
19           short     acqsig;
20           short     frsig;                        /* not implemented yet        SOS       */
21 };
22 
23 typedef struct vt_mode vtmode_t;
24 
25 #define VT_RELDISP  _IO('v', 4)
26 #define VT_FALSE    0                   /* release of VT refused */
27 #define VT_TRUE               1                   /* VT released */
28 #define VT_ACKACQ   2                   /* acknowledging VT acquiration */
29 
30 #define VT_ACTIVATE _IO('v', 5)
31 #define VT_WAITACTIVE         _IO('v', 6)
32 #define VT_GETACTIVE          _IOR('v', 7, int)
33 
34 #define VT_GETSTATE _IOR('v', 100, struct vt_stat)
35 struct vt_stat {
36           unsigned short v_active;      /* active vt */
37           unsigned short v_signal;      /* signal to send */
38           unsigned short v_state;                 /* vt bitmask */
39 };
40 
41 #define KDGETKBENT  _IOWR('K', 4, struct kbentry)
42 struct kbentry {
43           unchar    kb_table; /* which table to use */
44           unchar    kb_index; /* which entry in table */
45           ushort    kb_value; /* value to get/set in table */
46 };
47 
48 #define KDGKBMODE   _IOR('K', 6, int)   /* get keyboard mode */
49 
50 #define KDSKBMODE   _IO('K', 7)                   /* set keyboard mode */
51 #define K_RAW                 0                   /* kbd switched to raw mode */
52 #define K_XLATE               1                   /* kbd switched to "normal" mode */
53 
54 #define KDMKTONE    _IO('K', 8)
55 
56 #define KDSETMODE   _IO('K', 10)
57 #define KD_TEXT               0                   /* set text mode restore fonts  */
58 #define KD_GRAPHICS 1                   /* set graphics mode                    */
59 
60 #define KDENABIO    _IO('K', 60) /* only allowed if euid == 0 */
61 #define KDDISABIO   _IO('K', 61)
62 
63 #define KDGKBTYPE   _IOR('K', 64, char)
64 #define KB_84                 1
65 #define KB_101                2
66 #define KB_OTHER    3
67 
68 #define KDGETLED    _IOR('K', 65, int)
69 #define KDSETLED    _IO('K', 66)
70 #define LED_CAP               1
71 #define LED_NUM               2
72 #define LED_SCR               4
73 
74 #define KDSETRAD    _IO('K', 67)
75 
76 /* pcvt compatibility */
77 #define VGAPCVTID   _IOWR('V', 113, struct pcvtid)          /* get driver id */
78 
79 struct pcvtid {
80 #define PCVTIDNAMELN  16                /* driver id - string length  */
81           char name[PCVTIDNAMELN];      /* driver name                          */
82           int rmajor;                             /* revision number, major     */
83           int rminor;                             /* revision number, minor     */
84 };
85 
86 /* syscons compatibility */
87 #define CONS_GETVERS          _IOR('c', 74, int)
88 
89 #endif /* _DEV_WSCONS_WSDISPLAY_USL_IO_H_ */
90