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