Linux-libre 4.4.228-gnu
[librecmc/linux-libre.git] / arch / mips / include / uapi / asm / termios.h
1 /*
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
16 struct 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
24 struct 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
33 struct ltchars {
34         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 */
40 };
41
42 /* TIOCGSIZE, TIOCSSIZE not defined yet.  Only needed for SunOS source
43    compatibility anyway ... */
44
45 struct 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
53 struct 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 */