1#define _IOC(a,b,c,d) ( ((a)<<29) | ((b)<<8) | (c) | ((d)<<16) )
2#define _IOC_NONE  1U
3#define _IOC_READ  2U
4#define _IOC_WRITE 4U
5
6#define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0)
7#define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c))
8#define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c))
9#define _IOWR(a,b,c) _IOC(_IOC_READ|_IOC_WRITE,(a),(b),sizeof(c))
10
11#define TCGETA		0x5401
12#define TCSETA		0x5402
13#define TCSETAW		0x5403
14#define TCSETAF		0x5404
15#define TCSBRK		0x5405
16#define TCXONC		0x5406
17#define TCFLSH		0x5407
18#define TCGETS		0x540D
19#define TCSETS		0x540E
20#define TCSETSW		0x540F
21#define TCSETSF		0x5410
22
23#define TIOCEXCL	0x740D
24#define TIOCNXCL	0x740E
25#define TIOCOUTQ	0x7472
26#define TIOCSTI		0x5472
27#define TIOCMGET	0x741D
28#define TIOCMBIS	0x741B
29#define TIOCMBIC	0x741C
30#define TIOCMSET	0x741A
31
32#define TIOCPKT		0x5470
33#define TIOCSWINSZ	_IOW('t', 103, struct winsize)
34#define TIOCGWINSZ	_IOR('t', 104, struct winsize)
35#define TIOCNOTTY	0x5471
36#define TIOCSETD	0x7401
37#define TIOCGETD	0x7400
38
39#define FIOCLEX		0x6601
40#define FIONCLEX	0x6602
41#define FIOASYNC	0x667D
42#define FIONBIO		0x667E
43#define FIOQSIZE	0x667F
44
45#define TIOCGLTC        0x7474
46#define TIOCSLTC        0x7475
47#define TIOCSPGRP	_IOW('t', 118, int)
48#define TIOCGPGRP	_IOR('t', 119, int)
49#define TIOCCONS	_IOW('t', 120, int)
50
51#define FIONREAD	0x467F
52#define TIOCINQ		FIONREAD
53
54#define TIOCGETP        0x7408
55#define TIOCSETP        0x7409
56#define TIOCSETN        0x740A
57
58#define TIOCSBRK	0x5427
59#define TIOCCBRK	0x5428
60#define TIOCGSID	0x7416
61#define TIOCGRS485	_IOR('T', 0x2E, char[32])
62#define TIOCSRS485	_IOWR('T', 0x2F, char[32])
63#define TIOCGPTN	_IOR('T', 0x30, unsigned int)
64#define TIOCSPTLCK	_IOW('T', 0x31, int)
65#define TIOCGDEV	_IOR('T', 0x32, unsigned int)
66#define TIOCSIG		_IOW('T', 0x36, int)
67#define TIOCVHANGUP	0x5437
68#define TIOCGPKT	_IOR('T', 0x38, int)
69#define TIOCGPTLCK	_IOR('T', 0x39, int)
70#define TIOCGEXCL	_IOR('T', 0x40, int)
71
72#define TIOCSCTTY	0x5480
73#define TIOCGSOFTCAR	0x5481
74#define TIOCSSOFTCAR	0x5482
75#define TIOCLINUX	0x5483
76#define TIOCGSERIAL	0x5484
77#define TIOCSSERIAL	0x5485
78#define TCSBRKP		0x5486
79
80#define TIOCSERCONFIG	0x5488
81#define TIOCSERGWILD	0x5489
82#define TIOCSERSWILD	0x548A
83#define TIOCGLCKTRMIOS	0x548B
84#define TIOCSLCKTRMIOS	0x548C
85#define TIOCSERGSTRUCT	0x548D
86#define TIOCSERGETLSR   0x548E
87#define TIOCSERGETMULTI 0x548F
88#define TIOCSERSETMULTI 0x5490
89#define TIOCMIWAIT	0x5491
90#define TIOCGICOUNT	0x5492
91
92#define TIOCPKT_DATA		 0
93#define TIOCPKT_FLUSHREAD	 1
94#define TIOCPKT_FLUSHWRITE	 2
95#define TIOCPKT_STOP		 4
96#define TIOCPKT_START		 8
97#define TIOCPKT_NOSTOP		16
98#define TIOCPKT_DOSTOP		32
99#define TIOCPKT_IOCTL		64
100
101#define TIOCSER_TEMT    0x01
102
103struct winsize {
104	unsigned short ws_row;
105	unsigned short ws_col;
106	unsigned short ws_xpixel;
107	unsigned short ws_ypixel;
108};
109
110#define TIOCM_LE	0x001
111#define TIOCM_DTR	0x002
112#define TIOCM_RTS	0x004
113#define TIOCM_ST	0x010
114#define TIOCM_SR	0x020
115#define TIOCM_CTS	0x040
116#define TIOCM_CAR	0x100
117#define TIOCM_CD	TIOCM_CAR
118#define TIOCM_RNG	0x200
119#define TIOCM_RI	TIOCM_RNG
120#define TIOCM_DSR	0x400
121#define TIOCM_OUT1	0x2000
122#define TIOCM_OUT2	0x4000
123#define TIOCM_LOOP	0x8000
124
125#define N_TTY           0
126#define N_SLIP          1
127#define N_MOUSE         2
128#define N_PPP           3
129#define N_STRIP         4
130#define N_AX25          5
131#define N_X25           6
132#define N_6PACK         7
133#define N_MASC          8
134#define N_R3964         9
135#define N_PROFIBUS_FDL  10
136#define N_IRDA          11
137#define N_SMSBLOCK      12
138#define N_HDLC          13
139#define N_SYNC_PPP      14
140#define N_HCI           15
141
142#define FIOSETOWN       0x8901
143#define SIOCSPGRP       0x8902
144#define FIOGETOWN       0x8903
145#define SIOCGPGRP       0x8904
146#define SIOCATMARK      0x8905
147#define SIOCGSTAMP      0x8906
148
149#define SIOCADDRT       0x890B
150#define SIOCDELRT       0x890C
151#define SIOCRTMSG       0x890D
152
153#define SIOCGIFNAME     0x8910
154#define SIOCSIFLINK     0x8911
155#define SIOCGIFCONF     0x8912
156#define SIOCGIFFLAGS    0x8913
157#define SIOCSIFFLAGS    0x8914
158#define SIOCGIFADDR     0x8915
159#define SIOCSIFADDR     0x8916
160#define SIOCGIFDSTADDR  0x8917
161#define SIOCSIFDSTADDR  0x8918
162#define SIOCGIFBRDADDR  0x8919
163#define SIOCSIFBRDADDR  0x891a
164#define SIOCGIFNETMASK  0x891b
165#define SIOCSIFNETMASK  0x891c
166#define SIOCGIFMETRIC   0x891d
167#define SIOCSIFMETRIC   0x891e
168#define SIOCGIFMEM      0x891f
169#define SIOCSIFMEM      0x8920
170#define SIOCGIFMTU      0x8921
171#define SIOCSIFMTU      0x8922
172#define SIOCSIFNAME     0x8923
173#define SIOCSIFHWADDR   0x8924
174#define SIOCGIFENCAP    0x8925
175#define SIOCSIFENCAP    0x8926
176#define SIOCGIFHWADDR   0x8927
177#define SIOCGIFSLAVE    0x8929
178#define SIOCSIFSLAVE    0x8930
179#define SIOCADDMULTI    0x8931
180#define SIOCDELMULTI    0x8932
181#define SIOCGIFINDEX    0x8933
182#define SIOGIFINDEX     SIOCGIFINDEX
183#define SIOCSIFPFLAGS   0x8934
184#define SIOCGIFPFLAGS   0x8935
185#define SIOCDIFADDR     0x8936
186#define SIOCSIFHWBROADCAST 0x8937
187#define SIOCGIFCOUNT    0x8938
188
189#define SIOCGIFBR       0x8940
190#define SIOCSIFBR       0x8941
191
192#define SIOCGIFTXQLEN   0x8942
193#define SIOCSIFTXQLEN   0x8943
194
195#define SIOCDARP        0x8953
196#define SIOCGARP        0x8954
197#define SIOCSARP        0x8955
198
199#define SIOCDRARP       0x8960
200#define SIOCGRARP       0x8961
201#define SIOCSRARP       0x8962
202
203#define SIOCGIFMAP      0x8970
204#define SIOCSIFMAP      0x8971
205
206#define SIOCADDDLCI     0x8980
207#define SIOCDELDLCI     0x8981
208
209#define SIOCDEVPRIVATE		0x89F0
210#define SIOCPROTOPRIVATE	0x89E0
211