1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/*
3 * Copyright (C) 1999-2002 Vojtech Pavlik
4*
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 as published by
7 * the Free Software Foundation.
8 */
9#ifndef _UAPI_SERIO_H
10#define _UAPI_SERIO_H
11
12#include <linux/const.h>
13#include <linux/ioctl.h>
14
15#define SPIOCSTYPE	_IOW('q', 0x01, unsigned long)
16
17
18/*
19 * bit masks for use in "interrupt" flags (3rd argument)
20 */
21#define SERIO_TIMEOUT	_BITUL(0)
22#define SERIO_PARITY	_BITUL(1)
23#define SERIO_FRAME	_BITUL(2)
24#define SERIO_OOB_DATA	_BITUL(3)
25
26/*
27 * Serio types
28 */
29#define SERIO_XT	0x00
30#define SERIO_8042	0x01
31#define SERIO_RS232	0x02
32#define SERIO_HIL_MLC	0x03
33#define SERIO_PS_PSTHRU	0x05
34#define SERIO_8042_XL	0x06
35
36/*
37 * Serio protocols
38 */
39#define SERIO_UNKNOWN	0x00
40#define SERIO_MSC	0x01
41#define SERIO_SUN	0x02
42#define SERIO_MS	0x03
43#define SERIO_MP	0x04
44#define SERIO_MZ	0x05
45#define SERIO_MZP	0x06
46#define SERIO_MZPP	0x07
47#define SERIO_VSXXXAA	0x08
48#define SERIO_SUNKBD	0x10
49#define SERIO_WARRIOR	0x18
50#define SERIO_SPACEORB	0x19
51#define SERIO_MAGELLAN	0x1a
52#define SERIO_SPACEBALL	0x1b
53#define SERIO_GUNZE	0x1c
54#define SERIO_IFORCE	0x1d
55#define SERIO_STINGER	0x1e
56#define SERIO_NEWTON	0x1f
57#define SERIO_STOWAWAY	0x20
58#define SERIO_H3600	0x21
59#define SERIO_PS2SER	0x22
60#define SERIO_TWIDKBD	0x23
61#define SERIO_TWIDJOY	0x24
62#define SERIO_HIL	0x25
63#define SERIO_SNES232	0x26
64#define SERIO_SEMTECH	0x27
65#define SERIO_LKKBD	0x28
66#define SERIO_ELO	0x29
67#define SERIO_MICROTOUCH	0x30
68#define SERIO_PENMOUNT	0x31
69#define SERIO_TOUCHRIGHT	0x32
70#define SERIO_TOUCHWIN	0x33
71#define SERIO_TAOSEVM	0x34
72#define SERIO_FUJITSU	0x35
73#define SERIO_ZHENHUA	0x36
74#define SERIO_INEXIO	0x37
75#define SERIO_TOUCHIT213	0x38
76#define SERIO_W8001	0x39
77#define SERIO_DYNAPRO	0x3a
78#define SERIO_HAMPSHIRE	0x3b
79#define SERIO_PS2MULT	0x3c
80#define SERIO_TSC40	0x3d
81#define SERIO_WACOM_IV	0x3e
82#define SERIO_EGALAX	0x3f
83#define SERIO_PULSE8_CEC	0x40
84#define SERIO_RAINSHADOW_CEC	0x41
85#define SERIO_FSIA6B	0x42
86
87#endif /* _UAPI_SERIO_H */
88