]> git.proxmox.com Git - rustc.git/blame - src/liblibc/src/unix/bsd/apple/mod.rs
New upstream version 1.12.1+dfsg1
[rustc.git] / src / liblibc / src / unix / bsd / apple / mod.rs
CommitLineData
92a42be0
SL
1//! Apple (ios/darwin)-specific definitions
2//!
3//! This covers *-apple-* triples currently
4
5pub type clock_t = c_ulong;
6pub type time_t = c_long;
7pub type suseconds_t = i32;
8pub type dev_t = i32;
9pub type ino_t = u64;
10pub type mode_t = u16;
11pub type nlink_t = u16;
12pub type blksize_t = i32;
13pub type rlim_t = u64;
14pub type mach_timebase_info_data_t = mach_timebase_info;
15pub type pthread_key_t = c_ulong;
16pub type sigset_t = u32;
9cc50fc6
SL
17pub type fsblkcnt_t = ::c_uint;
18pub type fsfilcnt_t = ::c_uint;
19pub type speed_t = ::c_ulong;
20pub type tcflag_t = ::c_ulong;
a7813a04 21pub type nl_item = ::c_int;
3157f602 22pub type id_t = ::c_uint;
5bcae85e 23pub type sem_t = ::c_int;
92a42be0
SL
24
25pub enum timezone {}
26
27s! {
28 pub struct glob_t {
29 pub gl_pathc: ::size_t,
30 __unused1: ::c_int,
31 pub gl_offs: ::size_t,
32 __unused2: ::c_int,
33 pub gl_pathv: *mut *mut ::c_char,
34
35 __unused3: *mut ::c_void,
36
37 __unused4: *mut ::c_void,
38 __unused5: *mut ::c_void,
39 __unused6: *mut ::c_void,
40 __unused7: *mut ::c_void,
41 __unused8: *mut ::c_void,
42 }
43
44 pub struct sockaddr_storage {
45 pub ss_len: u8,
46 pub ss_family: ::sa_family_t,
47 __ss_pad1: [u8; 6],
48 __ss_align: i64,
49 __ss_pad2: [u8; 112],
50 }
51
52 pub struct addrinfo {
53 pub ai_flags: ::c_int,
54 pub ai_family: ::c_int,
55 pub ai_socktype: ::c_int,
56 pub ai_protocol: ::c_int,
57 pub ai_addrlen: ::socklen_t,
58 pub ai_canonname: *mut ::c_char,
59 pub ai_addr: *mut ::sockaddr,
60 pub ai_next: *mut addrinfo,
61 }
62
63 pub struct mach_timebase_info {
64 pub numer: u32,
65 pub denom: u32,
66 }
67
68 pub struct stat {
69 pub st_dev: dev_t,
70 pub st_mode: mode_t,
71 pub st_nlink: nlink_t,
72 pub st_ino: ino_t,
73 pub st_uid: ::uid_t,
74 pub st_gid: ::gid_t,
75 pub st_rdev: dev_t,
76 pub st_atime: time_t,
77 pub st_atime_nsec: c_long,
78 pub st_mtime: time_t,
79 pub st_mtime_nsec: c_long,
80 pub st_ctime: time_t,
81 pub st_ctime_nsec: c_long,
82 pub st_birthtime: time_t,
83 pub st_birthtime_nsec: c_long,
84 pub st_size: ::off_t,
85 pub st_blocks: ::blkcnt_t,
86 pub st_blksize: blksize_t,
87 pub st_flags: ::uint32_t,
88 pub st_gen: ::uint32_t,
89 pub st_lspare: ::int32_t,
90 pub st_qspare: [::int64_t; 2],
91 }
92
93 pub struct dirent {
94 pub d_ino: u64,
95 pub d_seekoff: u64,
96 pub d_reclen: u16,
97 pub d_namlen: u16,
98 pub d_type: u8,
99 pub d_name: [::c_char; 1024],
100 }
101
102 pub struct pthread_mutex_t {
103 __sig: ::c_long,
104 __opaque: [u8; __PTHREAD_MUTEX_SIZE__],
105 }
106
107 pub struct pthread_mutexattr_t {
108 __sig: ::c_long,
109 __opaque: [u8; 8],
110 }
111
112 pub struct pthread_cond_t {
113 __sig: ::c_long,
114 __opaque: [u8; __PTHREAD_COND_SIZE__],
115 }
116
5bcae85e
SL
117 pub struct pthread_condattr_t {
118 __sig: ::c_long,
119 __opaque: [u8; __PTHREAD_CONDATTR_SIZE__],
120 }
121
92a42be0
SL
122 pub struct pthread_rwlock_t {
123 __sig: ::c_long,
124 __opaque: [u8; __PTHREAD_RWLOCK_SIZE__],
125 }
126
127 pub struct siginfo_t {
128 pub si_signo: ::c_int,
129 pub si_errno: ::c_int,
130 pub si_code: ::c_int,
131 pub si_pid: ::pid_t,
132 pub si_uid: ::uid_t,
133 pub si_status: ::c_int,
134 pub si_addr: *mut ::c_void,
135 _pad: [usize; 9],
136 }
137
138 pub struct sigaction {
139 pub sa_sigaction: ::sighandler_t,
140 pub sa_mask: sigset_t,
141 pub sa_flags: ::c_int,
142 }
143
144 pub struct stack_t {
145 pub ss_sp: *mut ::c_void,
146 pub ss_size: ::size_t,
147 pub ss_flags: ::c_int,
148 }
149
150 pub struct fstore_t {
151 pub fst_flags: ::c_uint,
152 pub fst_posmode: ::c_int,
153 pub fst_offset: ::off_t,
154 pub fst_length: ::off_t,
155 pub fst_bytesalloc: ::off_t,
156 }
157
158 pub struct radvisory {
159 pub ra_offset: ::off_t,
160 pub ra_count: ::c_int,
161 }
162
163 pub struct statvfs {
164 pub f_bsize: ::c_ulong,
165 pub f_frsize: ::c_ulong,
166 pub f_blocks: ::fsblkcnt_t,
167 pub f_bfree: ::fsblkcnt_t,
168 pub f_bavail: ::fsblkcnt_t,
169 pub f_files: ::fsfilcnt_t,
170 pub f_ffree: ::fsfilcnt_t,
171 pub f_favail: ::fsfilcnt_t,
172 pub f_fsid: ::c_ulong,
173 pub f_flag: ::c_ulong,
174 pub f_namemax: ::c_ulong,
175 }
9cc50fc6
SL
176
177 pub struct Dl_info {
178 pub dli_fname: *const ::c_char,
179 pub dli_fbase: *mut ::c_void,
180 pub dli_sname: *const ::c_char,
181 pub dli_saddr: *mut ::c_void,
182 }
183
184 pub struct sockaddr_in {
185 pub sin_len: u8,
186 pub sin_family: ::sa_family_t,
187 pub sin_port: ::in_port_t,
188 pub sin_addr: ::in_addr,
189 pub sin_zero: [::c_char; 8],
190 }
191
192 pub struct statfs {
193 pub f_bsize: ::uint32_t,
194 pub f_iosize: ::int32_t,
195 pub f_blocks: ::uint64_t,
196 pub f_bfree: ::uint64_t,
197 pub f_bavail: ::uint64_t,
198 pub f_files: ::uint64_t,
199 pub f_ffree: ::uint64_t,
200 pub f_fsid: ::fsid_t,
201 pub f_owner: ::uid_t,
202 pub f_type: ::uint32_t,
203 pub f_flags: ::uint32_t,
204 pub f_fssubtype: ::uint32_t,
205 pub f_fstypename: [::c_char; 16],
206 pub f_mntonname: [::c_char; 1024],
207 pub f_mntfromname: [::c_char; 1024],
208 pub f_reserved: [::uint32_t; 8],
209 }
210
211 // FIXME: this should have align 4 but it's got align 8 on 64-bit
212 pub struct kevent {
213 pub ident: ::uintptr_t,
214 pub filter: ::int16_t,
215 pub flags: ::uint16_t,
216 pub fflags: ::uint32_t,
217 pub data: ::intptr_t,
218 pub udata: *mut ::c_void,
219 }
220
221 pub struct kevent64_s {
222 pub ident: ::uint64_t,
223 pub filter: ::int16_t,
224 pub flags: ::uint16_t,
225 pub fflags: ::uint32_t,
226 pub data: ::int64_t,
227 pub udata: ::uint64_t,
228 pub ext: [::uint64_t; 2],
229 }
230
231 pub struct dqblk {
232 pub dqb_bhardlimit: ::uint64_t,
233 pub dqb_bsoftlimit: ::uint64_t,
234 pub dqb_curbytes: ::uint64_t,
235 pub dqb_ihardlimit: ::uint32_t,
236 pub dqb_isoftlimit: ::uint32_t,
237 pub dqb_curinodes: ::uint32_t,
238 pub dqb_btime: ::uint32_t,
239 pub dqb_itime: ::uint32_t,
240 pub dqb_id: ::uint32_t,
241 pub dqb_spare: [::uint32_t; 4],
242 }
243
244 pub struct termios {
245 pub c_iflag: ::tcflag_t,
246 pub c_oflag: ::tcflag_t,
247 pub c_cflag: ::tcflag_t,
248 pub c_lflag: ::tcflag_t,
249 pub c_cc: [::cc_t; ::NCCS],
250 pub c_ispeed: ::speed_t,
251 pub c_ospeed: ::speed_t,
252 }
7453a54e
SL
253
254 pub struct flock {
255 pub l_start: ::off_t,
256 pub l_len: ::off_t,
257 pub l_pid: ::pid_t,
258 pub l_type: ::c_short,
259 pub l_whence: ::c_short,
260 }
261
262 pub struct sf_hdtr {
263 pub headers: *mut ::iovec,
264 pub hdr_cnt: ::c_int,
265 pub trailers: *mut ::iovec,
266 pub trl_cnt: ::c_int,
267 }
54a0048b
SL
268
269 pub struct lconv {
270 pub decimal_point: *mut ::c_char,
271 pub thousands_sep: *mut ::c_char,
272 pub grouping: *mut ::c_char,
273 pub int_curr_symbol: *mut ::c_char,
274 pub currency_symbol: *mut ::c_char,
275 pub mon_decimal_point: *mut ::c_char,
276 pub mon_thousands_sep: *mut ::c_char,
277 pub mon_grouping: *mut ::c_char,
278 pub positive_sign: *mut ::c_char,
279 pub negative_sign: *mut ::c_char,
280 pub int_frac_digits: ::c_char,
281 pub frac_digits: ::c_char,
282 pub p_cs_precedes: ::c_char,
283 pub p_sep_by_space: ::c_char,
284 pub n_cs_precedes: ::c_char,
285 pub n_sep_by_space: ::c_char,
286 pub p_sign_posn: ::c_char,
287 pub n_sign_posn: ::c_char,
288 pub int_p_cs_precedes: ::c_char,
289 pub int_n_cs_precedes: ::c_char,
290 pub int_p_sep_by_space: ::c_char,
291 pub int_n_sep_by_space: ::c_char,
292 pub int_p_sign_posn: ::c_char,
293 pub int_n_sign_posn: ::c_char,
294 }
92a42be0
SL
295}
296
a7813a04
XL
297pub const LC_COLLATE_MASK: ::c_int = (1 << 0);
298pub const LC_CTYPE_MASK: ::c_int = (1 << 1);
299pub const LC_MESSAGES_MASK: ::c_int = (1 << 2);
300pub const LC_MONETARY_MASK: ::c_int = (1 << 3);
301pub const LC_NUMERIC_MASK: ::c_int = (1 << 4);
302pub const LC_TIME_MASK: ::c_int = (1 << 5);
303pub const LC_ALL_MASK: ::c_int = LC_COLLATE_MASK
304 | LC_CTYPE_MASK
305 | LC_MESSAGES_MASK
306 | LC_MONETARY_MASK
307 | LC_NUMERIC_MASK
308 | LC_TIME_MASK;
309
310pub const CODESET: ::nl_item = 0;
311pub const D_T_FMT: ::nl_item = 1;
312pub const D_FMT: ::nl_item = 2;
313pub const T_FMT: ::nl_item = 3;
314pub const T_FMT_AMPM: ::nl_item = 4;
315pub const AM_STR: ::nl_item = 5;
316pub const PM_STR: ::nl_item = 6;
317
318pub const DAY_1: ::nl_item = 7;
319pub const DAY_2: ::nl_item = 8;
320pub const DAY_3: ::nl_item = 9;
321pub const DAY_4: ::nl_item = 10;
322pub const DAY_5: ::nl_item = 11;
323pub const DAY_6: ::nl_item = 12;
324pub const DAY_7: ::nl_item = 13;
325
326pub const ABDAY_1: ::nl_item = 14;
327pub const ABDAY_2: ::nl_item = 15;
328pub const ABDAY_3: ::nl_item = 16;
329pub const ABDAY_4: ::nl_item = 17;
330pub const ABDAY_5: ::nl_item = 18;
331pub const ABDAY_6: ::nl_item = 19;
332pub const ABDAY_7: ::nl_item = 20;
333
334pub const MON_1: ::nl_item = 21;
335pub const MON_2: ::nl_item = 22;
336pub const MON_3: ::nl_item = 23;
337pub const MON_4: ::nl_item = 24;
338pub const MON_5: ::nl_item = 25;
339pub const MON_6: ::nl_item = 26;
340pub const MON_7: ::nl_item = 27;
341pub const MON_8: ::nl_item = 28;
342pub const MON_9: ::nl_item = 29;
343pub const MON_10: ::nl_item = 30;
344pub const MON_11: ::nl_item = 31;
345pub const MON_12: ::nl_item = 32;
346
347pub const ABMON_1: ::nl_item = 33;
348pub const ABMON_2: ::nl_item = 34;
349pub const ABMON_3: ::nl_item = 35;
350pub const ABMON_4: ::nl_item = 36;
351pub const ABMON_5: ::nl_item = 37;
352pub const ABMON_6: ::nl_item = 38;
353pub const ABMON_7: ::nl_item = 39;
354pub const ABMON_8: ::nl_item = 40;
355pub const ABMON_9: ::nl_item = 41;
356pub const ABMON_10: ::nl_item = 42;
357pub const ABMON_11: ::nl_item = 43;
358pub const ABMON_12: ::nl_item = 44;
359
360pub const ERA: ::nl_item = 45;
361pub const ERA_D_FMT: ::nl_item = 46;
362pub const ERA_D_T_FMT: ::nl_item = 47;
363pub const ERA_T_FMT: ::nl_item = 48;
364pub const ALT_DIGITS: ::nl_item = 49;
365
366pub const RADIXCHAR: ::nl_item = 50;
367pub const THOUSEP: ::nl_item = 51;
368
369pub const YESEXPR: ::nl_item = 52;
370pub const NOEXPR: ::nl_item = 53;
371
372pub const YESSTR: ::nl_item = 54;
373pub const NOSTR: ::nl_item = 55;
374
375pub const CRNCYSTR: ::nl_item = 56;
376
377pub const D_MD_ORDER: ::nl_item = 57;
378
92a42be0
SL
379pub const EXIT_FAILURE: ::c_int = 1;
380pub const EXIT_SUCCESS: ::c_int = 0;
381pub const RAND_MAX: ::c_int = 2147483647;
382pub const EOF: ::c_int = -1;
383pub const SEEK_SET: ::c_int = 0;
384pub const SEEK_CUR: ::c_int = 1;
385pub const SEEK_END: ::c_int = 2;
386pub const _IOFBF: ::c_int = 0;
387pub const _IONBF: ::c_int = 2;
388pub const _IOLBF: ::c_int = 1;
389pub const BUFSIZ: ::c_uint = 1024;
390pub const FOPEN_MAX: ::c_uint = 20;
391pub const FILENAME_MAX: ::c_uint = 1024;
392pub const L_tmpnam: ::c_uint = 1024;
393pub const TMP_MAX: ::c_uint = 308915776;
5bcae85e
SL
394pub const _PC_LINK_MAX: ::c_int = 1;
395pub const _PC_MAX_CANON: ::c_int = 2;
396pub const _PC_MAX_INPUT: ::c_int = 3;
92a42be0 397pub const _PC_NAME_MAX: ::c_int = 4;
5bcae85e
SL
398pub const _PC_PATH_MAX: ::c_int = 5;
399pub const _PC_PIPE_BUF: ::c_int = 6;
400pub const _PC_CHOWN_RESTRICTED: ::c_int = 7;
401pub const _PC_NO_TRUNC: ::c_int = 8;
402pub const _PC_VDISABLE: ::c_int = 9;
92a42be0
SL
403pub const O_RDONLY: ::c_int = 0;
404pub const O_WRONLY: ::c_int = 1;
405pub const O_RDWR: ::c_int = 2;
406pub const O_APPEND: ::c_int = 8;
407pub const O_CREAT: ::c_int = 512;
408pub const O_EXCL: ::c_int = 2048;
409pub const O_NOCTTY: ::c_int = 131072;
410pub const O_TRUNC: ::c_int = 1024;
411pub const O_CLOEXEC: ::c_int = 0x1000000;
9cc50fc6 412pub const O_DIRECTORY: ::c_int = 0x100000;
92a42be0
SL
413pub const S_IFIFO: mode_t = 4096;
414pub const S_IFCHR: mode_t = 8192;
415pub const S_IFBLK: mode_t = 24576;
416pub const S_IFDIR: mode_t = 16384;
417pub const S_IFREG: mode_t = 32768;
418pub const S_IFLNK: mode_t = 40960;
419pub const S_IFSOCK: mode_t = 49152;
420pub const S_IFMT: mode_t = 61440;
421pub const S_IEXEC: mode_t = 64;
422pub const S_IWRITE: mode_t = 128;
423pub const S_IREAD: mode_t = 256;
424pub const S_IRWXU: mode_t = 448;
425pub const S_IXUSR: mode_t = 64;
426pub const S_IWUSR: mode_t = 128;
427pub const S_IRUSR: mode_t = 256;
428pub const S_IRWXG: mode_t = 56;
429pub const S_IXGRP: mode_t = 8;
430pub const S_IWGRP: mode_t = 16;
431pub const S_IRGRP: mode_t = 32;
432pub const S_IRWXO: mode_t = 7;
433pub const S_IXOTH: mode_t = 1;
434pub const S_IWOTH: mode_t = 2;
435pub const S_IROTH: mode_t = 4;
436pub const F_OK: ::c_int = 0;
437pub const R_OK: ::c_int = 4;
438pub const W_OK: ::c_int = 2;
439pub const X_OK: ::c_int = 1;
440pub const STDIN_FILENO: ::c_int = 0;
441pub const STDOUT_FILENO: ::c_int = 1;
442pub const STDERR_FILENO: ::c_int = 2;
443pub const F_LOCK: ::c_int = 1;
444pub const F_TEST: ::c_int = 3;
445pub const F_TLOCK: ::c_int = 2;
446pub const F_ULOCK: ::c_int = 0;
7453a54e
SL
447pub const F_GETLK: ::c_int = 7;
448pub const F_SETLK: ::c_int = 8;
449pub const F_SETLKW: ::c_int = 9;
92a42be0
SL
450pub const SIGHUP: ::c_int = 1;
451pub const SIGINT: ::c_int = 2;
452pub const SIGQUIT: ::c_int = 3;
453pub const SIGILL: ::c_int = 4;
454pub const SIGABRT: ::c_int = 6;
a7813a04 455pub const SIGEMT: ::c_int = 7;
92a42be0
SL
456pub const SIGFPE: ::c_int = 8;
457pub const SIGKILL: ::c_int = 9;
458pub const SIGSEGV: ::c_int = 11;
459pub const SIGPIPE: ::c_int = 13;
460pub const SIGALRM: ::c_int = 14;
461pub const SIGTERM: ::c_int = 15;
462
463pub const PROT_NONE: ::c_int = 0;
464pub const PROT_READ: ::c_int = 1;
465pub const PROT_WRITE: ::c_int = 2;
466pub const PROT_EXEC: ::c_int = 4;
467
468pub const MAP_FILE: ::c_int = 0x0000;
469pub const MAP_SHARED: ::c_int = 0x0001;
470pub const MAP_PRIVATE: ::c_int = 0x0002;
471pub const MAP_FIXED: ::c_int = 0x0010;
472pub const MAP_ANON: ::c_int = 0x1000;
473
474pub const MAP_FAILED: *mut ::c_void = !0 as *mut ::c_void;
475
476pub const MCL_CURRENT: ::c_int = 0x0001;
477pub const MCL_FUTURE: ::c_int = 0x0002;
478
479pub const MS_ASYNC: ::c_int = 0x0001;
480pub const MS_INVALIDATE: ::c_int = 0x0002;
481pub const MS_SYNC: ::c_int = 0x0010;
482
483pub const MS_KILLPAGES: ::c_int = 0x0004;
484pub const MS_DEACTIVATE: ::c_int = 0x0008;
485
486pub const EPERM: ::c_int = 1;
487pub const ENOENT: ::c_int = 2;
488pub const ESRCH: ::c_int = 3;
489pub const EINTR: ::c_int = 4;
490pub const EIO: ::c_int = 5;
491pub const ENXIO: ::c_int = 6;
492pub const E2BIG: ::c_int = 7;
493pub const ENOEXEC: ::c_int = 8;
494pub const EBADF: ::c_int = 9;
495pub const ECHILD: ::c_int = 10;
496pub const EDEADLK: ::c_int = 11;
497pub const ENOMEM: ::c_int = 12;
498pub const EACCES: ::c_int = 13;
499pub const EFAULT: ::c_int = 14;
500pub const ENOTBLK: ::c_int = 15;
501pub const EBUSY: ::c_int = 16;
502pub const EEXIST: ::c_int = 17;
503pub const EXDEV: ::c_int = 18;
504pub const ENODEV: ::c_int = 19;
505pub const ENOTDIR: ::c_int = 20;
506pub const EISDIR: ::c_int = 21;
507pub const EINVAL: ::c_int = 22;
508pub const ENFILE: ::c_int = 23;
509pub const EMFILE: ::c_int = 24;
510pub const ENOTTY: ::c_int = 25;
511pub const ETXTBSY: ::c_int = 26;
512pub const EFBIG: ::c_int = 27;
513pub const ENOSPC: ::c_int = 28;
514pub const ESPIPE: ::c_int = 29;
515pub const EROFS: ::c_int = 30;
516pub const EMLINK: ::c_int = 31;
517pub const EPIPE: ::c_int = 32;
518pub const EDOM: ::c_int = 33;
519pub const ERANGE: ::c_int = 34;
520pub const EAGAIN: ::c_int = 35;
521pub const EWOULDBLOCK: ::c_int = EAGAIN;
522pub const EINPROGRESS: ::c_int = 36;
523pub const EALREADY: ::c_int = 37;
524pub const ENOTSOCK: ::c_int = 38;
525pub const EDESTADDRREQ: ::c_int = 39;
526pub const EMSGSIZE: ::c_int = 40;
527pub const EPROTOTYPE: ::c_int = 41;
528pub const ENOPROTOOPT: ::c_int = 42;
529pub const EPROTONOSUPPORT: ::c_int = 43;
530pub const ESOCKTNOSUPPORT: ::c_int = 44;
531pub const ENOTSUP: ::c_int = 45;
532pub const EPFNOSUPPORT: ::c_int = 46;
533pub const EAFNOSUPPORT: ::c_int = 47;
534pub const EADDRINUSE: ::c_int = 48;
535pub const EADDRNOTAVAIL: ::c_int = 49;
536pub const ENETDOWN: ::c_int = 50;
537pub const ENETUNREACH: ::c_int = 51;
538pub const ENETRESET: ::c_int = 52;
539pub const ECONNABORTED: ::c_int = 53;
540pub const ECONNRESET: ::c_int = 54;
541pub const ENOBUFS: ::c_int = 55;
542pub const EISCONN: ::c_int = 56;
543pub const ENOTCONN: ::c_int = 57;
544pub const ESHUTDOWN: ::c_int = 58;
545pub const ETOOMANYREFS: ::c_int = 59;
546pub const ETIMEDOUT: ::c_int = 60;
547pub const ECONNREFUSED: ::c_int = 61;
548pub const ELOOP: ::c_int = 62;
549pub const ENAMETOOLONG: ::c_int = 63;
550pub const EHOSTDOWN: ::c_int = 64;
551pub const EHOSTUNREACH: ::c_int = 65;
552pub const ENOTEMPTY: ::c_int = 66;
553pub const EPROCLIM: ::c_int = 67;
554pub const EUSERS: ::c_int = 68;
555pub const EDQUOT: ::c_int = 69;
556pub const ESTALE: ::c_int = 70;
557pub const EREMOTE: ::c_int = 71;
558pub const EBADRPC: ::c_int = 72;
559pub const ERPCMISMATCH: ::c_int = 73;
560pub const EPROGUNAVAIL: ::c_int = 74;
561pub const EPROGMISMATCH: ::c_int = 75;
562pub const EPROCUNAVAIL: ::c_int = 76;
563pub const ENOLCK: ::c_int = 77;
564pub const ENOSYS: ::c_int = 78;
565pub const EFTYPE: ::c_int = 79;
566pub const EAUTH: ::c_int = 80;
567pub const ENEEDAUTH: ::c_int = 81;
568pub const EPWROFF: ::c_int = 82;
569pub const EDEVERR: ::c_int = 83;
570pub const EOVERFLOW: ::c_int = 84;
571pub const EBADEXEC: ::c_int = 85;
572pub const EBADARCH: ::c_int = 86;
573pub const ESHLIBVERS: ::c_int = 87;
574pub const EBADMACHO: ::c_int = 88;
575pub const ECANCELED: ::c_int = 89;
576pub const EIDRM: ::c_int = 90;
577pub const ENOMSG: ::c_int = 91;
578pub const EILSEQ: ::c_int = 92;
579pub const ENOATTR: ::c_int = 93;
580pub const EBADMSG: ::c_int = 94;
581pub const EMULTIHOP: ::c_int = 95;
582pub const ENODATA: ::c_int = 96;
583pub const ENOLINK: ::c_int = 97;
584pub const ENOSR: ::c_int = 98;
585pub const ENOSTR: ::c_int = 99;
586pub const EPROTO: ::c_int = 100;
587pub const ETIME: ::c_int = 101;
588pub const EOPNOTSUPP: ::c_int = 102;
589pub const ENOPOLICY: ::c_int = 103;
590pub const ENOTRECOVERABLE: ::c_int = 104;
591pub const EOWNERDEAD: ::c_int = 105;
592pub const EQFULL: ::c_int = 106;
593pub const ELAST: ::c_int = 106;
594
595pub const F_DUPFD: ::c_int = 0;
596pub const F_DUPFD_CLOEXEC: ::c_int = 67;
597pub const F_GETFD: ::c_int = 1;
598pub const F_SETFD: ::c_int = 2;
599pub const F_GETFL: ::c_int = 3;
600pub const F_SETFL: ::c_int = 4;
601pub const F_PREALLOCATE: ::c_int = 42;
602pub const F_RDADVISE: ::c_int = 44;
603pub const F_RDAHEAD: ::c_int = 45;
604pub const F_NOCACHE: ::c_int = 48;
605pub const F_GETPATH: ::c_int = 50;
606pub const F_FULLFSYNC: ::c_int = 51;
607pub const F_FREEZE_FS: ::c_int = 53;
608pub const F_THAW_FS: ::c_int = 54;
609pub const F_GLOBAL_NOCACHE: ::c_int = 55;
610pub const F_NODIRECT: ::c_int = 62;
611
612pub const F_ALLOCATECONTIG: ::c_uint = 0x02;
613pub const F_ALLOCATEALL: ::c_uint = 0x04;
614
615pub const F_PEOFPOSMODE: ::c_int = 3;
616pub const F_VOLPOSMODE: ::c_int = 4;
617
618pub const O_ACCMODE: ::c_int = 3;
619
54a0048b
SL
620pub const TIOCMODG: ::c_ulong = 0x40047403;
621pub const TIOCMODS: ::c_ulong = 0x80047404;
622pub const TIOCM_LE: ::c_int = 0x1;
623pub const TIOCM_DTR: ::c_int = 0x2;
624pub const TIOCM_RTS: ::c_int = 0x4;
625pub const TIOCM_ST: ::c_int = 0x8;
626pub const TIOCM_SR: ::c_int = 0x10;
627pub const TIOCM_CTS: ::c_int = 0x20;
628pub const TIOCM_CAR: ::c_int = 0x40;
629pub const TIOCM_CD: ::c_int = 0x40;
630pub const TIOCM_RNG: ::c_int = 0x80;
631pub const TIOCM_RI: ::c_int = 0x80;
632pub const TIOCM_DSR: ::c_int = 0x100;
633pub const TIOCEXCL: ::c_int = 0x2000740d;
634pub const TIOCNXCL: ::c_int = 0x2000740e;
635pub const TIOCFLUSH: ::c_ulong = 0x80047410;
636pub const TIOCGETD: ::c_ulong = 0x4004741a;
637pub const TIOCSETD: ::c_ulong = 0x8004741b;
638pub const TIOCIXON: ::c_uint = 0x20007481;
639pub const TIOCIXOFF: ::c_uint = 0x20007480;
640pub const TIOCSBRK: ::c_uint = 0x2000747b;
641pub const TIOCCBRK: ::c_uint = 0x2000747a;
642pub const TIOCSDTR: ::c_uint = 0x20007479;
643pub const TIOCCDTR: ::c_uint = 0x20007478;
644pub const TIOCGPGRP: ::c_ulong = 0x40047477;
645pub const TIOCSPGRP: ::c_ulong = 0x80047476;
646pub const TIOCOUTQ: ::c_ulong = 0x40047473;
647pub const TIOCSTI: ::c_ulong = 0x80017472;
648pub const TIOCNOTTY: ::c_uint = 0x20007471;
649pub const TIOCPKT: ::c_ulong = 0x80047470;
650pub const TIOCPKT_DATA: ::c_int = 0x0;
651pub const TIOCPKT_FLUSHREAD: ::c_int = 0x1;
652pub const TIOCPKT_FLUSHWRITE: ::c_int = 0x2;
653pub const TIOCPKT_STOP: ::c_int = 0x4;
654pub const TIOCPKT_START: ::c_int = 0x8;
655pub const TIOCPKT_NOSTOP: ::c_int = 0x10;
656pub const TIOCPKT_DOSTOP: ::c_int = 0x20;
657pub const TIOCPKT_IOCTL: ::c_int = 0x40;
658pub const TIOCSTOP: ::c_uint = 0x2000746f;
659pub const TIOCSTART: ::c_uint = 0x2000746e;
660pub const TIOCMSET: ::c_ulong = 0x8004746d;
661pub const TIOCMBIS: ::c_ulong = 0x8004746c;
662pub const TIOCMBIC: ::c_ulong = 0x8004746b;
663pub const TIOCMGET: ::c_ulong = 0x4004746a;
664pub const TIOCREMOTE: ::c_ulong = 0x80047469;
665pub const TIOCGWINSZ: ::c_ulong = 0x40087468;
666pub const TIOCSWINSZ: ::c_ulong = 0x80087467;
667pub const TIOCUCNTL: ::c_ulong = 0x80047466;
668pub const TIOCSTAT: ::c_uint = 0x20007465;
669pub const TIOCSCONS: ::c_uint = 0x20007463;
670pub const TIOCCONS: ::c_ulong = 0x80047462;
671pub const TIOCSCTTY: ::c_uint = 0x20007461;
672pub const TIOCEXT: ::c_ulong = 0x80047460;
673pub const TIOCSIG: ::c_uint = 0x2000745f;
674pub const TIOCDRAIN: ::c_uint = 0x2000745e;
675pub const TIOCMSDTRWAIT: ::c_ulong = 0x8004745b;
676pub const TIOCMGDTRWAIT: ::c_ulong = 0x4004745a;
677pub const TIOCSDRAINWAIT: ::c_ulong = 0x80047457;
678pub const TIOCGDRAINWAIT: ::c_ulong = 0x40047456;
679pub const TIOCDSIMICROCODE: ::c_uint = 0x20007455;
680pub const TIOCPTYGRANT: ::c_uint = 0x20007454;
681pub const TIOCPTYGNAME: ::c_uint = 0x40807453;
682pub const TIOCPTYUNLK: ::c_uint = 0x20007452;
683
92a42be0
SL
684pub const SIGTRAP: ::c_int = 5;
685
686pub const GLOB_APPEND : ::c_int = 0x0001;
687pub const GLOB_DOOFFS : ::c_int = 0x0002;
688pub const GLOB_ERR : ::c_int = 0x0004;
689pub const GLOB_MARK : ::c_int = 0x0008;
690pub const GLOB_NOCHECK : ::c_int = 0x0010;
691pub const GLOB_NOSORT : ::c_int = 0x0020;
692pub const GLOB_NOESCAPE: ::c_int = 0x2000;
693
694pub const GLOB_NOSPACE : ::c_int = -1;
695pub const GLOB_ABORTED : ::c_int = -2;
696pub const GLOB_NOMATCH : ::c_int = -3;
697
698pub const POSIX_MADV_NORMAL: ::c_int = 0;
699pub const POSIX_MADV_RANDOM: ::c_int = 1;
700pub const POSIX_MADV_SEQUENTIAL: ::c_int = 2;
701pub const POSIX_MADV_WILLNEED: ::c_int = 3;
702pub const POSIX_MADV_DONTNEED: ::c_int = 4;
703
704pub const _SC_IOV_MAX: ::c_int = 56;
705pub const _SC_GETGR_R_SIZE_MAX: ::c_int = 70;
706pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 71;
707pub const _SC_LOGIN_NAME_MAX: ::c_int = 73;
708pub const _SC_MQ_PRIO_MAX: ::c_int = 75;
709pub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 82;
710pub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 83;
711pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: ::c_int = 85;
712pub const _SC_THREAD_KEYS_MAX: ::c_int = 86;
713pub const _SC_THREAD_PRIO_INHERIT: ::c_int = 87;
714pub const _SC_THREAD_PRIO_PROTECT: ::c_int = 88;
715pub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 89;
716pub const _SC_THREAD_PROCESS_SHARED: ::c_int = 90;
717pub const _SC_THREAD_SAFE_FUNCTIONS: ::c_int = 91;
718pub const _SC_THREAD_STACK_MIN: ::c_int = 93;
719pub const _SC_THREAD_THREADS_MAX: ::c_int = 94;
720pub const _SC_THREADS: ::c_int = 96;
721pub const _SC_TTY_NAME_MAX: ::c_int = 101;
722pub const _SC_ATEXIT_MAX: ::c_int = 107;
723pub const _SC_XOPEN_CRYPT: ::c_int = 108;
724pub const _SC_XOPEN_ENH_I18N: ::c_int = 109;
725pub const _SC_XOPEN_LEGACY: ::c_int = 110;
726pub const _SC_XOPEN_REALTIME: ::c_int = 111;
727pub const _SC_XOPEN_REALTIME_THREADS: ::c_int = 112;
728pub const _SC_XOPEN_SHM: ::c_int = 113;
729pub const _SC_XOPEN_UNIX: ::c_int = 115;
730pub const _SC_XOPEN_VERSION: ::c_int = 116;
731pub const _SC_XOPEN_XCU_VERSION: ::c_int = 121;
732
733pub const PTHREAD_CREATE_JOINABLE: ::c_int = 1;
734pub const PTHREAD_CREATE_DETACHED: ::c_int = 2;
735pub const PTHREAD_STACK_MIN: ::size_t = 8192;
736
737pub const RLIMIT_CPU: ::c_int = 0;
738pub const RLIMIT_FSIZE: ::c_int = 1;
739pub const RLIMIT_DATA: ::c_int = 2;
740pub const RLIMIT_STACK: ::c_int = 3;
741pub const RLIMIT_CORE: ::c_int = 4;
742pub const RLIMIT_AS: ::c_int = 5;
a7813a04 743pub const RLIMIT_RSS: ::c_int = RLIMIT_AS;
92a42be0
SL
744pub const RLIMIT_MEMLOCK: ::c_int = 6;
745pub const RLIMIT_NPROC: ::c_int = 7;
746pub const RLIMIT_NOFILE: ::c_int = 8;
747pub const RLIM_NLIMITS: ::c_int = 9;
748pub const _RLIMIT_POSIX_FLAG: ::c_int = 0x1000;
749
750pub const RLIM_INFINITY: rlim_t = 0x7fff_ffff_ffff_ffff;
751
752pub const RUSAGE_SELF: ::c_int = 0;
753pub const RUSAGE_CHILDREN: ::c_int = -1;
754
755pub const MADV_NORMAL: ::c_int = 0;
756pub const MADV_RANDOM: ::c_int = 1;
757pub const MADV_SEQUENTIAL: ::c_int = 2;
758pub const MADV_WILLNEED: ::c_int = 3;
759pub const MADV_DONTNEED: ::c_int = 4;
760pub const MADV_FREE: ::c_int = 5;
761pub const MADV_ZERO_WIRED_PAGES: ::c_int = 6;
762pub const MADV_FREE_REUSABLE: ::c_int = 7;
763pub const MADV_FREE_REUSE: ::c_int = 8;
764pub const MADV_CAN_REUSE: ::c_int = 9;
765
766pub const MINCORE_INCORE: ::c_int = 0x1;
767pub const MINCORE_REFERENCED: ::c_int = 0x2;
768pub const MINCORE_MODIFIED: ::c_int = 0x4;
769pub const MINCORE_REFERENCED_OTHER: ::c_int = 0x8;
770pub const MINCORE_MODIFIED_OTHER: ::c_int = 0x10;
771
772pub const AF_UNIX: ::c_int = 1;
773pub const AF_INET: ::c_int = 2;
774pub const AF_INET6: ::c_int = 30;
775pub const SOCK_STREAM: ::c_int = 1;
776pub const SOCK_DGRAM: ::c_int = 2;
777pub const SOCK_RAW: ::c_int = 3;
3157f602 778pub const SOCK_SEQPACKET: ::c_int = 5;
92a42be0
SL
779pub const IPPROTO_TCP: ::c_int = 6;
780pub const IPPROTO_IP: ::c_int = 0;
781pub const IPPROTO_IPV6: ::c_int = 41;
782pub const IP_MULTICAST_TTL: ::c_int = 10;
783pub const IP_MULTICAST_LOOP: ::c_int = 11;
784pub const IP_TTL: ::c_int = 4;
785pub const IP_HDRINCL: ::c_int = 2;
786pub const IP_ADD_MEMBERSHIP: ::c_int = 12;
787pub const IP_DROP_MEMBERSHIP: ::c_int = 13;
788pub const IPV6_JOIN_GROUP: ::c_int = 12;
789pub const IPV6_LEAVE_GROUP: ::c_int = 13;
790
791pub const TCP_NODELAY: ::c_int = 0x01;
792pub const TCP_KEEPALIVE: ::c_int = 0x10;
793pub const SOL_SOCKET: ::c_int = 0xffff;
794
795pub const SO_DEBUG: ::c_int = 0x01;
796pub const SO_ACCEPTCONN: ::c_int = 0x0002;
797pub const SO_REUSEADDR: ::c_int = 0x0004;
798pub const SO_KEEPALIVE: ::c_int = 0x0008;
799pub const SO_DONTROUTE: ::c_int = 0x0010;
800pub const SO_BROADCAST: ::c_int = 0x0020;
801pub const SO_USELOOPBACK: ::c_int = 0x0040;
802pub const SO_LINGER: ::c_int = 0x0080;
803pub const SO_OOBINLINE: ::c_int = 0x0100;
804pub const SO_REUSEPORT: ::c_int = 0x0200;
805pub const SO_SNDBUF: ::c_int = 0x1001;
806pub const SO_RCVBUF: ::c_int = 0x1002;
807pub const SO_SNDLOWAT: ::c_int = 0x1003;
808pub const SO_RCVLOWAT: ::c_int = 0x1004;
809pub const SO_SNDTIMEO: ::c_int = 0x1005;
810pub const SO_RCVTIMEO: ::c_int = 0x1006;
811pub const SO_ERROR: ::c_int = 0x1007;
812pub const SO_TYPE: ::c_int = 0x1008;
813
814pub const IFF_LOOPBACK: ::c_int = 0x8;
815
816pub const SHUT_RD: ::c_int = 0;
817pub const SHUT_WR: ::c_int = 1;
818pub const SHUT_RDWR: ::c_int = 2;
819
820pub const LOCK_SH: ::c_int = 1;
821pub const LOCK_EX: ::c_int = 2;
822pub const LOCK_NB: ::c_int = 4;
823pub const LOCK_UN: ::c_int = 8;
824
825pub const O_DSYNC: ::c_int = 4194304;
826pub const O_SYNC: ::c_int = 128;
827pub const O_NONBLOCK: ::c_int = 4;
828
829pub const MAP_COPY: ::c_int = 0x0002;
830pub const MAP_RENAME: ::c_int = 0x0020;
831pub const MAP_NORESERVE: ::c_int = 0x0040;
832pub const MAP_NOEXTEND: ::c_int = 0x0100;
833pub const MAP_HASSEMAPHORE: ::c_int = 0x0200;
834pub const MAP_NOCACHE: ::c_int = 0x0400;
835pub const MAP_JIT: ::c_int = 0x0800;
836
837pub const IPPROTO_RAW: ::c_int = 255;
838
839pub const SO_NREAD: ::c_int = 0x1020;
840pub const SO_NKE: ::c_int = 0x1021;
841pub const SO_NOSIGPIPE: ::c_int = 0x1022;
842pub const SO_NOADDRERR: ::c_int = 0x1023;
843pub const SO_NWRITE: ::c_int = 0x1024;
844pub const SO_DONTTRUNC: ::c_int = 0x2000;
845pub const SO_WANTMORE: ::c_int = 0x4000;
846pub const SO_WANTOOBFLAG: ::c_int = 0x8000;
847
92a42be0
SL
848pub const _SC_ARG_MAX: ::c_int = 1;
849pub const _SC_CHILD_MAX: ::c_int = 2;
850pub const _SC_CLK_TCK: ::c_int = 3;
851pub const _SC_NGROUPS_MAX: ::c_int = 4;
852pub const _SC_OPEN_MAX: ::c_int = 5;
853pub const _SC_JOB_CONTROL: ::c_int = 6;
854pub const _SC_SAVED_IDS: ::c_int = 7;
855pub const _SC_VERSION: ::c_int = 8;
856pub const _SC_BC_BASE_MAX: ::c_int = 9;
857pub const _SC_BC_DIM_MAX: ::c_int = 10;
858pub const _SC_BC_SCALE_MAX: ::c_int = 11;
859pub const _SC_BC_STRING_MAX: ::c_int = 12;
860pub const _SC_COLL_WEIGHTS_MAX: ::c_int = 13;
861pub const _SC_EXPR_NEST_MAX: ::c_int = 14;
862pub const _SC_LINE_MAX: ::c_int = 15;
863pub const _SC_RE_DUP_MAX: ::c_int = 16;
864pub const _SC_2_VERSION: ::c_int = 17;
865pub const _SC_2_C_BIND: ::c_int = 18;
866pub const _SC_2_C_DEV: ::c_int = 19;
867pub const _SC_2_CHAR_TERM: ::c_int = 20;
868pub const _SC_2_FORT_DEV: ::c_int = 21;
869pub const _SC_2_FORT_RUN: ::c_int = 22;
870pub const _SC_2_LOCALEDEF: ::c_int = 23;
871pub const _SC_2_SW_DEV: ::c_int = 24;
872pub const _SC_2_UPE: ::c_int = 25;
873pub const _SC_STREAM_MAX: ::c_int = 26;
874pub const _SC_TZNAME_MAX: ::c_int = 27;
875pub const _SC_ASYNCHRONOUS_IO: ::c_int = 28;
876pub const _SC_PAGESIZE: ::c_int = 29;
877pub const _SC_MEMLOCK: ::c_int = 30;
878pub const _SC_MEMLOCK_RANGE: ::c_int = 31;
879pub const _SC_MEMORY_PROTECTION: ::c_int = 32;
880pub const _SC_MESSAGE_PASSING: ::c_int = 33;
881pub const _SC_PRIORITIZED_IO: ::c_int = 34;
882pub const _SC_PRIORITY_SCHEDULING: ::c_int = 35;
883pub const _SC_REALTIME_SIGNALS: ::c_int = 36;
884pub const _SC_SEMAPHORES: ::c_int = 37;
885pub const _SC_FSYNC: ::c_int = 38;
886pub const _SC_SHARED_MEMORY_OBJECTS: ::c_int = 39;
887pub const _SC_SYNCHRONIZED_IO: ::c_int = 40;
888pub const _SC_TIMERS: ::c_int = 41;
889pub const _SC_AIO_LISTIO_MAX: ::c_int = 42;
890pub const _SC_AIO_MAX: ::c_int = 43;
891pub const _SC_AIO_PRIO_DELTA_MAX: ::c_int = 44;
892pub const _SC_DELAYTIMER_MAX: ::c_int = 45;
893pub const _SC_MQ_OPEN_MAX: ::c_int = 46;
894pub const _SC_MAPPED_FILES: ::c_int = 47;
895pub const _SC_RTSIG_MAX: ::c_int = 48;
896pub const _SC_SEM_NSEMS_MAX: ::c_int = 49;
897pub const _SC_SEM_VALUE_MAX: ::c_int = 50;
898pub const _SC_SIGQUEUE_MAX: ::c_int = 51;
899pub const _SC_TIMER_MAX: ::c_int = 52;
900pub const _SC_NPROCESSORS_CONF: ::c_int = 57;
901pub const _SC_NPROCESSORS_ONLN: ::c_int = 58;
902pub const _SC_2_PBS: ::c_int = 59;
903pub const _SC_2_PBS_ACCOUNTING: ::c_int = 60;
904pub const _SC_2_PBS_CHECKPOINT: ::c_int = 61;
905pub const _SC_2_PBS_LOCATE: ::c_int = 62;
906pub const _SC_2_PBS_MESSAGE: ::c_int = 63;
907pub const _SC_2_PBS_TRACK: ::c_int = 64;
908pub const _SC_ADVISORY_INFO: ::c_int = 65;
909pub const _SC_BARRIERS: ::c_int = 66;
910pub const _SC_CLOCK_SELECTION: ::c_int = 67;
911pub const _SC_CPUTIME: ::c_int = 68;
912pub const _SC_FILE_LOCKING: ::c_int = 69;
913pub const _SC_HOST_NAME_MAX: ::c_int = 72;
914pub const _SC_MONOTONIC_CLOCK: ::c_int = 74;
915pub const _SC_READER_WRITER_LOCKS: ::c_int = 76;
916pub const _SC_REGEXP: ::c_int = 77;
917pub const _SC_SHELL: ::c_int = 78;
918pub const _SC_SPAWN: ::c_int = 79;
919pub const _SC_SPIN_LOCKS: ::c_int = 80;
920pub const _SC_SPORADIC_SERVER: ::c_int = 81;
921pub const _SC_THREAD_CPUTIME: ::c_int = 84;
922pub const _SC_THREAD_SPORADIC_SERVER: ::c_int = 92;
923pub const _SC_TIMEOUTS: ::c_int = 95;
924pub const _SC_TRACE: ::c_int = 97;
925pub const _SC_TRACE_EVENT_FILTER: ::c_int = 98;
926pub const _SC_TRACE_INHERIT: ::c_int = 99;
927pub const _SC_TRACE_LOG: ::c_int = 100;
928pub const _SC_TYPED_MEMORY_OBJECTS: ::c_int = 102;
929pub const _SC_V6_ILP32_OFF32: ::c_int = 103;
930pub const _SC_V6_ILP32_OFFBIG: ::c_int = 104;
931pub const _SC_V6_LP64_OFF64: ::c_int = 105;
932pub const _SC_V6_LPBIG_OFFBIG: ::c_int = 106;
933pub const _SC_IPV6: ::c_int = 118;
934pub const _SC_RAW_SOCKETS: ::c_int = 119;
935pub const _SC_SYMLOOP_MAX: ::c_int = 120;
936pub const _SC_PAGE_SIZE: ::c_int = _SC_PAGESIZE;
937pub const _SC_XOPEN_STREAMS: ::c_int = 114;
938pub const _SC_XBS5_ILP32_OFF32: ::c_int = 122;
939pub const _SC_XBS5_ILP32_OFFBIG: ::c_int = 123;
940pub const _SC_XBS5_LP64_OFF64: ::c_int = 124;
941pub const _SC_XBS5_LPBIG_OFFBIG: ::c_int = 125;
942pub const _SC_SS_REPL_MAX: ::c_int = 126;
943pub const _SC_TRACE_EVENT_NAME_MAX: ::c_int = 127;
944pub const _SC_TRACE_NAME_MAX: ::c_int = 128;
945pub const _SC_TRACE_SYS_MAX: ::c_int = 129;
946pub const _SC_TRACE_USER_EVENT_MAX: ::c_int = 130;
947pub const _SC_PASS_MAX: ::c_int = 131;
948
3157f602
XL
949pub const PTHREAD_MUTEX_NORMAL: ::c_int = 0;
950pub const PTHREAD_MUTEX_ERRORCHECK: ::c_int = 1;
92a42be0 951pub const PTHREAD_MUTEX_RECURSIVE: ::c_int = 2;
3157f602 952pub const PTHREAD_MUTEX_DEFAULT: ::c_int = PTHREAD_MUTEX_NORMAL;
92a42be0
SL
953pub const _PTHREAD_MUTEX_SIG_init: ::c_long = 0x32AAABA7;
954pub const _PTHREAD_COND_SIG_init: ::c_long = 0x3CB0B1BB;
955pub const _PTHREAD_RWLOCK_SIG_init: ::c_long = 0x2DA8B3B4;
956pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t {
957 __sig: _PTHREAD_MUTEX_SIG_init,
958 __opaque: [0; __PTHREAD_MUTEX_SIZE__],
959};
960pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t {
961 __sig: _PTHREAD_COND_SIG_init,
962 __opaque: [0; __PTHREAD_COND_SIZE__],
963};
964pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t {
965 __sig: _PTHREAD_RWLOCK_SIG_init,
966 __opaque: [0; __PTHREAD_RWLOCK_SIZE__],
967};
968
969pub const SIGSTKSZ: ::size_t = 131072;
970
9cc50fc6
SL
971pub const FD_SETSIZE: usize = 1024;
972
973pub const ST_NOSUID: ::c_ulong = 2;
974
9cc50fc6
SL
975pub const EVFILT_AIO: ::int16_t = 0xfffd;
976pub const EVFILT_PROC: ::int16_t = 0xfffb;
977pub const EVFILT_READ: ::int16_t = 0xffff;
978pub const EVFILT_SIGNAL: ::int16_t = 0xfffa;
979pub const EVFILT_SYSCOUNT: ::int16_t = 0xe;
980pub const EVFILT_TIMER: ::int16_t = 0xfff9;
981pub const EVFILT_VNODE: ::int16_t = 0xfffc;
982pub const EVFILT_WRITE: ::int16_t = 0xfffe;
983pub const EVFILT_FS: ::int16_t = 0xfff7;
984pub const EVFILT_MACHPORT: ::int16_t = 0xfff8;
985pub const EVFILT_USER: ::int16_t = 0xfff6;
986pub const EVFILT_VM: ::int16_t = 0xfff4;
987
988pub const EV_DISPATCH: ::uint16_t = 0x80;
989pub const EV_FLAG0: ::uint16_t = 0x1000;
990pub const EV_OOBAND: ::uint16_t = 0x2000;
991pub const EV_POLL: ::uint16_t = 0x1000;
992pub const EV_RECEIPT: ::uint16_t = 0x40;
993
994pub const NOTE_ABSOLUTE: ::uint32_t = 0x8;
995pub const NOTE_EXITSTATUS: ::uint32_t = 0x04000000;
996pub const NOTE_EXIT_REPARENTED: ::uint32_t = 0x00080000;
997pub const NOTE_FFAND: ::uint32_t = 0x40000000;
998pub const NOTE_FFCOPY: ::uint32_t = 0xc0000000;
999pub const NOTE_FFCTRLMASK: ::uint32_t = 0xc0000000;
1000pub const NOTE_FFLAGSMASK: ::uint32_t = 0x00ffffff;
1001pub const NOTE_FFNOP: ::uint32_t = 0x0;
1002pub const NOTE_FFOR: ::uint32_t = 0x80000000;
1003pub const NOTE_NONE: ::uint32_t = 0x80;
1004pub const NOTE_NSECONDS: ::uint32_t = 0x4;
1005pub const NOTE_REAP: ::uint32_t = 0x10000000;
1006pub const NOTE_SECONDS: ::uint32_t = 0x1;
1007pub const NOTE_SIGNAL: ::uint32_t = 0x8000000;
1008pub const NOTE_TRIGGER: ::uint32_t = 0x01000000;
1009pub const NOTE_USECONDS: ::uint32_t = 0x2;
1010pub const NOTE_VM_ERROR: ::uint32_t = 0x10000000;
1011pub const NOTE_VM_PRESSURE: ::uint32_t = 0x80000000;
1012pub const NOTE_VM_PRESSURE_SUDDEN_TERMINATE: ::uint32_t = 0x20000000;
1013pub const NOTE_VM_PRESSURE_TERMINATE: ::uint32_t = 0x40000000;
1014pub const NOTE_PCTRLMASK: ::uint32_t = 0xfff00000;
1015
7453a54e
SL
1016pub const NL0: ::c_int = 0x00000000;
1017pub const NL1: ::c_int = 0x00000100;
1018pub const TAB0: ::c_int = 0x00000000;
1019pub const TAB1: ::c_int = 0x00000400;
1020pub const TAB2: ::c_int = 0x00000800;
1021pub const CR0: ::c_int = 0x00000000;
1022pub const CR1: ::c_int = 0x00001000;
1023pub const CR2: ::c_int = 0x00002000;
1024pub const CR3: ::c_int = 0x00003000;
1025pub const FF0: ::c_int = 0x00000000;
1026pub const FF1: ::c_int = 0x00004000;
1027pub const BS0: ::c_int = 0x00000000;
1028pub const BS1: ::c_int = 0x00008000;
9cc50fc6
SL
1029pub const TAB3: ::c_int = 0x00000004;
1030pub const VT0: ::c_int = 0x00000000;
1031pub const VT1: ::c_int = 0x00010000;
1032pub const IUTF8: ::tcflag_t = 0x00004000;
1033pub const CRTSCTS: ::tcflag_t = 0x00030000;
1034
1035pub const NI_MAXHOST: ::socklen_t = 1025;
1036
7453a54e
SL
1037pub const Q_GETQUOTA: ::c_int = 0x300;
1038pub const Q_SETQUOTA: ::c_int = 0x400;
1039
1040pub const RTLD_LOCAL: ::c_int = 0x4;
1041pub const RTLD_FIRST: ::c_int = 0x100;
1042pub const RTLD_NODELETE: ::c_int = 0x80;
1043pub const RTLD_NOLOAD: ::c_int = 0x10;
1044pub const RTLD_GLOBAL: ::c_int = 0x8;
1045
a7813a04
XL
1046pub const _WSTOPPED: ::c_int = 0o177;
1047
1048pub const LOG_NETINFO: ::c_int = 12 << 3;
1049pub const LOG_REMOTEAUTH: ::c_int = 13 << 3;
1050pub const LOG_INSTALL: ::c_int = 14 << 3;
1051pub const LOG_RAS: ::c_int = 15 << 3;
1052pub const LOG_LAUNCHD: ::c_int = 24 << 3;
1053pub const LOG_NFACILITIES: ::c_int = 25;
1054
1055pub const CTLTYPE: ::c_int = 0xf;
1056pub const CTLTYPE_NODE: ::c_int = 1;
1057pub const CTLTYPE_INT: ::c_int = 2;
1058pub const CTLTYPE_STRING: ::c_int = 3;
1059pub const CTLTYPE_QUAD: ::c_int = 4;
1060pub const CTLTYPE_OPAQUE: ::c_int = 5;
1061pub const CTLTYPE_STRUCT: ::c_int = CTLTYPE_OPAQUE;
1062pub const CTLFLAG_RD: ::c_int = 0x80000000;
1063pub const CTLFLAG_WR: ::c_int = 0x40000000;
1064pub const CTLFLAG_RW: ::c_int = CTLFLAG_RD | CTLFLAG_WR;
1065pub const CTLFLAG_NOLOCK: ::c_int = 0x20000000;
1066pub const CTLFLAG_ANYBODY: ::c_int = 0x10000000;
1067pub const CTLFLAG_SECURE: ::c_int = 0x08000000;
1068pub const CTLFLAG_MASKED: ::c_int = 0x04000000;
1069pub const CTLFLAG_NOAUTO: ::c_int = 0x02000000;
1070pub const CTLFLAG_KERN: ::c_int = 0x01000000;
1071pub const CTLFLAG_LOCKED: ::c_int = 0x00800000;
1072pub const CTLFLAG_OID2: ::c_int = 0x00400000;
1073pub const CTL_UNSPEC: ::c_int = 0;
1074pub const CTL_KERN: ::c_int = 1;
1075pub const CTL_VM: ::c_int = 2;
1076pub const CTL_VFS: ::c_int = 3;
1077pub const CTL_NET: ::c_int = 4;
1078pub const CTL_DEBUG: ::c_int = 5;
1079pub const CTL_HW: ::c_int = 6;
1080pub const CTL_MACHDEP: ::c_int = 7;
1081pub const CTL_USER: ::c_int = 8;
1082pub const CTL_MAXID: ::c_int = 9;
1083pub const KERN_OSTYPE: ::c_int = 1;
1084pub const KERN_OSRELEASE: ::c_int = 2;
1085pub const KERN_OSREV: ::c_int = 3;
1086pub const KERN_VERSION: ::c_int = 4;
1087pub const KERN_MAXVNODES: ::c_int = 5;
1088pub const KERN_MAXPROC: ::c_int = 6;
1089pub const KERN_MAXFILES: ::c_int = 7;
1090pub const KERN_ARGMAX: ::c_int = 8;
1091pub const KERN_SECURELVL: ::c_int = 9;
1092pub const KERN_HOSTNAME: ::c_int = 10;
1093pub const KERN_HOSTID: ::c_int = 11;
1094pub const KERN_CLOCKRATE: ::c_int = 12;
1095pub const KERN_VNODE: ::c_int = 13;
1096pub const KERN_PROC: ::c_int = 14;
1097pub const KERN_FILE: ::c_int = 15;
1098pub const KERN_PROF: ::c_int = 16;
1099pub const KERN_POSIX1: ::c_int = 17;
1100pub const KERN_NGROUPS: ::c_int = 18;
1101pub const KERN_JOB_CONTROL: ::c_int = 19;
1102pub const KERN_SAVED_IDS: ::c_int = 20;
1103pub const KERN_BOOTTIME: ::c_int = 21;
1104pub const KERN_NISDOMAINNAME: ::c_int = 22;
1105pub const KERN_DOMAINNAME: ::c_int = KERN_NISDOMAINNAME;
1106pub const KERN_MAXPARTITIONS: ::c_int = 23;
1107pub const KERN_KDEBUG: ::c_int = 24;
1108pub const KERN_UPDATEINTERVAL: ::c_int = 25;
1109pub const KERN_OSRELDATE: ::c_int = 26;
1110pub const KERN_NTP_PLL: ::c_int = 27;
1111pub const KERN_BOOTFILE: ::c_int = 28;
1112pub const KERN_MAXFILESPERPROC: ::c_int = 29;
1113pub const KERN_MAXPROCPERUID: ::c_int = 30;
1114pub const KERN_DUMPDEV: ::c_int = 31;
1115pub const KERN_IPC: ::c_int = 32;
1116pub const KERN_DUMMY: ::c_int = 33;
1117pub const KERN_PS_STRINGS: ::c_int = 34;
1118pub const KERN_USRSTACK32: ::c_int = 35;
1119pub const KERN_LOGSIGEXIT: ::c_int = 36;
1120pub const KERN_SYMFILE: ::c_int = 37;
1121pub const KERN_PROCARGS: ::c_int = 38;
1122pub const KERN_NETBOOT: ::c_int = 40;
1123pub const KERN_SYSV: ::c_int = 42;
1124pub const KERN_AFFINITY: ::c_int = 43;
1125pub const KERN_TRANSLATE: ::c_int = 44;
1126pub const KERN_CLASSIC: ::c_int = KERN_TRANSLATE;
1127pub const KERN_EXEC: ::c_int = 45;
1128pub const KERN_CLASSICHANDLER: ::c_int = KERN_EXEC;
1129pub const KERN_AIOMAX: ::c_int = 46;
1130pub const KERN_AIOPROCMAX: ::c_int = 47;
1131pub const KERN_AIOTHREADS: ::c_int = 48;
1132pub const KERN_COREFILE: ::c_int = 50;
1133pub const KERN_COREDUMP: ::c_int = 51;
1134pub const KERN_SUGID_COREDUMP: ::c_int = 52;
1135pub const KERN_PROCDELAYTERM: ::c_int = 53;
1136pub const KERN_SHREG_PRIVATIZABLE: ::c_int = 54;
1137pub const KERN_LOW_PRI_WINDOW: ::c_int = 56;
1138pub const KERN_LOW_PRI_DELAY: ::c_int = 57;
1139pub const KERN_POSIX: ::c_int = 58;
1140pub const KERN_USRSTACK64: ::c_int = 59;
1141pub const KERN_NX_PROTECTION: ::c_int = 60;
1142pub const KERN_TFP: ::c_int = 61;
1143pub const KERN_PROCNAME: ::c_int = 62;
1144pub const KERN_THALTSTACK: ::c_int = 63;
1145pub const KERN_SPECULATIVE_READS: ::c_int = 64;
1146pub const KERN_OSVERSION: ::c_int = 65;
1147pub const KERN_SAFEBOOT: ::c_int = 66;
1148pub const KERN_RAGEVNODE: ::c_int = 68;
1149pub const KERN_TTY: ::c_int = 69;
1150pub const KERN_CHECKOPENEVT: ::c_int = 70;
1151pub const KERN_THREADNAME: ::c_int = 71;
1152pub const KERN_MAXID: ::c_int = 72;
1153pub const KERN_RAGE_PROC: ::c_int = 1;
1154pub const KERN_RAGE_THREAD: ::c_int = 2;
1155pub const KERN_UNRAGE_PROC: ::c_int = 3;
1156pub const KERN_UNRAGE_THREAD: ::c_int = 4;
1157pub const KERN_OPENEVT_PROC: ::c_int = 1;
1158pub const KERN_UNOPENEVT_PROC: ::c_int = 2;
1159pub const KERN_TFP_POLICY: ::c_int = 1;
1160pub const KERN_TFP_POLICY_DENY: ::c_int = 0;
1161pub const KERN_TFP_POLICY_DEFAULT: ::c_int = 2;
1162pub const KERN_KDEFLAGS: ::c_int = 1;
1163pub const KERN_KDDFLAGS: ::c_int = 2;
1164pub const KERN_KDENABLE: ::c_int = 3;
1165pub const KERN_KDSETBUF: ::c_int = 4;
1166pub const KERN_KDGETBUF: ::c_int = 5;
1167pub const KERN_KDSETUP: ::c_int = 6;
1168pub const KERN_KDREMOVE: ::c_int = 7;
1169pub const KERN_KDSETREG: ::c_int = 8;
1170pub const KERN_KDGETREG: ::c_int = 9;
1171pub const KERN_KDREADTR: ::c_int = 10;
1172pub const KERN_KDPIDTR: ::c_int = 11;
1173pub const KERN_KDTHRMAP: ::c_int = 12;
1174pub const KERN_KDPIDEX: ::c_int = 14;
1175pub const KERN_KDSETRTCDEC: ::c_int = 15;
1176pub const KERN_KDGETENTROPY: ::c_int = 16;
1177pub const KERN_KDWRITETR: ::c_int = 17;
1178pub const KERN_KDWRITEMAP: ::c_int = 18;
1179pub const KERN_KDENABLE_BG_TRACE: ::c_int = 19;
1180pub const KERN_KDDISABLE_BG_TRACE: ::c_int = 20;
1181pub const KERN_KDREADCURTHRMAP: ::c_int = 21;
1182pub const KERN_KDSET_TYPEFILTER: ::c_int = 22;
1183pub const KERN_KDBUFWAIT: ::c_int = 23;
1184pub const KERN_KDCPUMAP: ::c_int = 24;
1185pub const KERN_PROC_ALL: ::c_int = 0;
1186pub const KERN_PROC_PID: ::c_int = 1;
1187pub const KERN_PROC_PGRP: ::c_int = 2;
1188pub const KERN_PROC_SESSION: ::c_int = 3;
1189pub const KERN_PROC_TTY: ::c_int = 4;
1190pub const KERN_PROC_UID: ::c_int = 5;
1191pub const KERN_PROC_RUID: ::c_int = 6;
1192pub const KERN_PROC_LCID: ::c_int = 7;
1193pub const KIPC_MAXSOCKBUF: ::c_int = 1;
1194pub const KIPC_SOCKBUF_WASTE: ::c_int = 2;
1195pub const KIPC_SOMAXCONN: ::c_int = 3;
1196pub const KIPC_MAX_LINKHDR: ::c_int = 4;
1197pub const KIPC_MAX_PROTOHDR: ::c_int = 5;
1198pub const KIPC_MAX_HDR: ::c_int = 6;
1199pub const KIPC_MAX_DATALEN: ::c_int = 7;
1200pub const KIPC_MBSTAT: ::c_int = 8;
1201pub const KIPC_NMBCLUSTERS: ::c_int = 9;
1202pub const KIPC_SOQLIMITCOMPAT: ::c_int = 10;
1203pub const VM_METER: ::c_int = 1;
1204pub const VM_LOADAVG: ::c_int = 2;
1205pub const VM_MACHFACTOR: ::c_int = 4;
1206pub const VM_SWAPUSAGE: ::c_int = 5;
1207pub const VM_MAXID: ::c_int = 6;
1208pub const HW_MACHINE: ::c_int = 1;
1209pub const HW_MODEL: ::c_int = 2;
1210pub const HW_NCPU: ::c_int = 3;
1211pub const HW_BYTEORDER: ::c_int = 4;
1212pub const HW_PHYSMEM: ::c_int = 5;
1213pub const HW_USERMEM: ::c_int = 6;
1214pub const HW_PAGESIZE: ::c_int = 7;
1215pub const HW_DISKNAMES: ::c_int = 8;
1216pub const HW_DISKSTATS: ::c_int = 9;
1217pub const HW_EPOCH: ::c_int = 10;
1218pub const HW_FLOATINGPT: ::c_int = 11;
1219pub const HW_MACHINE_ARCH: ::c_int = 12;
1220pub const HW_VECTORUNIT: ::c_int = 13;
1221pub const HW_BUS_FREQ: ::c_int = 14;
1222pub const HW_CPU_FREQ: ::c_int = 15;
1223pub const HW_CACHELINE: ::c_int = 16;
1224pub const HW_L1ICACHESIZE: ::c_int = 17;
1225pub const HW_L1DCACHESIZE: ::c_int = 18;
1226pub const HW_L2SETTINGS: ::c_int = 19;
1227pub const HW_L2CACHESIZE: ::c_int = 20;
1228pub const HW_L3SETTINGS: ::c_int = 21;
1229pub const HW_L3CACHESIZE: ::c_int = 22;
1230pub const HW_TB_FREQ: ::c_int = 23;
1231pub const HW_MEMSIZE: ::c_int = 24;
1232pub const HW_AVAILCPU: ::c_int = 25;
1233pub const HW_MAXID: ::c_int = 26;
1234pub const USER_CS_PATH: ::c_int = 1;
1235pub const USER_BC_BASE_MAX: ::c_int = 2;
1236pub const USER_BC_DIM_MAX: ::c_int = 3;
1237pub const USER_BC_SCALE_MAX: ::c_int = 4;
1238pub const USER_BC_STRING_MAX: ::c_int = 5;
1239pub const USER_COLL_WEIGHTS_MAX: ::c_int = 6;
1240pub const USER_EXPR_NEST_MAX: ::c_int = 7;
1241pub const USER_LINE_MAX: ::c_int = 8;
1242pub const USER_RE_DUP_MAX: ::c_int = 9;
1243pub const USER_POSIX2_VERSION: ::c_int = 10;
1244pub const USER_POSIX2_C_BIND: ::c_int = 11;
1245pub const USER_POSIX2_C_DEV: ::c_int = 12;
1246pub const USER_POSIX2_CHAR_TERM: ::c_int = 13;
1247pub const USER_POSIX2_FORT_DEV: ::c_int = 14;
1248pub const USER_POSIX2_FORT_RUN: ::c_int = 15;
1249pub const USER_POSIX2_LOCALEDEF: ::c_int = 16;
1250pub const USER_POSIX2_SW_DEV: ::c_int = 17;
1251pub const USER_POSIX2_UPE: ::c_int = 18;
1252pub const USER_STREAM_MAX: ::c_int = 19;
1253pub const USER_TZNAME_MAX: ::c_int = 20;
1254pub const USER_MAXID: ::c_int = 21;
1255pub const CTL_DEBUG_NAME: ::c_int = 0;
1256pub const CTL_DEBUG_VALUE: ::c_int = 1;
1257pub const CTL_DEBUG_MAXID: ::c_int = 20;
1258
3157f602
XL
1259pub const PRIO_DARWIN_THREAD: ::c_int = 3;
1260pub const PRIO_DARWIN_PROCESS: ::c_int = 4;
1261pub const PRIO_DARWIN_BG: ::c_int = 0x1000;
1262pub const PRIO_DARWIN_NONUI: ::c_int = 0x1001;
1263
5bcae85e
SL
1264pub const SEM_FAILED: *mut sem_t = -1isize as *mut ::sem_t;
1265
a7813a04
XL
1266f! {
1267 pub fn WSTOPSIG(status: ::c_int) -> ::c_int {
1268 status >> 8
1269 }
1270
1271 pub fn _WSTATUS(status: ::c_int) -> ::c_int {
1272 status & 0x7f
1273 }
1274
1275 pub fn WIFCONTINUED(status: ::c_int) -> bool {
1276 _WSTATUS(status) == _WSTOPPED && WSTOPSIG(status) == 0x13
1277 }
1278
1279 pub fn WIFSIGNALED(status: ::c_int) -> bool {
1280 _WSTATUS(status) != _WSTOPPED && _WSTATUS(status) != 0
1281 }
1282
1283 pub fn WIFSTOPPED(status: ::c_int) -> bool {
1284 _WSTATUS(status) == _WSTOPPED && WSTOPSIG(status) != 0x13
1285 }
1286}
1287
92a42be0 1288extern {
9cc50fc6
SL
1289 pub fn getnameinfo(sa: *const ::sockaddr,
1290 salen: ::socklen_t,
1291 host: *mut ::c_char,
1292 hostlen: ::socklen_t,
1293 serv: *mut ::c_char,
1294 sevlen: ::socklen_t,
1295 flags: ::c_int) -> ::c_int;
1296 pub fn mincore(addr: *const ::c_void, len: ::size_t,
1297 vec: *mut ::c_char) -> ::c_int;
1298 pub fn sysctlnametomib(name: *const ::c_char,
1299 mibp: *mut ::c_int,
1300 sizep: *mut ::size_t)
1301 -> ::c_int;
92a42be0
SL
1302 #[cfg_attr(all(target_os = "macos", target_arch = "x86"),
1303 link_name = "mprotect$UNIX2003")]
1304 pub fn mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int)
1305 -> ::c_int;
1306 pub fn shm_open(name: *const ::c_char, oflag: ::c_int, ...) -> ::c_int;
1307 pub fn sysctl(name: *mut ::c_int,
1308 namelen: ::c_uint,
1309 oldp: *mut ::c_void,
1310 oldlenp: *mut ::size_t,
1311 newp: *mut ::c_void,
1312 newlen: ::size_t)
1313 -> ::c_int;
1314 pub fn sysctlbyname(name: *const ::c_char,
1315 oldp: *mut ::c_void,
1316 oldlenp: *mut ::size_t,
1317 newp: *mut ::c_void,
1318 newlen: ::size_t)
1319 -> ::c_int;
1320 pub fn mach_absolute_time() -> u64;
1321 pub fn mach_timebase_info(info: *mut ::mach_timebase_info) -> ::c_int;
1322 pub fn pthread_setname_np(name: *const ::c_char) -> ::c_int;
1323 pub fn pthread_get_stackaddr_np(thread: ::pthread_t) -> *mut ::c_void;
1324 pub fn pthread_get_stacksize_np(thread: ::pthread_t) -> ::size_t;
1325 pub fn __error() -> *mut ::c_int;
1326 pub fn backtrace(buf: *mut *mut ::c_void,
1327 sz: ::c_int) -> ::c_int;
9cc50fc6
SL
1328 #[cfg_attr(target_os = "macos", link_name = "statfs$INODE64")]
1329 pub fn statfs(path: *const ::c_char, buf: *mut statfs) -> ::c_int;
1330 #[cfg_attr(target_os = "macos", link_name = "fstatfs$INODE64")]
1331 pub fn fstatfs(fd: ::c_int, buf: *mut statfs) -> ::c_int;
1332 pub fn kevent(kq: ::c_int,
1333 changelist: *const ::kevent,
1334 nchanges: ::c_int,
1335 eventlist: *mut ::kevent,
1336 nevents: ::c_int,
1337 timeout: *const ::timespec) -> ::c_int;
1338 pub fn kevent64(kq: ::c_int,
1339 changelist: *const ::kevent64_s,
1340 nchanges: ::c_int,
1341 eventlist: *mut ::kevent64_s,
1342 nevents: ::c_int,
1343 flags: ::c_uint,
1344 timeout: *const ::timespec) -> ::c_int;
1345 pub fn mount(src: *const ::c_char,
1346 target: *const ::c_char,
1347 flags: ::c_int,
1348 data: *mut ::c_void) -> ::c_int;
1349 pub fn ptrace(requeset: ::c_int,
1350 pid: ::pid_t,
1351 addr: *mut ::c_char,
1352 data: ::c_int) -> ::c_int;
1353 pub fn quotactl(special: *const ::c_char,
1354 cmd: ::c_int,
1355 id: ::c_int,
1356 data: *mut ::c_char) -> ::c_int;
1357 pub fn sethostname(name: *const ::c_char, len: ::c_int) -> ::c_int;
7453a54e
SL
1358 pub fn sendfile(fd: ::c_int,
1359 s: ::c_int,
1360 offset: ::off_t,
1361 len: *mut ::off_t,
1362 hdtr: *mut ::sf_hdtr,
1363 flags: ::c_int) -> ::c_int;
54a0048b
SL
1364 pub fn openpty(amaster: *mut ::c_int,
1365 aslave: *mut ::c_int,
1366 name: *mut ::c_char,
1367 termp: *mut termios,
1368 winp: *mut ::winsize) -> ::c_int;
1369 pub fn forkpty(amaster: *mut ::c_int,
1370 name: *mut ::c_char,
1371 termp: *mut termios,
1372 winp: *mut ::winsize) -> ::pid_t;
a7813a04
XL
1373 pub fn duplocale(base: ::locale_t) -> ::locale_t;
1374 pub fn freelocale(loc: ::locale_t) -> ::c_int;
1375 pub fn localeconv_l(loc: ::locale_t) -> *mut lconv;
1376 pub fn newlocale(mask: ::c_int,
1377 locale: *const ::c_char,
1378 base: ::locale_t) -> ::locale_t;
1379 pub fn uselocale(loc: ::locale_t) -> ::locale_t;
1380 pub fn querylocale(mask: ::c_int, loc: ::locale_t) -> *const ::c_char;
3157f602
XL
1381 pub fn getpriority(which: ::c_int, who: ::id_t) -> ::c_int;
1382 pub fn setpriority(which: ::c_int, who: ::id_t, prio: ::c_int) -> ::c_int;
5bcae85e
SL
1383
1384 pub fn openat(dirfd: ::c_int, pathname: *const ::c_char,
1385 flags: ::c_int, ...) -> ::c_int;
1386 pub fn faccessat(dirfd: ::c_int, pathname: *const ::c_char,
1387 mode: ::c_int, flags: ::c_int) -> ::c_int;
1388 pub fn fchmodat(dirfd: ::c_int, pathname: *const ::c_char,
1389 mode: ::mode_t, flags: ::c_int) -> ::c_int;
1390 pub fn fchownat(dirfd: ::c_int, pathname: *const ::c_char,
1391 owner: ::uid_t, group: ::gid_t,
1392 flags: ::c_int) -> ::c_int;
1393 #[cfg_attr(target_os = "macos", link_name = "fstatat$INODE64")]
1394 pub fn fstatat(dirfd: ::c_int, pathname: *const ::c_char,
1395 buf: *mut stat, flags: ::c_int) -> ::c_int;
1396 pub fn linkat(olddirfd: ::c_int, oldpath: *const ::c_char,
1397 newdirfd: ::c_int, newpath: *const ::c_char,
1398 flags: ::c_int) -> ::c_int;
1399 pub fn mkdirat(dirfd: ::c_int, pathname: *const ::c_char,
1400 mode: ::mode_t) -> ::c_int;
1401 pub fn readlinkat(dirfd: ::c_int, pathname: *const ::c_char,
1402 buf: *mut ::c_char, bufsiz: ::size_t) -> ::ssize_t;
1403 pub fn renameat(olddirfd: ::c_int, oldpath: *const ::c_char,
1404 newdirfd: ::c_int, newpath: *const ::c_char)
1405 -> ::c_int;
1406 pub fn symlinkat(target: *const ::c_char, newdirfd: ::c_int,
1407 linkpath: *const ::c_char) -> ::c_int;
1408 pub fn unlinkat(dirfd: ::c_int, pathname: *const ::c_char,
1409 flags: ::c_int) -> ::c_int;
92a42be0
SL
1410}
1411
1412cfg_if! {
1413 if #[cfg(any(target_arch = "arm", target_arch = "x86"))] {
1414 mod b32;
1415 pub use self::b32::*;
1416 } else if #[cfg(any(target_arch = "x86_64", target_arch = "aarch64"))] {
1417 mod b64;
1418 pub use self::b64::*;
1419 } else {
54a0048b 1420 // Unknown target_arch
92a42be0
SL
1421 }
1422}