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 */
82