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