]> git.proxmox.com Git - rustc.git/blob - src/liblibc/src/unix/notbsd/linux/other/mod.rs
New upstream version 1.12.0+dfsg1
[rustc.git] / src / liblibc / src / unix / notbsd / linux / other / mod.rs
1 pub type fsblkcnt_t = ::c_ulong;
2 pub type fsfilcnt_t = ::c_ulong;
3 pub type rlim_t = c_ulong;
4 pub type __priority_which_t = ::c_uint;
5
6 s! {
7 pub struct sigaction {
8 pub sa_sigaction: ::sighandler_t,
9 pub sa_mask: ::sigset_t,
10 pub sa_flags: ::c_int,
11 _restorer: *mut ::c_void,
12 }
13
14 pub struct stack_t {
15 pub ss_sp: *mut ::c_void,
16 pub ss_flags: ::c_int,
17 pub ss_size: ::size_t
18 }
19
20 pub struct siginfo_t {
21 pub si_signo: ::c_int,
22 pub si_errno: ::c_int,
23 pub si_code: ::c_int,
24 pub _pad: [::c_int; 29],
25 _align: [usize; 0],
26 }
27
28 pub struct glob64_t {
29 pub gl_pathc: ::size_t,
30 pub gl_pathv: *mut *mut ::c_char,
31 pub gl_offs: ::size_t,
32 pub gl_flags: ::c_int,
33
34 __unused1: *mut ::c_void,
35 __unused2: *mut ::c_void,
36 __unused3: *mut ::c_void,
37 __unused4: *mut ::c_void,
38 __unused5: *mut ::c_void,
39 }
40
41 pub struct ucred {
42 pub pid: ::pid_t,
43 pub uid: ::uid_t,
44 pub gid: ::gid_t,
45 }
46
47 pub struct statfs {
48 pub f_type: __fsword_t,
49 pub f_bsize: __fsword_t,
50 pub f_blocks: ::fsblkcnt_t,
51 pub f_bfree: ::fsblkcnt_t,
52 pub f_bavail: ::fsblkcnt_t,
53
54 pub f_files: ::fsfilcnt_t,
55 pub f_ffree: ::fsfilcnt_t,
56 pub f_fsid: ::fsid_t,
57
58 pub f_namelen: __fsword_t,
59 pub f_frsize: __fsword_t,
60 f_spare: [__fsword_t; 5],
61 }
62
63 pub struct msghdr {
64 pub msg_name: *mut ::c_void,
65 pub msg_namelen: ::socklen_t,
66 pub msg_iov: *mut ::iovec,
67 pub msg_iovlen: ::size_t,
68 pub msg_control: *mut ::c_void,
69 pub msg_controllen: ::size_t,
70 pub msg_flags: ::c_int,
71 }
72
73 pub struct termios {
74 pub c_iflag: ::tcflag_t,
75 pub c_oflag: ::tcflag_t,
76 pub c_cflag: ::tcflag_t,
77 pub c_lflag: ::tcflag_t,
78 pub c_line: ::cc_t,
79 pub c_cc: [::cc_t; ::NCCS],
80 pub c_ispeed: ::speed_t,
81 pub c_ospeed: ::speed_t,
82 }
83
84 pub struct flock {
85 pub l_type: ::c_short,
86 pub l_whence: ::c_short,
87 pub l_start: ::off_t,
88 pub l_len: ::off_t,
89 pub l_pid: ::pid_t,
90 }
91
92 pub struct ipc_perm {
93 pub __key: ::key_t,
94 pub uid: ::uid_t,
95 pub gid: ::gid_t,
96 pub cuid: ::uid_t,
97 pub cgid: ::gid_t,
98 pub mode: ::c_ushort,
99 __pad1: ::c_ushort,
100 pub __seq: ::c_ushort,
101 __pad2: ::c_ushort,
102 __unused1: ::c_ulong,
103 __unused2: ::c_ulong
104 }
105
106 pub struct shmid_ds {
107 pub shm_perm: ::ipc_perm,
108 pub shm_segsz: ::size_t,
109 pub shm_atime: ::time_t,
110 #[cfg(target_pointer_width = "32")]
111 __unused1: ::c_ulong,
112 pub shm_dtime: ::time_t,
113 #[cfg(target_pointer_width = "32")]
114 __unused2: ::c_ulong,
115 pub shm_ctime: ::time_t,
116 #[cfg(target_pointer_width = "32")]
117 __unused3: ::c_ulong,
118 pub shm_cpid: ::pid_t,
119 pub shm_lpid: ::pid_t,
120 pub shm_nattch: ::shmatt_t,
121 __unused4: ::c_ulong,
122 __unused5: ::c_ulong
123 }
124
125 // FIXME this is actually a union
126 pub struct sem_t {
127 #[cfg(target_pointer_width = "32")]
128 __size: [::c_char; 16],
129 #[cfg(target_pointer_width = "64")]
130 __size: [::c_char; 32],
131 __align: [::c_long; 0],
132 }
133 }
134
135 pub const RLIMIT_RSS: ::c_int = 5;
136 pub const RLIMIT_NOFILE: ::c_int = 7;
137 pub const RLIMIT_AS: ::c_int = 9;
138 pub const RLIMIT_NPROC: ::c_int = 6;
139 pub const RLIMIT_MEMLOCK: ::c_int = 8;
140 pub const RLIM_INFINITY: ::rlim_t = !0;
141 pub const RLIMIT_RTTIME: ::c_int = 15;
142 pub const RLIMIT_NLIMITS: ::c_int = 16;
143
144 pub const O_APPEND: ::c_int = 1024;
145 pub const O_CREAT: ::c_int = 64;
146 pub const O_EXCL: ::c_int = 128;
147 pub const O_NOCTTY: ::c_int = 256;
148 pub const O_NONBLOCK: ::c_int = 2048;
149 pub const O_SYNC: ::c_int = 1052672;
150 pub const O_RSYNC: ::c_int = 1052672;
151 pub const O_DSYNC: ::c_int = 4096;
152 pub const O_FSYNC: ::c_int = 0x101000;
153
154 pub const SOCK_NONBLOCK: ::c_int = O_NONBLOCK;
155
156 pub const LC_PAPER: ::c_int = 7;
157 pub const LC_NAME: ::c_int = 8;
158 pub const LC_ADDRESS: ::c_int = 9;
159 pub const LC_TELEPHONE: ::c_int = 10;
160 pub const LC_MEASUREMENT: ::c_int = 11;
161 pub const LC_IDENTIFICATION: ::c_int = 12;
162 pub const LC_PAPER_MASK: ::c_int = (1 << LC_PAPER);
163 pub const LC_NAME_MASK: ::c_int = (1 << LC_NAME);
164 pub const LC_ADDRESS_MASK: ::c_int = (1 << LC_ADDRESS);
165 pub const LC_TELEPHONE_MASK: ::c_int = (1 << LC_TELEPHONE);
166 pub const LC_MEASUREMENT_MASK: ::c_int = (1 << LC_MEASUREMENT);
167 pub const LC_IDENTIFICATION_MASK: ::c_int = (1 << LC_IDENTIFICATION);
168 pub const LC_ALL_MASK: ::c_int = ::LC_CTYPE_MASK
169 | ::LC_NUMERIC_MASK
170 | ::LC_TIME_MASK
171 | ::LC_COLLATE_MASK
172 | ::LC_MONETARY_MASK
173 | ::LC_MESSAGES_MASK
174 | LC_PAPER_MASK
175 | LC_NAME_MASK
176 | LC_ADDRESS_MASK
177 | LC_TELEPHONE_MASK
178 | LC_MEASUREMENT_MASK
179 | LC_IDENTIFICATION_MASK;
180
181 pub const MAP_ANON: ::c_int = 0x0020;
182 pub const MAP_ANONYMOUS: ::c_int = 0x0020;
183 pub const MAP_GROWSDOWN: ::c_int = 0x0100;
184 pub const MAP_DENYWRITE: ::c_int = 0x0800;
185 pub const MAP_EXECUTABLE: ::c_int = 0x01000;
186 pub const MAP_POPULATE: ::c_int = 0x08000;
187 pub const MAP_NONBLOCK: ::c_int = 0x010000;
188 pub const MAP_STACK: ::c_int = 0x020000;
189
190 pub const EDEADLK: ::c_int = 35;
191 pub const ENAMETOOLONG: ::c_int = 36;
192 pub const ENOLCK: ::c_int = 37;
193 pub const ENOSYS: ::c_int = 38;
194 pub const ENOTEMPTY: ::c_int = 39;
195 pub const ELOOP: ::c_int = 40;
196 pub const ENOMSG: ::c_int = 42;
197 pub const EIDRM: ::c_int = 43;
198 pub const ECHRNG: ::c_int = 44;
199 pub const EL2NSYNC: ::c_int = 45;
200 pub const EL3HLT: ::c_int = 46;
201 pub const EL3RST: ::c_int = 47;
202 pub const ELNRNG: ::c_int = 48;
203 pub const EUNATCH: ::c_int = 49;
204 pub const ENOCSI: ::c_int = 50;
205 pub const EL2HLT: ::c_int = 51;
206 pub const EBADE: ::c_int = 52;
207 pub const EBADR: ::c_int = 53;
208 pub const EXFULL: ::c_int = 54;
209 pub const ENOANO: ::c_int = 55;
210 pub const EBADRQC: ::c_int = 56;
211 pub const EBADSLT: ::c_int = 57;
212 pub const EMULTIHOP: ::c_int = 72;
213 pub const EOVERFLOW: ::c_int = 75;
214 pub const ENOTUNIQ: ::c_int = 76;
215 pub const EBADFD: ::c_int = 77;
216 pub const EBADMSG: ::c_int = 74;
217 pub const EREMCHG: ::c_int = 78;
218 pub const ELIBACC: ::c_int = 79;
219 pub const ELIBBAD: ::c_int = 80;
220 pub const ELIBSCN: ::c_int = 81;
221 pub const ELIBMAX: ::c_int = 82;
222 pub const ELIBEXEC: ::c_int = 83;
223 pub const EILSEQ: ::c_int = 84;
224 pub const ERESTART: ::c_int = 85;
225 pub const ESTRPIPE: ::c_int = 86;
226 pub const EUSERS: ::c_int = 87;
227 pub const ENOTSOCK: ::c_int = 88;
228 pub const EDESTADDRREQ: ::c_int = 89;
229 pub const EMSGSIZE: ::c_int = 90;
230 pub const EPROTOTYPE: ::c_int = 91;
231 pub const ENOPROTOOPT: ::c_int = 92;
232 pub const EPROTONOSUPPORT: ::c_int = 93;
233 pub const ESOCKTNOSUPPORT: ::c_int = 94;
234 pub const EOPNOTSUPP: ::c_int = 95;
235 pub const EPFNOSUPPORT: ::c_int = 96;
236 pub const EAFNOSUPPORT: ::c_int = 97;
237 pub const EADDRINUSE: ::c_int = 98;
238 pub const EADDRNOTAVAIL: ::c_int = 99;
239 pub const ENETDOWN: ::c_int = 100;
240 pub const ENETUNREACH: ::c_int = 101;
241 pub const ENETRESET: ::c_int = 102;
242 pub const ECONNABORTED: ::c_int = 103;
243 pub const ECONNRESET: ::c_int = 104;
244 pub const ENOBUFS: ::c_int = 105;
245 pub const EISCONN: ::c_int = 106;
246 pub const ENOTCONN: ::c_int = 107;
247 pub const ESHUTDOWN: ::c_int = 108;
248 pub const ETOOMANYREFS: ::c_int = 109;
249 pub const ETIMEDOUT: ::c_int = 110;
250 pub const ECONNREFUSED: ::c_int = 111;
251 pub const EHOSTDOWN: ::c_int = 112;
252 pub const EHOSTUNREACH: ::c_int = 113;
253 pub const EALREADY: ::c_int = 114;
254 pub const EINPROGRESS: ::c_int = 115;
255 pub const ESTALE: ::c_int = 116;
256 pub const EUCLEAN: ::c_int = 117;
257 pub const ENOTNAM: ::c_int = 118;
258 pub const ENAVAIL: ::c_int = 119;
259 pub const EISNAM: ::c_int = 120;
260 pub const EREMOTEIO: ::c_int = 121;
261 pub const EDQUOT: ::c_int = 122;
262 pub const ENOMEDIUM: ::c_int = 123;
263 pub const EMEDIUMTYPE: ::c_int = 124;
264 pub const ECANCELED: ::c_int = 125;
265 pub const ENOKEY: ::c_int = 126;
266 pub const EKEYEXPIRED: ::c_int = 127;
267 pub const EKEYREVOKED: ::c_int = 128;
268 pub const EKEYREJECTED: ::c_int = 129;
269 pub const EOWNERDEAD: ::c_int = 130;
270 pub const ENOTRECOVERABLE: ::c_int = 131;
271 pub const EHWPOISON: ::c_int = 133;
272 pub const ERFKILL: ::c_int = 132;
273
274 pub const SOCK_STREAM: ::c_int = 1;
275 pub const SOCK_DGRAM: ::c_int = 2;
276 pub const SOCK_SEQPACKET: ::c_int = 5;
277
278 pub const SOL_SOCKET: ::c_int = 1;
279
280 pub const SO_REUSEADDR: ::c_int = 2;
281 pub const SO_TYPE: ::c_int = 3;
282 pub const SO_ERROR: ::c_int = 4;
283 pub const SO_DONTROUTE: ::c_int = 5;
284 pub const SO_BROADCAST: ::c_int = 6;
285 pub const SO_SNDBUF: ::c_int = 7;
286 pub const SO_RCVBUF: ::c_int = 8;
287 pub const SO_KEEPALIVE: ::c_int = 9;
288 pub const SO_OOBINLINE: ::c_int = 10;
289 pub const SO_LINGER: ::c_int = 13;
290 pub const SO_REUSEPORT: ::c_int = 15;
291 pub const SO_ACCEPTCONN: ::c_int = 30;
292
293 pub const TCP_COOKIE_TRANSACTIONS: ::c_int = 15;
294 pub const TCP_THIN_LINEAR_TIMEOUTS: ::c_int = 16;
295 pub const TCP_THIN_DUPACK: ::c_int = 17;
296 pub const TCP_USER_TIMEOUT: ::c_int = 18;
297 pub const TCP_REPAIR: ::c_int = 19;
298 pub const TCP_REPAIR_QUEUE: ::c_int = 20;
299 pub const TCP_QUEUE_SEQ: ::c_int = 21;
300 pub const TCP_REPAIR_OPTIONS: ::c_int = 22;
301 pub const TCP_FASTOPEN: ::c_int = 23;
302 pub const TCP_TIMESTAMP: ::c_int = 24;
303
304 pub const SA_ONSTACK: ::c_int = 0x08000000;
305 pub const SA_SIGINFO: ::c_int = 0x00000004;
306 pub const SA_NOCLDWAIT: ::c_int = 0x00000002;
307
308 pub const SIGCHLD: ::c_int = 17;
309 pub const SIGBUS: ::c_int = 7;
310 pub const SIGUSR1: ::c_int = 10;
311 pub const SIGUSR2: ::c_int = 12;
312 pub const SIGCONT: ::c_int = 18;
313 pub const SIGSTOP: ::c_int = 19;
314 pub const SIGTSTP: ::c_int = 20;
315 pub const SIGURG: ::c_int = 23;
316 pub const SIGIO: ::c_int = 29;
317 pub const SIGSYS: ::c_int = 31;
318 pub const SIGSTKFLT: ::c_int = 16;
319 pub const SIGUNUSED: ::c_int = 31;
320 pub const SIGTTIN: ::c_int = 21;
321 pub const SIGTTOU: ::c_int = 22;
322 pub const SIGXCPU: ::c_int = 24;
323 pub const SIGXFSZ: ::c_int = 25;
324 pub const SIGVTALRM: ::c_int = 26;
325 pub const SIGPROF: ::c_int = 27;
326 pub const SIGWINCH: ::c_int = 28;
327 pub const SIGPOLL: ::c_int = 29;
328 pub const SIGPWR: ::c_int = 30;
329 pub const SIG_SETMASK: ::c_int = 2;
330 pub const SIG_BLOCK: ::c_int = 0x000000;
331 pub const SIG_UNBLOCK: ::c_int = 0x01;
332
333 pub const FALLOC_FL_KEEP_SIZE: ::c_int = 0x01;
334 pub const FALLOC_FL_PUNCH_HOLE: ::c_int = 0x02;
335
336 pub const BUFSIZ: ::c_uint = 8192;
337 pub const TMP_MAX: ::c_uint = 238328;
338 pub const FOPEN_MAX: ::c_uint = 16;
339 pub const POSIX_MADV_DONTNEED: ::c_int = 4;
340 pub const _SC_2_C_VERSION: ::c_int = 96;
341 pub const RUSAGE_THREAD: ::c_int = 1;
342 pub const O_ACCMODE: ::c_int = 3;
343 pub const O_ASYNC: ::c_int = 0x2000;
344 pub const O_NDELAY: ::c_int = 0x800;
345 pub const RUSAGE_CHILDREN: ::c_int = -1;
346 pub const ST_RELATIME: ::c_ulong = 4096;
347 pub const NI_MAXHOST: ::socklen_t = 1025;
348
349 pub const ADFS_SUPER_MAGIC: ::c_long = 0x0000adf5;
350 pub const AFFS_SUPER_MAGIC: ::c_long = 0x0000adff;
351 pub const CODA_SUPER_MAGIC: ::c_long = 0x73757245;
352 pub const CRAMFS_MAGIC: ::c_long = 0x28cd3d45;
353 pub const EFS_SUPER_MAGIC: ::c_long = 0x00414a53;
354 pub const EXT2_SUPER_MAGIC: ::c_long = 0x0000ef53;
355 pub const EXT3_SUPER_MAGIC: ::c_long = 0x0000ef53;
356 pub const EXT4_SUPER_MAGIC: ::c_long = 0x0000ef53;
357 pub const HPFS_SUPER_MAGIC: ::c_long = 0xf995e849;
358 pub const HUGETLBFS_MAGIC: ::c_long = 0x958458f6;
359 pub const ISOFS_SUPER_MAGIC: ::c_long = 0x00009660;
360 pub const JFFS2_SUPER_MAGIC: ::c_long = 0x000072b6;
361 pub const MINIX_SUPER_MAGIC: ::c_long = 0x0000137f;
362 pub const MINIX_SUPER_MAGIC2: ::c_long = 0x0000138f;
363 pub const MINIX2_SUPER_MAGIC: ::c_long = 0x00002468;
364 pub const MINIX2_SUPER_MAGIC2: ::c_long = 0x00002478;
365 pub const MSDOS_SUPER_MAGIC: ::c_long = 0x00004d44;
366 pub const NCP_SUPER_MAGIC: ::c_long = 0x0000564c;
367 pub const NFS_SUPER_MAGIC: ::c_long = 0x00006969;
368 pub const OPENPROM_SUPER_MAGIC: ::c_long = 0x00009fa1;
369 pub const PROC_SUPER_MAGIC: ::c_long = 0x00009fa0;
370 pub const QNX4_SUPER_MAGIC: ::c_long = 0x0000002f;
371 pub const REISERFS_SUPER_MAGIC: ::c_long = 0x52654973;
372 pub const SMB_SUPER_MAGIC: ::c_long = 0x0000517b;
373 pub const TMPFS_MAGIC: ::c_long = 0x01021994;
374 pub const USBDEVICE_SUPER_MAGIC: ::c_long = 0x00009fa2;
375
376 pub const VEOF: usize = 4;
377 pub const VEOL: usize = 11;
378 pub const VEOL2: usize = 16;
379 pub const VMIN: usize = 6;
380 pub const IEXTEN: ::tcflag_t = 0x00008000;
381 pub const TOSTOP: ::tcflag_t = 0x00000100;
382 pub const FLUSHO: ::tcflag_t = 0x00001000;
383 pub const IUTF8: ::tcflag_t = 0x00004000;
384
385 pub const CPU_SETSIZE: ::c_int = 0x400;
386
387 pub const EXTPROC: ::tcflag_t = 0x00010000;
388
389 pub const QFMT_VFS_V1: ::c_int = 4;
390
391 pub const PTRACE_TRACEME: ::c_uint = 0;
392 pub const PTRACE_PEEKTEXT: ::c_uint = 1;
393 pub const PTRACE_PEEKDATA: ::c_uint = 2;
394 pub const PTRACE_PEEKUSER: ::c_uint = 3;
395 pub const PTRACE_POKETEXT: ::c_uint = 4;
396 pub const PTRACE_POKEDATA: ::c_uint = 5;
397 pub const PTRACE_POKEUSER: ::c_uint = 6;
398 pub const PTRACE_CONT: ::c_uint = 7;
399 pub const PTRACE_KILL: ::c_uint = 8;
400 pub const PTRACE_SINGLESTEP: ::c_uint = 9;
401 pub const PTRACE_ATTACH: ::c_uint = 16;
402 pub const PTRACE_DETACH: ::c_uint = 17;
403 pub const PTRACE_SYSCALL: ::c_uint = 24;
404 pub const PTRACE_SETOPTIONS: ::c_uint = 0x4200;
405 pub const PTRACE_GETEVENTMSG: ::c_uint = 0x4201;
406 pub const PTRACE_GETSIGINFO: ::c_uint = 0x4202;
407 pub const PTRACE_SETSIGINFO: ::c_uint = 0x4203;
408 pub const PTRACE_GETREGSET: ::c_uint = 0x4204;
409 pub const PTRACE_SETREGSET: ::c_uint = 0x4205;
410 pub const PTRACE_SEIZE: ::c_uint = 0x4206;
411 pub const PTRACE_INTERRUPT: ::c_uint = 0x4207;
412 pub const PTRACE_LISTEN: ::c_uint = 0x4208;
413 pub const PTRACE_PEEKSIGINFO: ::c_uint = 0x4209;
414
415 pub const MADV_DODUMP: ::c_int = 17;
416 pub const MADV_DONTDUMP: ::c_int = 16;
417
418 pub const EPOLLWAKEUP: ::c_int = 0x20000000;
419
420 pub const MADV_HUGEPAGE: ::c_int = 14;
421 pub const MADV_NOHUGEPAGE: ::c_int = 15;
422 pub const MAP_HUGETLB: ::c_int = 0x040000;
423
424 pub const EFD_NONBLOCK: ::c_int = 0x800;
425
426 pub const F_GETLK: ::c_int = 5;
427 pub const F_GETOWN: ::c_int = 9;
428 pub const F_SETOWN: ::c_int = 8;
429 pub const F_SETLK: ::c_int = 6;
430 pub const F_SETLKW: ::c_int = 7;
431
432 pub const SEEK_DATA: ::c_int = 3;
433 pub const SEEK_HOLE: ::c_int = 4;
434
435 pub const SFD_NONBLOCK: ::c_int = 0x0800;
436
437 pub const TCSANOW: ::c_int = 0;
438 pub const TCSADRAIN: ::c_int = 1;
439 pub const TCSAFLUSH: ::c_int = 2;
440
441 pub const TCGETS: ::c_ulong = 0x5401;
442 pub const TCSETS: ::c_ulong = 0x5402;
443 pub const TCSETSW: ::c_ulong = 0x5403;
444 pub const TCSETSF: ::c_ulong = 0x5404;
445 pub const TCGETA: ::c_ulong = 0x5405;
446 pub const TCSETA: ::c_ulong = 0x5406;
447 pub const TCSETAW: ::c_ulong = 0x5407;
448 pub const TCSETAF: ::c_ulong = 0x5408;
449 pub const TCSBRK: ::c_ulong = 0x5409;
450 pub const TCXONC: ::c_ulong = 0x540A;
451 pub const TCFLSH: ::c_ulong = 0x540B;
452 pub const TIOCGSOFTCAR: ::c_ulong = 0x5419;
453 pub const TIOCSSOFTCAR: ::c_ulong = 0x541A;
454 pub const TIOCINQ: ::c_ulong = 0x541B;
455 pub const TIOCLINUX: ::c_ulong = 0x541C;
456 pub const TIOCGSERIAL: ::c_ulong = 0x541E;
457 pub const TIOCEXCL: ::c_ulong = 0x540C;
458 pub const TIOCNXCL: ::c_ulong = 0x540D;
459 pub const TIOCSCTTY: ::c_ulong = 0x540E;
460 pub const TIOCGPGRP: ::c_ulong = 0x540F;
461 pub const TIOCSPGRP: ::c_ulong = 0x5410;
462 pub const TIOCOUTQ: ::c_ulong = 0x5411;
463 pub const TIOCSTI: ::c_ulong = 0x5412;
464 pub const TIOCGWINSZ: ::c_ulong = 0x5413;
465 pub const TIOCSWINSZ: ::c_ulong = 0x5414;
466 pub const TIOCMGET: ::c_ulong = 0x5415;
467 pub const TIOCMBIS: ::c_ulong = 0x5416;
468 pub const TIOCMBIC: ::c_ulong = 0x5417;
469 pub const TIOCMSET: ::c_ulong = 0x5418;
470 pub const FIONREAD: ::c_ulong = 0x541B;
471 pub const TIOCCONS: ::c_ulong = 0x541D;
472
473 pub const RTLD_DEEPBIND: ::c_int = 0x8;
474 pub const RTLD_GLOBAL: ::c_int = 0x100;
475 pub const RTLD_NOLOAD: ::c_int = 0x4;
476
477 pub const LINUX_REBOOT_MAGIC1: ::c_int = 0xfee1dead;
478 pub const LINUX_REBOOT_MAGIC2: ::c_int = 672274793;
479 pub const LINUX_REBOOT_MAGIC2A: ::c_int = 85072278;
480 pub const LINUX_REBOOT_MAGIC2B: ::c_int = 369367448;
481 pub const LINUX_REBOOT_MAGIC2C: ::c_int = 537993216;
482
483 pub const LINUX_REBOOT_CMD_RESTART: ::c_int = 0x01234567;
484 pub const LINUX_REBOOT_CMD_HALT: ::c_int = 0xCDEF0123;
485 pub const LINUX_REBOOT_CMD_CAD_ON: ::c_int = 0x89ABCDEF;
486 pub const LINUX_REBOOT_CMD_CAD_OFF: ::c_int = 0x00000000;
487 pub const LINUX_REBOOT_CMD_POWER_OFF: ::c_int = 0x4321FEDC;
488 pub const LINUX_REBOOT_CMD_RESTART2: ::c_int = 0xA1B2C3D4;
489 pub const LINUX_REBOOT_CMD_SW_SUSPEND: ::c_int = 0xD000FCE2;
490 pub const LINUX_REBOOT_CMD_KEXEC: ::c_int = 0x45584543;
491
492 cfg_if! {
493 if #[cfg(any(target_arch = "arm", target_arch = "x86",
494 target_arch = "x86_64"))] {
495 pub const PTHREAD_STACK_MIN: ::size_t = 16384;
496 } else {
497 pub const PTHREAD_STACK_MIN: ::size_t = 131072;
498 }
499 }
500
501 #[link(name = "util")]
502 extern {
503 pub fn sysctl(name: *mut ::c_int,
504 namelen: ::c_int,
505 oldp: *mut ::c_void,
506 oldlenp: *mut ::size_t,
507 newp: *mut ::c_void,
508 newlen: ::size_t)
509 -> ::c_int;
510 pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int;
511 pub fn backtrace(buf: *mut *mut ::c_void,
512 sz: ::c_int) -> ::c_int;
513 pub fn glob64(pattern: *const ::c_char,
514 flags: ::c_int,
515 errfunc: ::dox::Option<extern fn(epath: *const ::c_char,
516 errno: ::c_int)
517 -> ::c_int>,
518 pglob: *mut glob64_t) -> ::c_int;
519 pub fn globfree64(pglob: *mut glob64_t);
520 pub fn ptrace(request: ::c_uint, ...) -> ::c_long;
521 pub fn pthread_attr_getaffinity_np(attr: *const ::pthread_attr_t,
522 cpusetsize: ::size_t,
523 cpuset: *mut ::cpu_set_t) -> ::c_int;
524 pub fn pthread_attr_setaffinity_np(attr: *mut ::pthread_attr_t,
525 cpusetsize: ::size_t,
526 cpuset: *const ::cpu_set_t) -> ::c_int;
527 pub fn getpriority(which: ::__priority_which_t, who: ::id_t) -> ::c_int;
528 pub fn setpriority(which: ::__priority_which_t, who: ::id_t,
529 prio: ::c_int) -> ::c_int;
530 pub fn pthread_getaffinity_np(thread: ::pthread_t,
531 cpusetsize: ::size_t,
532 cpuset: *mut ::cpu_set_t) -> ::c_int;
533 pub fn pthread_setaffinity_np(thread: ::pthread_t,
534 cpusetsize: ::size_t,
535 cpuset: *const ::cpu_set_t) -> ::c_int;
536 pub fn sched_getcpu() -> ::c_int;
537 }
538
539 cfg_if! {
540 if #[cfg(any(target_arch = "x86",
541 target_arch = "arm",
542 target_arch = "powerpc"))] {
543 mod b32;
544 pub use self::b32::*;
545 } else if #[cfg(any(target_arch = "x86_64",
546 target_arch = "aarch64",
547 target_arch = "powerpc64"))] {
548 mod b64;
549 pub use self::b64::*;
550 } else {
551 // Unknown target_arch
552 }
553 }