termios/os/
linux.rs
1#![allow(non_camel_case_types)]
2
3use libc::{c_int,c_uint,c_uchar};
4
5pub type cc_t = c_uchar;
6pub type speed_t = c_uint;
7pub type tcflag_t = c_uint;
8
9#[derive(Debug,Copy,Clone,Eq,PartialEq)]
10#[repr(C)]
11pub struct termios {
12 pub c_iflag: tcflag_t,
13 pub c_oflag: tcflag_t,
14 pub c_cflag: tcflag_t,
15 pub c_lflag: tcflag_t,
16 c_line: cc_t,
17 pub c_cc: [cc_t; NCCS],
18 c_ispeed: speed_t,
19 c_ospeed: speed_t
20}
21
22pub const NCCS: usize = 32;
23
24pub const VINTR: usize = 0;
26pub const VQUIT: usize = 1;
27pub const VERASE: usize = 2;
28pub const VKILL: usize = 3;
29pub const VEOF: usize = 4;
30pub const VTIME: usize = 5;
31pub const VMIN: usize = 6;
32pub const VSWTC: usize = 7;
33pub const VSTART: usize = 8;
34pub const VSTOP: usize = 9;
35pub const VSUSP: usize = 10;
36pub const VEOL: usize = 11;
37pub const VREPRINT: usize = 12;
38pub const VDISCARD: usize = 13;
39pub const VWERASE: usize = 14;
40pub const VLNEXT: usize = 15;
41pub const VEOL2: usize = 16;
42
43pub const IGNBRK: tcflag_t = 0o000001;
45pub const BRKINT: tcflag_t = 0o000002;
46pub const IGNPAR: tcflag_t = 0o000004;
47pub const PARMRK: tcflag_t = 0o000010;
48pub const INPCK: tcflag_t = 0o000020;
49pub const ISTRIP: tcflag_t = 0o000040;
50pub const INLCR: tcflag_t = 0o000100;
51pub const IGNCR: tcflag_t = 0o000200;
52pub const ICRNL: tcflag_t = 0o000400;
53pub const IUCLC: tcflag_t = 0o001000;
54pub const IXON: tcflag_t = 0o002000;
55pub const IXANY: tcflag_t = 0o004000;
56pub const IXOFF: tcflag_t = 0o010000;
57pub const IMAXBEL: tcflag_t = 0o020000;
58pub const IUTF8: tcflag_t = 0o040000;
59
60pub const OPOST: tcflag_t = 0o000001;
62pub const OLCUC: tcflag_t = 0o000002;
63pub const ONLCR: tcflag_t = 0o000004;
64pub const OCRNL: tcflag_t = 0o000010;
65pub const ONOCR: tcflag_t = 0o000020;
66pub const ONLRET: tcflag_t = 0o000040;
67pub const OFILL: tcflag_t = 0o000100;
68pub const OFDEL: tcflag_t = 0o000200;
69pub const NLDLY: tcflag_t = 0o000400;
70pub const NL0: tcflag_t = 0o000000;
71pub const NL1: tcflag_t = 0o000400;
72pub const CRDLY: tcflag_t = 0o003000;
73pub const CR0: tcflag_t = 0o000000;
74pub const CR1: tcflag_t = 0o001000;
75pub const CR2: tcflag_t = 0o002000;
76pub const CR3: tcflag_t = 0o003000;
77pub const TABDLY: tcflag_t = 0o014000;
78pub const TAB0: tcflag_t = 0o000000;
79pub const TAB1: tcflag_t = 0o004000;
80pub const TAB2: tcflag_t = 0o010000;
81pub const TAB3: tcflag_t = 0o014000;
82pub const BSDLY: tcflag_t = 0o020000;
83pub const BS0: tcflag_t = 0o000000;
84pub const BS1: tcflag_t = 0o020000;
85pub const FFDLY: tcflag_t = 0o100000;
86pub const FF0: tcflag_t = 0o000000;
87pub const FF1: tcflag_t = 0o100000;
88pub const VTDLY: tcflag_t = 0o040000;
89pub const VT0: tcflag_t = 0o000000;
90pub const VT1: tcflag_t = 0o040000;
91pub const XTABS: tcflag_t = 0o014000;
92
93pub const CBAUD: tcflag_t = 0o010017;
95pub const CSIZE: tcflag_t = 0o000060;
96pub const CS5: tcflag_t = 0o000000;
97pub const CS6: tcflag_t = 0o000020;
98pub const CS7: tcflag_t = 0o000040;
99pub const CS8: tcflag_t = 0o000060;
100pub const CSTOPB: tcflag_t = 0o000100;
101pub const CREAD: tcflag_t = 0o000200;
102pub const PARENB: tcflag_t = 0o000400;
103pub const PARODD: tcflag_t = 0o001000;
104pub const HUPCL: tcflag_t = 0o002000;
105pub const CLOCAL: tcflag_t = 0o004000;
106pub const CBAUDEX: tcflag_t = 0o010000;
107pub const CIBAUD: tcflag_t = 0o02003600000;
108pub const CMSPAR: tcflag_t = 0o10000000000;
109pub const CRTSCTS: tcflag_t = 0o20000000000;
110
111pub const ISIG: tcflag_t = 0o000001;
113pub const ICANON: tcflag_t = 0o000002;
114pub const XCASE: tcflag_t = 0o000004;
115pub const ECHO: tcflag_t = 0o000010;
116pub const ECHOE: tcflag_t = 0o000020;
117pub const ECHOK: tcflag_t = 0o000040;
118pub const ECHONL: tcflag_t = 0o000100;
119pub const NOFLSH: tcflag_t = 0o000200;
120pub const TOSTOP: tcflag_t = 0o000400;
121pub const ECHOCTL: tcflag_t = 0o001000;
122pub const ECHOPRT: tcflag_t = 0o002000;
123pub const ECHOKE: tcflag_t = 0o004000;
124pub const FLUSHO: tcflag_t = 0o010000;
125pub const PENDIN: tcflag_t = 0o040000;
126pub const IEXTEN: tcflag_t = 0o100000;
127pub const EXTPROC: tcflag_t = 0o200000;
128
129pub const B0: speed_t = 0o000000;
131pub const B50: speed_t = 0o000001;
132pub const B75: speed_t = 0o000002;
133pub const B110: speed_t = 0o000003;
134pub const B134: speed_t = 0o000004;
135pub const B150: speed_t = 0o000005;
136pub const B200: speed_t = 0o000006;
137pub const B300: speed_t = 0o000007;
138pub const B600: speed_t = 0o000010;
139pub const B1200: speed_t = 0o000011;
140pub const B1800: speed_t = 0o000012;
141pub const B2400: speed_t = 0o000013;
142pub const B4800: speed_t = 0o000014;
143pub const B9600: speed_t = 0o000015;
144pub const B19200: speed_t = 0o000016;
145pub const B38400: speed_t = 0o000017;
146pub const EXTA: speed_t = B19200;
147pub const EXTB: speed_t = B38400;
148pub const B57600: speed_t = 0o010001;
149pub const B115200: speed_t = 0o010002;
150pub const B230400: speed_t = 0o010003;
151pub const B460800: speed_t = 0o010004;
152pub const B500000: speed_t = 0o010005;
153pub const B576000: speed_t = 0o010006;
154pub const B921600: speed_t = 0o010007;
155pub const B1000000: speed_t = 0o010010;
156pub const B1152000: speed_t = 0o010011;
157pub const B1500000: speed_t = 0o010012;
158pub const B2000000: speed_t = 0o010013;
159pub const B2500000: speed_t = 0o010014;
160pub const B3000000: speed_t = 0o010015;
161pub const B3500000: speed_t = 0o010016;
162pub const B4000000: speed_t = 0o010017;
163
164pub const TCOOFF: c_int = 0;
166pub const TCOON: c_int = 1;
167pub const TCIOFF: c_int = 2;
168pub const TCION: c_int = 3;
169
170pub const TCIFLUSH: c_int = 0;
172pub const TCOFLUSH: c_int = 1;
173pub const TCIOFLUSH: c_int = 2;
174
175pub const TCSANOW: c_int = 0;
177pub const TCSADRAIN: c_int = 1;
178pub const TCSAFLUSH: c_int = 2;