termios.h (2145B)
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 17struct 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 25struct 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 34struct 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 46struct 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 54struct 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 */