This source file includes following definitions.
- trans_from_termio
- trans_to_termio
1 #ifndef _I386_TERMIOS_H
2 #define _I386_TERMIOS_H
3
4 #include <asm/termbits.h>
5 #include <asm/ioctls.h>
6
7 struct winsize {
8 unsigned short ws_row;
9 unsigned short ws_col;
10 unsigned short ws_xpixel;
11 unsigned short ws_ypixel;
12 };
13
14 #define NCC 8
15 struct termio {
16 unsigned short c_iflag;
17 unsigned short c_oflag;
18 unsigned short c_cflag;
19 unsigned short c_lflag;
20 unsigned char c_line;
21 unsigned char c_cc[NCC];
22 };
23
24 #ifdef __KERNEL__
25
26
27
28
29
30
31 #define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0"
32 #endif
33
34
35 #define TIOCM_LE 0x001
36 #define TIOCM_DTR 0x002
37 #define TIOCM_RTS 0x004
38 #define TIOCM_ST 0x008
39 #define TIOCM_SR 0x010
40 #define TIOCM_CTS 0x020
41 #define TIOCM_CAR 0x040
42 #define TIOCM_RNG 0x080
43 #define TIOCM_DSR 0x100
44 #define TIOCM_CD TIOCM_CAR
45 #define TIOCM_RI TIOCM_RNG
46
47
48
49
50 #define N_TTY 0
51 #define N_SLIP 1
52 #define N_MOUSE 2
53 #define N_PPP 3
54 #define N_STRIP 4
55
56 #ifdef __KERNEL__
57
58 #include <linux/string.h>
59
60
61
62
63 extern inline void trans_from_termio(struct termio * termio,
64 struct termios * termios)
65 {
66 #define SET_LOW_BITS(x,y) (*(unsigned short *)(&x) = (y))
67 SET_LOW_BITS(termios->c_iflag, termio->c_iflag);
68 SET_LOW_BITS(termios->c_oflag, termio->c_oflag);
69 SET_LOW_BITS(termios->c_cflag, termio->c_cflag);
70 SET_LOW_BITS(termios->c_lflag, termio->c_lflag);
71 #undef SET_LOW_BITS
72 memcpy(termios->c_cc, termio->c_cc, NCC);
73 }
74
75
76
77
78 extern inline void trans_to_termio(struct termios * termios,
79 struct termio * termio)
80 {
81 termio->c_iflag = termios->c_iflag;
82 termio->c_oflag = termios->c_oflag;
83 termio->c_cflag = termios->c_cflag;
84 termio->c_lflag = termios->c_lflag;
85 termio->c_line = termios->c_line;
86 memcpy(termio->c_cc, termios->c_cc, NCC);
87 }
88
89 #endif
90
91 #endif