xref: /relibc/src/header/sys_ioctl/dragonos.rs (revision 7016e5c833af9fe4182462e6a86e498cd5e8c738)
1 use crate::platform::{types::*, Sys};
2 
3 #[no_mangle]
ioctl(fd: c_int, request: c_ulong, out: *mut c_void) -> c_int4 pub unsafe extern "C" fn ioctl(fd: c_int, request: c_ulong, out: *mut c_void) -> c_int {
5     // TODO: Somehow support varargs to syscall??
6     Sys::ioctl(fd, request, out)
7 }
8 
9 pub const TCGETS: c_ulong = 0x5401;
10 pub const TCSETS: c_ulong = 0x5402;
11 pub const TCSETSW: c_ulong = 0x5403;
12 pub const TCSETSF: c_ulong = 0x5404;
13 pub const TCGETA: c_ulong = 0x5405;
14 pub const TCSETA: c_ulong = 0x5406;
15 pub const TCSETAW: c_ulong = 0x5407;
16 pub const TCSETAF: c_ulong = 0x5408;
17 pub const TCSBRK: c_ulong = 0x5409;
18 pub const TCXONC: c_ulong = 0x540A;
19 pub const TCFLSH: c_ulong = 0x540B;
20 pub const TIOCEXCL: c_ulong = 0x540C;
21 pub const TIOCNXCL: c_ulong = 0x540D;
22 pub const TIOCSCTTY: c_ulong = 0x540E;
23 pub const TIOCGPGRP: c_ulong = 0x540F;
24 pub const TIOCSPGRP: c_ulong = 0x5410;
25 pub const TIOCOUTQ: c_ulong = 0x5411;
26 pub const TIOCSTI: c_ulong = 0x5412;
27 pub const TIOCGWINSZ: c_ulong = 0x5413;
28 pub const TIOCSWINSZ: c_ulong = 0x5414;
29 pub const TIOCMGET: c_ulong = 0x5415;
30 pub const TIOCMBIS: c_ulong = 0x5416;
31 pub const TIOCMBIC: c_ulong = 0x5417;
32 pub const TIOCMSET: c_ulong = 0x5418;
33 pub const TIOCGSOFTCAR: c_ulong = 0x5419;
34 pub const TIOCSSOFTCAR: c_ulong = 0x541A;
35 pub const FIONREAD: c_ulong = 0x541B;
36 pub const TIOCINQ: c_ulong = FIONREAD;
37 pub const TIOCLINUX: c_ulong = 0x541C;
38 pub const TIOCCONS: c_ulong = 0x541D;
39 pub const TIOCGSERIAL: c_ulong = 0x541E;
40 pub const TIOCSSERIAL: c_ulong = 0x541F;
41 pub const TIOCPKT: c_ulong = 0x5420;
42 pub const FIONBIO: c_ulong = 0x5421;
43 pub const TIOCNOTTY: c_ulong = 0x5422;
44 pub const TIOCSETD: c_ulong = 0x5423;
45 pub const TIOCGETD: c_ulong = 0x5424;
46 pub const TCSBRKP: c_ulong = 0x5425;
47 pub const TIOCSBRK: c_ulong = 0x5427;
48 pub const TIOCCBRK: c_ulong = 0x5428;
49 pub const TIOCGSID: c_ulong = 0x5429;
50 pub const TIOCGRS485: c_ulong = 0x542E;
51 pub const TIOCSRS485: c_ulong = 0x542F;
52 pub const TIOCGPTN: c_ulong = 0x8004_5430;
53 pub const TIOCSPTLCK: c_ulong = 0x4004_5431;
54 pub const TIOCGDEV: c_ulong = 0x8004_5432;
55 pub const TCGETX: c_ulong = 0x5432;
56 pub const TCSETX: c_ulong = 0x5433;
57 pub const TCSETXF: c_ulong = 0x5434;
58 pub const TCSETXW: c_ulong = 0x5435;
59 pub const TIOCSIG: c_ulong = 0x4004_5436;
60 pub const TIOCVHANGUP: c_ulong = 0x5437;
61 pub const TIOCGPKT: c_ulong = 0x8004_5438;
62 pub const TIOCGPTLCK: c_ulong = 0x8004_5439;
63 pub const TIOCGEXCL: c_ulong = 0x8004_5440;
64 pub const TIOCGPTPEER: c_ulong = 0x5441;
65 
66 pub const FIONCLEX: c_ulong = 0x5450;
67 pub const FIOCLEX: c_ulong = 0x5451;
68 pub const FIOASYNC: c_ulong = 0x5452;
69 pub const TIOCSERCONFIG: c_ulong = 0x5453;
70 pub const TIOCSERGWILD: c_ulong = 0x5454;
71 pub const TIOCSERSWILD: c_ulong = 0x5455;
72 pub const TIOCGLCKTRMIOS: c_ulong = 0x5456;
73 pub const TIOCSLCKTRMIOS: c_ulong = 0x5457;
74 pub const TIOCSERGSTRUCT: c_ulong = 0x5458;
75 pub const TIOCSERGETLSR: c_ulong = 0x5459;
76 pub const TIOCSERGETMULTI: c_ulong = 0x545A;
77 pub const TIOCSERSETMULTI: c_ulong = 0x545B;
78 
79 pub const TIOCMIWAIT: c_ulong = 0x545C;
80 pub const TIOCGICOUNT: c_ulong = 0x545D;
81 pub const FIOQSIZE: c_ulong = 0x5460;
82 
83 pub const TIOCPKT_DATA: c_ulong = 0;
84 pub const TIOCPKT_FLUSHREAD: c_ulong = 1;
85 pub const TIOCPKT_FLUSHWRITE: c_ulong = 2;
86 pub const TIOCPKT_STOP: c_ulong = 4;
87 pub const TIOCPKT_START: c_ulong = 8;
88 pub const TIOCPKT_NOSTOP: c_ulong = 16;
89 pub const TIOCPKT_DOSTOP: c_ulong = 32;
90 pub const TIOCPKT_IOCTL: c_ulong = 64;
91 
92 pub const TIOCSER_TEMT: c_ulong = 0x01;
93 
94 pub const TIOCM_LE: c_ulong = 0x001;
95 pub const TIOCM_DTR: c_ulong = 0x002;
96 pub const TIOCM_RTS: c_ulong = 0x004;
97 pub const TIOCM_ST: c_ulong = 0x008;
98 pub const TIOCM_SR: c_ulong = 0x010;
99 pub const TIOCM_CTS: c_ulong = 0x020;
100 pub const TIOCM_CAR: c_ulong = 0x040;
101 pub const TIOCM_RNG: c_ulong = 0x080;
102 pub const TIOCM_DSR: c_ulong = 0x100;
103 pub const TIOCM_CD: c_ulong = TIOCM_CAR;
104 pub const TIOCM_RI: c_ulong = TIOCM_RNG;
105 pub const TIOCM_OUT1: c_ulong = 0x2000;
106 pub const TIOCM_OUT2: c_ulong = 0x4000;
107 pub const TIOCM_LOOP: c_ulong = 0x8000;
108 
109 pub const N_TTY: c_ulong = 0;
110 pub const N_SLIP: c_ulong = 1;
111 pub const N_MOUSE: c_ulong = 2;
112 pub const N_PPP: c_ulong = 3;
113 pub const N_STRIP: c_ulong = 4;
114 pub const N_AX25: c_ulong = 5;
115 pub const N_X25: c_ulong = 6;
116 pub const N_6PACK: c_ulong = 7;
117 pub const N_MASC: c_ulong = 8;
118 pub const N_R3964: c_ulong = 9;
119 pub const N_PROFIBUS_FDL: c_ulong = 10;
120 pub const N_IRDA: c_ulong = 11;
121 pub const N_SMSBLOCK: c_ulong = 12;
122 pub const N_HDLC: c_ulong = 13;
123 pub const N_SYNC_PPP: c_ulong = 14;
124 pub const N_HCI: c_ulong = 15;
125 
126 pub const FIOSETOWN: c_ulong = 0x8901;
127 pub const SIOCSPGRP: c_ulong = 0x8902;
128 pub const FIOGETOWN: c_ulong = 0x8903;
129 pub const SIOCGPGRP: c_ulong = 0x8904;
130 pub const SIOCATMARK: c_ulong = 0x8905;
131 pub const SIOCGSTAMP: c_ulong = 0x8906;
132 pub const SIOCGSTAMPNS: c_ulong = 0x8907;
133 
134 pub const SIOCADDRT: c_ulong = 0x890B;
135 pub const SIOCDELRT: c_ulong = 0x890C;
136 pub const SIOCRTMSG: c_ulong = 0x890D;
137 
138 pub const SIOCGIFNAME: c_ulong = 0x8910;
139 pub const SIOCSIFLINK: c_ulong = 0x8911;
140 pub const SIOCGIFCONF: c_ulong = 0x8912;
141 pub const SIOCGIFFLAGS: c_ulong = 0x8913;
142 pub const SIOCSIFFLAGS: c_ulong = 0x8914;
143 pub const SIOCGIFADDR: c_ulong = 0x8915;
144 pub const SIOCSIFADDR: c_ulong = 0x8916;
145 pub const SIOCGIFDSTADDR: c_ulong = 0x8917;
146 pub const SIOCSIFDSTADDR: c_ulong = 0x8918;
147 pub const SIOCGIFBRDADDR: c_ulong = 0x8919;
148 pub const SIOCSIFBRDADDR: c_ulong = 0x891a;
149 pub const SIOCGIFNETMASK: c_ulong = 0x891b;
150 pub const SIOCSIFNETMASK: c_ulong = 0x891c;
151 pub const SIOCGIFMETRIC: c_ulong = 0x891d;
152 pub const SIOCSIFMETRIC: c_ulong = 0x891e;
153 pub const SIOCGIFMEM: c_ulong = 0x891f;
154 pub const SIOCSIFMEM: c_ulong = 0x8920;
155 pub const SIOCGIFMTU: c_ulong = 0x8921;
156 pub const SIOCSIFMTU: c_ulong = 0x8922;
157 pub const SIOCSIFNAME: c_ulong = 0x8923;
158 pub const SIOCSIFHWADDR: c_ulong = 0x8924;
159 pub const SIOCGIFENCAP: c_ulong = 0x8925;
160 pub const SIOCSIFENCAP: c_ulong = 0x8926;
161 pub const SIOCGIFHWADDR: c_ulong = 0x8927;
162 pub const SIOCGIFSLAVE: c_ulong = 0x8929;
163 pub const SIOCSIFSLAVE: c_ulong = 0x8930;
164 pub const SIOCADDMULTI: c_ulong = 0x8931;
165 pub const SIOCDELMULTI: c_ulong = 0x8932;
166 pub const SIOCGIFINDEX: c_ulong = 0x8933;
167 pub const SIOGIFINDEX: c_ulong = SIOCGIFINDEX;
168 pub const SIOCSIFPFLAGS: c_ulong = 0x8934;
169 pub const SIOCGIFPFLAGS: c_ulong = 0x8935;
170 pub const SIOCDIFADDR: c_ulong = 0x8936;
171 pub const SIOCSIFHWBROADCAST: c_ulong = 0x8937;
172 pub const SIOCGIFCOUNT: c_ulong = 0x8938;
173 
174 pub const SIOCGIFBR: c_ulong = 0x8940;
175 pub const SIOCSIFBR: c_ulong = 0x8941;
176 
177 pub const SIOCGIFTXQLEN: c_ulong = 0x8942;
178 pub const SIOCSIFTXQLEN: c_ulong = 0x8943;
179 
180 pub const SIOCDARP: c_ulong = 0x8953;
181 pub const SIOCGARP: c_ulong = 0x8954;
182 pub const SIOCSARP: c_ulong = 0x8955;
183 
184 pub const SIOCDRARP: c_ulong = 0x8960;
185 pub const SIOCGRARP: c_ulong = 0x8961;
186 pub const SIOCSRARP: c_ulong = 0x8962;
187 
188 pub const SIOCGIFMAP: c_ulong = 0x8970;
189 pub const SIOCSIFMAP: c_ulong = 0x8971;
190 
191 pub const SIOCADDDLCI: c_ulong = 0x8980;
192 pub const SIOCDELDLCI: c_ulong = 0x8981;
193 
194 pub const SIOCDEVPRIVATE: c_ulong = 0x89F0;
195 pub const SIOCPROTOPRIVATE: c_ulong = 0x89E0;
196