]> git.proxmox.com Git - rustc.git/blob - src/liblibc/src/unix/notbsd/linux/other/b32/x86.rs
New upstream version 1.19.0+dfsg1
[rustc.git] / src / liblibc / src / unix / notbsd / linux / other / b32 / x86.rs
1 pub type c_char = i8;
2 pub type wchar_t = i32;
3 pub type greg_t = i32;
4
5 s! {
6 pub struct _libc_fpreg {
7 pub significand: [u16; 4],
8 pub exponent: u16,
9 }
10
11 pub struct _libc_fpstate {
12 pub cw: ::c_ulong,
13 pub sw: ::c_ulong,
14 pub tag: ::c_ulong,
15 pub ipoff: ::c_ulong,
16 pub cssel: ::c_ulong,
17 pub dataoff: ::c_ulong,
18 pub datasel: ::c_ulong,
19 pub _st: [_libc_fpreg; 8],
20 pub status: ::c_ulong,
21 }
22
23 pub struct mcontext_t {
24 pub gregs: [greg_t; 19],
25 pub fpregs: *mut _libc_fpstate,
26 pub oldmask: ::c_ulong,
27 pub cr2: ::c_ulong,
28 }
29
30 pub struct ucontext_t {
31 pub uc_flags: ::c_ulong,
32 pub uc_link: *mut ucontext_t,
33 pub uc_stack: ::stack_t,
34 pub uc_mcontext: mcontext_t,
35 pub uc_sigmask: ::sigset_t,
36 __private: [u8; 112],
37 }
38
39 pub struct ipc_perm {
40 pub __key: ::key_t,
41 pub uid: ::uid_t,
42 pub gid: ::gid_t,
43 pub cuid: ::uid_t,
44 pub cgid: ::gid_t,
45 pub mode: ::c_ushort,
46 __pad1: ::c_ushort,
47 pub __seq: ::c_ushort,
48 __pad2: ::c_ushort,
49 __unused1: ::c_ulong,
50 __unused2: ::c_ulong
51 }
52
53 pub struct stat64 {
54 pub st_dev: ::dev_t,
55 __pad1: ::c_uint,
56 __st_ino: ::ino_t,
57 pub st_mode: ::mode_t,
58 pub st_nlink: ::nlink_t,
59 pub st_uid: ::uid_t,
60 pub st_gid: ::gid_t,
61 pub st_rdev: ::dev_t,
62 __pad2: ::c_uint,
63 pub st_size: ::off64_t,
64 pub st_blksize: ::blksize_t,
65 pub st_blocks: ::blkcnt64_t,
66 pub st_atime: ::time_t,
67 pub st_atime_nsec: ::c_long,
68 pub st_mtime: ::time_t,
69 pub st_mtime_nsec: ::c_long,
70 pub st_ctime: ::time_t,
71 pub st_ctime_nsec: ::c_long,
72 pub st_ino: ::ino64_t,
73 }
74
75 pub struct shmid_ds {
76 pub shm_perm: ::ipc_perm,
77 pub shm_segsz: ::size_t,
78 pub shm_atime: ::time_t,
79 __unused1: ::c_ulong,
80 pub shm_dtime: ::time_t,
81 __unused2: ::c_ulong,
82 pub shm_ctime: ::time_t,
83 __unused3: ::c_ulong,
84 pub shm_cpid: ::pid_t,
85 pub shm_lpid: ::pid_t,
86 pub shm_nattch: ::shmatt_t,
87 __unused4: ::c_ulong,
88 __unused5: ::c_ulong
89 }
90
91 pub struct msqid_ds {
92 pub msg_perm: ::ipc_perm,
93 pub msg_stime: ::time_t,
94 __glibc_reserved1: ::c_ulong,
95 pub msg_rtime: ::time_t,
96 __glibc_reserved2: ::c_ulong,
97 pub msg_ctime: ::time_t,
98 __glibc_reserved3: ::c_ulong,
99 __msg_cbytes: ::c_ulong,
100 pub msg_qnum: ::msgqnum_t,
101 pub msg_qbytes: ::msglen_t,
102 pub msg_lspid: ::pid_t,
103 pub msg_lrpid: ::pid_t,
104 __glibc_reserved4: ::c_ulong,
105 __glibc_reserved5: ::c_ulong,
106 }
107 }
108
109 pub const O_DIRECT: ::c_int = 0x4000;
110 pub const O_DIRECTORY: ::c_int = 0x10000;
111 pub const O_NOFOLLOW: ::c_int = 0x20000;
112
113 pub const MAP_LOCKED: ::c_int = 0x02000;
114 pub const MAP_NORESERVE: ::c_int = 0x04000;
115 pub const MAP_32BIT: ::c_int = 0x0040;
116
117 pub const EDEADLOCK: ::c_int = 35;
118
119 pub const SO_SNDBUFFORCE: ::c_int = 32;
120 pub const SO_RCVBUFFORCE: ::c_int = 33;
121 pub const SO_NO_CHECK: ::c_int = 11;
122 pub const SO_PRIORITY: ::c_int = 12;
123 pub const SO_BSDCOMPAT: ::c_int = 14;
124 pub const SO_PASSCRED: ::c_int = 16;
125 pub const SO_PEERCRED: ::c_int = 17;
126 pub const SO_RCVLOWAT: ::c_int = 18;
127 pub const SO_SNDLOWAT: ::c_int = 19;
128 pub const SO_RCVTIMEO: ::c_int = 20;
129 pub const SO_SNDTIMEO: ::c_int = 21;
130
131 pub const FIOCLEX: ::c_ulong = 0x5451;
132 pub const FIONBIO: ::c_ulong = 0x5421;
133
134 pub const SYS_gettid: ::c_long = 224;
135 pub const SYS_perf_event_open: ::c_long = 336;
136
137 pub const PTRACE_GETFPXREGS: ::c_uint = 18;
138 pub const PTRACE_SETFPXREGS: ::c_uint = 19;
139
140 pub const MCL_CURRENT: ::c_int = 0x0001;
141 pub const MCL_FUTURE: ::c_int = 0x0002;
142
143 pub const SIGSTKSZ: ::size_t = 8192;
144 pub const MINSIGSTKSZ: ::size_t = 2048;
145 pub const CBAUD: ::tcflag_t = 0o0010017;
146 pub const TAB1: ::c_int = 0x00000800;
147 pub const TAB2: ::c_int = 0x00001000;
148 pub const TAB3: ::c_int = 0x00001800;
149 pub const CR1: ::c_int = 0x00000200;
150 pub const CR2: ::c_int = 0x00000400;
151 pub const CR3: ::c_int = 0x00000600;
152 pub const FF1: ::c_int = 0x00008000;
153 pub const BS1: ::c_int = 0x00002000;
154 pub const VT1: ::c_int = 0x00004000;
155 pub const VWERASE: usize = 14;
156 pub const VREPRINT: usize = 12;
157 pub const VSUSP: usize = 10;
158 pub const VSTART: usize = 8;
159 pub const VSTOP: usize = 9;
160 pub const VDISCARD: usize = 13;
161 pub const VTIME: usize = 5;
162 pub const IXON: ::tcflag_t = 0x00000400;
163 pub const IXOFF: ::tcflag_t = 0x00001000;
164 pub const ONLCR: ::tcflag_t = 0x4;
165 pub const CSIZE: ::tcflag_t = 0x00000030;
166 pub const CS6: ::tcflag_t = 0x00000010;
167 pub const CS7: ::tcflag_t = 0x00000020;
168 pub const CS8: ::tcflag_t = 0x00000030;
169 pub const CSTOPB: ::tcflag_t = 0x00000040;
170 pub const CREAD: ::tcflag_t = 0x00000080;
171 pub const PARENB: ::tcflag_t = 0x00000100;
172 pub const PARODD: ::tcflag_t = 0x00000200;
173 pub const HUPCL: ::tcflag_t = 0x00000400;
174 pub const CLOCAL: ::tcflag_t = 0x00000800;
175 pub const ECHOKE: ::tcflag_t = 0x00000800;
176 pub const ECHOE: ::tcflag_t = 0x00000010;
177 pub const ECHOK: ::tcflag_t = 0x00000020;
178 pub const ECHONL: ::tcflag_t = 0x00000040;
179 pub const ECHOPRT: ::tcflag_t = 0x00000400;
180 pub const ECHOCTL: ::tcflag_t = 0x00000200;
181 pub const ISIG: ::tcflag_t = 0x00000001;
182 pub const ICANON: ::tcflag_t = 0x00000002;
183 pub const PENDIN: ::tcflag_t = 0x00004000;
184 pub const NOFLSH: ::tcflag_t = 0x00000080;
185
186 pub const B0: ::speed_t = 0o000000;
187 pub const B50: ::speed_t = 0o000001;
188 pub const B75: ::speed_t = 0o000002;
189 pub const B110: ::speed_t = 0o000003;
190 pub const B134: ::speed_t = 0o000004;
191 pub const B150: ::speed_t = 0o000005;
192 pub const B200: ::speed_t = 0o000006;
193 pub const B300: ::speed_t = 0o000007;
194 pub const B600: ::speed_t = 0o000010;
195 pub const B1200: ::speed_t = 0o000011;
196 pub const B1800: ::speed_t = 0o000012;
197 pub const B2400: ::speed_t = 0o000013;
198 pub const B4800: ::speed_t = 0o000014;
199 pub const B9600: ::speed_t = 0o000015;
200 pub const B19200: ::speed_t = 0o000016;
201 pub const B38400: ::speed_t = 0o000017;
202 pub const EXTA: ::speed_t = B19200;
203 pub const EXTB: ::speed_t = B38400;
204 pub const B57600: ::speed_t = 0o010001;
205 pub const B115200: ::speed_t = 0o010002;
206 pub const B230400: ::speed_t = 0o010003;
207 pub const B460800: ::speed_t = 0o010004;
208 pub const B500000: ::speed_t = 0o010005;
209 pub const B576000: ::speed_t = 0o010006;
210 pub const B921600: ::speed_t = 0o010007;
211 pub const B1000000: ::speed_t = 0o010010;
212 pub const B1152000: ::speed_t = 0o010011;
213 pub const B1500000: ::speed_t = 0o010012;
214 pub const B2000000: ::speed_t = 0o010013;
215 pub const B2500000: ::speed_t = 0o010014;
216 pub const B3000000: ::speed_t = 0o010015;
217 pub const B3500000: ::speed_t = 0o010016;
218 pub const B4000000: ::speed_t = 0o010017;
219
220 pub const VEOL: usize = 11;
221 pub const VEOL2: usize = 16;
222 pub const VMIN: usize = 6;
223 pub const IEXTEN: ::tcflag_t = 0x00008000;
224 pub const TOSTOP: ::tcflag_t = 0x00000100;
225 pub const FLUSHO: ::tcflag_t = 0x00001000;
226 pub const EXTPROC: ::tcflag_t = 0x00010000;
227 pub const TCGETS: ::c_ulong = 0x5401;
228 pub const TCSETS: ::c_ulong = 0x5402;
229 pub const TCSETSW: ::c_ulong = 0x5403;
230 pub const TCSETSF: ::c_ulong = 0x5404;
231 pub const TCGETA: ::c_ulong = 0x5405;
232 pub const TCSETA: ::c_ulong = 0x5406;
233 pub const TCSETAW: ::c_ulong = 0x5407;
234 pub const TCSETAF: ::c_ulong = 0x5408;
235 pub const TCSBRK: ::c_ulong = 0x5409;
236 pub const TCXONC: ::c_ulong = 0x540A;
237 pub const TCFLSH: ::c_ulong = 0x540B;
238 pub const TIOCINQ: ::c_ulong = 0x541B;
239 pub const TIOCGPGRP: ::c_ulong = 0x540F;
240 pub const TIOCSPGRP: ::c_ulong = 0x5410;
241 pub const TIOCOUTQ: ::c_ulong = 0x5411;
242 pub const TIOCGWINSZ: ::c_ulong = 0x5413;
243 pub const TIOCSWINSZ: ::c_ulong = 0x5414;
244 pub const FIONREAD: ::c_ulong = 0x541B;
245
246 extern {
247 pub fn getcontext(ucp: *mut ucontext_t) -> ::c_int;
248 pub fn setcontext(ucp: *const ucontext_t) -> ::c_int;
249 pub fn makecontext(ucp: *mut ucontext_t,
250 func: extern fn (),
251 argc: ::c_int, ...);
252 pub fn swapcontext(uocp: *mut ucontext_t,
253 ucp: *const ucontext_t) -> ::c_int;
254 }