|
|
1.1 root 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; /* input mode flags */
17: unsigned short c_oflag; /* output mode flags */
18: unsigned short c_cflag; /* control mode flags */
19: unsigned short c_lflag; /* local mode flags */
20: unsigned char c_line; /* line discipline */
21: unsigned char c_cc[NCC]; /* control characters */
22: };
23:
24: #ifdef __KERNEL__
25: /* intr=^C quit=^\ erase=del kill=^U
26: eof=^D vtime=\0 vmin=\1 sxtc=\0
27: start=^Q stop=^S susp=^Z eol=\0
28: reprint=^R discard=^U werase=^W lnext=^V
29: eol2=\0
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: /* modem lines */
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: /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
48:
49: /* line disciplines */
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: #define N_AX25 5
56:
57: #ifdef __KERNEL__
58:
59: #include <linux/string.h>
60:
61: /*
62: * Translate a "termio" structure into a "termios". Ugh.
63: */
1.1.1.2 ! root 64: static inline void trans_from_termio(struct termio * termio,
1.1 root 65: struct termios * termios)
66: {
67: #define SET_LOW_BITS(x,y) (*(unsigned short *)(&x) = (y))
68: SET_LOW_BITS(termios->c_iflag, termio->c_iflag);
69: SET_LOW_BITS(termios->c_oflag, termio->c_oflag);
70: SET_LOW_BITS(termios->c_cflag, termio->c_cflag);
71: SET_LOW_BITS(termios->c_lflag, termio->c_lflag);
72: #undef SET_LOW_BITS
73: memcpy(termios->c_cc, termio->c_cc, NCC);
74: }
75:
76: /*
77: * Translate a "termios" structure into a "termio". Ugh.
78: */
1.1.1.2 ! root 79: static inline void trans_to_termio(struct termios * termios,
1.1 root 80: struct termio * termio)
81: {
82: termio->c_iflag = termios->c_iflag;
83: termio->c_oflag = termios->c_oflag;
84: termio->c_cflag = termios->c_cflag;
85: termio->c_lflag = termios->c_lflag;
86: termio->c_line = termios->c_line;
87: memcpy(termio->c_cc, termios->c_cc, NCC);
88: }
89:
90: #endif /* __KERNEL__ */
91:
92: #endif /* _I386_TERMIOS_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.