Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
termios.h
Go to the documentation of this file.
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 */