1 use crate::platform::{types::*, Sys}; 2 3 #[no_mangle] ioctl(fd: c_int, request: c_ulong, out: *mut c_void) -> c_int4pub 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