1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
2 | #ifndef _UAPI_ASM_GENERIC_TERMIOS_H |
3 | #define _UAPI_ASM_GENERIC_TERMIOS_H |
4 | /* |
5 | * Most architectures have straight copies of the x86 code, with |
6 | * varying levels of bug fixes on top. Usually it's a good idea |
7 | * to use this generic version instead, but be careful to avoid |
8 | * ABI changes. |
9 | * New architectures should not provide their own version. |
10 | */ |
11 | |
12 | #include <asm/termbits.h> |
13 | #include <asm/ioctls.h> |
14 | |
15 | struct winsize { |
16 | unsigned short ws_row; |
17 | unsigned short ws_col; |
18 | unsigned short ws_xpixel; |
19 | unsigned short ws_ypixel; |
20 | }; |
21 | |
22 | #define NCC 8 |
23 | struct termio { |
24 | unsigned short c_iflag; /* input mode flags */ |
25 | unsigned short c_oflag; /* output mode flags */ |
26 | unsigned short c_cflag; /* control mode flags */ |
27 | unsigned short c_lflag; /* local mode flags */ |
28 | unsigned char c_line; /* line discipline */ |
29 | unsigned char c_cc[NCC]; /* control characters */ |
30 | }; |
31 | |
32 | /* modem lines */ |
33 | #define TIOCM_LE 0x001 |
34 | #define TIOCM_DTR 0x002 |
35 | #define TIOCM_RTS 0x004 |
36 | #define TIOCM_ST 0x008 |
37 | #define TIOCM_SR 0x010 |
38 | #define TIOCM_CTS 0x020 |
39 | #define TIOCM_CAR 0x040 |
40 | #define TIOCM_RNG 0x080 |
41 | #define TIOCM_DSR 0x100 |
42 | #define TIOCM_CD TIOCM_CAR |
43 | #define TIOCM_RI TIOCM_RNG |
44 | #define TIOCM_OUT1 0x2000 |
45 | #define TIOCM_OUT2 0x4000 |
46 | #define TIOCM_LOOP 0x8000 |
47 | |
48 | /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ |
49 | |
50 | |
51 | #endif /* _UAPI_ASM_GENERIC_TERMIOS_H */ |
52 | |