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