1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * This file is subject to the terms and conditions of the GNU General Public 4*4882a593Smuzhiyun * License. See the file "COPYING" in the main directory of this archive 5*4882a593Smuzhiyun * for more details. 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * Copyright (C) 1995, 1996, 2000, 2001 by Ralf Baechle 8*4882a593Smuzhiyun * Copyright (C) 2000, 2001 Silicon Graphics, Inc. 9*4882a593Smuzhiyun */ 10*4882a593Smuzhiyun #ifndef _UAPI_ASM_TERMIOS_H 11*4882a593Smuzhiyun #define _UAPI_ASM_TERMIOS_H 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #include <linux/errno.h> 14*4882a593Smuzhiyun #include <asm/termbits.h> 15*4882a593Smuzhiyun #include <asm/ioctls.h> 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun struct sgttyb { 18*4882a593Smuzhiyun char sg_ispeed; 19*4882a593Smuzhiyun char sg_ospeed; 20*4882a593Smuzhiyun char sg_erase; 21*4882a593Smuzhiyun char sg_kill; 22*4882a593Smuzhiyun int sg_flags; /* SGI special - int, not short */ 23*4882a593Smuzhiyun }; 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun struct tchars { 26*4882a593Smuzhiyun char t_intrc; 27*4882a593Smuzhiyun char t_quitc; 28*4882a593Smuzhiyun char t_startc; 29*4882a593Smuzhiyun char t_stopc; 30*4882a593Smuzhiyun char t_eofc; 31*4882a593Smuzhiyun char t_brkc; 32*4882a593Smuzhiyun }; 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun struct ltchars { 35*4882a593Smuzhiyun char t_suspc; /* stop process signal */ 36*4882a593Smuzhiyun char t_dsuspc; /* delayed stop process signal */ 37*4882a593Smuzhiyun char t_rprntc; /* reprint line */ 38*4882a593Smuzhiyun char t_flushc; /* flush output (toggles) */ 39*4882a593Smuzhiyun char t_werasc; /* word erase */ 40*4882a593Smuzhiyun char t_lnextc; /* literal next character */ 41*4882a593Smuzhiyun }; 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun /* TIOCGSIZE, TIOCSSIZE not defined yet. Only needed for SunOS source 44*4882a593Smuzhiyun compatibility anyway ... */ 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun struct winsize { 47*4882a593Smuzhiyun unsigned short ws_row; 48*4882a593Smuzhiyun unsigned short ws_col; 49*4882a593Smuzhiyun unsigned short ws_xpixel; 50*4882a593Smuzhiyun unsigned short ws_ypixel; 51*4882a593Smuzhiyun }; 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun #define NCC 8 54*4882a593Smuzhiyun struct termio { 55*4882a593Smuzhiyun unsigned short c_iflag; /* input mode flags */ 56*4882a593Smuzhiyun unsigned short c_oflag; /* output mode flags */ 57*4882a593Smuzhiyun unsigned short c_cflag; /* control mode flags */ 58*4882a593Smuzhiyun unsigned short c_lflag; /* local mode flags */ 59*4882a593Smuzhiyun char c_line; /* line discipline */ 60*4882a593Smuzhiyun unsigned char c_cc[NCCS]; /* control characters */ 61*4882a593Smuzhiyun }; 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun /* modem lines */ 65*4882a593Smuzhiyun #define TIOCM_LE 0x001 /* line enable */ 66*4882a593Smuzhiyun #define TIOCM_DTR 0x002 /* data terminal ready */ 67*4882a593Smuzhiyun #define TIOCM_RTS 0x004 /* request to send */ 68*4882a593Smuzhiyun #define TIOCM_ST 0x010 /* secondary transmit */ 69*4882a593Smuzhiyun #define TIOCM_SR 0x020 /* secondary receive */ 70*4882a593Smuzhiyun #define TIOCM_CTS 0x040 /* clear to send */ 71*4882a593Smuzhiyun #define TIOCM_CAR 0x100 /* carrier detect */ 72*4882a593Smuzhiyun #define TIOCM_CD TIOCM_CAR 73*4882a593Smuzhiyun #define TIOCM_RNG 0x200 /* ring */ 74*4882a593Smuzhiyun #define TIOCM_RI TIOCM_RNG 75*4882a593Smuzhiyun #define TIOCM_DSR 0x400 /* data set ready */ 76*4882a593Smuzhiyun #define TIOCM_OUT1 0x2000 77*4882a593Smuzhiyun #define TIOCM_OUT2 0x4000 78*4882a593Smuzhiyun #define TIOCM_LOOP 0x8000 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun #endif /* _UAPI_ASM_TERMIOS_H */ 82