1 //! AArch64-specific definitions for 64-bit linux-like values
2 
3 use pthread_mutex_t;
4 
5 pub type c_long = i64;
6 pub type c_ulong = u64;
7 pub type c_char = u8;
8 pub type wchar_t = u32;
9 pub type nlink_t = u32;
10 pub type blksize_t = i32;
11 pub type suseconds_t = i64;
12 pub type __u64 = ::c_ulonglong;
13 
14 s! {
15     pub struct sigaction {
16         pub sa_sigaction: ::sighandler_t,
17         pub sa_mask: ::sigset_t,
18         #[cfg(target_arch = "sparc64")]
19         __reserved0: ::c_int,
20         pub sa_flags: ::c_int,
21         pub sa_restorer: ::Option<extern fn()>,
22     }
23 
24     pub struct statfs {
25         pub f_type: ::__fsword_t,
26         pub f_bsize: ::__fsword_t,
27         pub f_blocks: ::fsblkcnt_t,
28         pub f_bfree: ::fsblkcnt_t,
29         pub f_bavail: ::fsblkcnt_t,
30 
31         pub f_files: ::fsfilcnt_t,
32         pub f_ffree: ::fsfilcnt_t,
33         pub f_fsid: ::fsid_t,
34 
35         pub f_namelen: ::__fsword_t,
36         pub f_frsize: ::__fsword_t,
37         f_spare: [::__fsword_t; 5],
38     }
39 
40     pub struct flock {
41         pub l_type: ::c_short,
42         pub l_whence: ::c_short,
43         pub l_start: ::off_t,
44         pub l_len: ::off_t,
45         pub l_pid: ::pid_t,
46     }
47 
48     pub struct stat {
49         pub st_dev: ::dev_t,
50         pub st_ino: ::ino_t,
51         pub st_mode: ::mode_t,
52         pub st_nlink: ::nlink_t,
53         pub st_uid: ::uid_t,
54         pub st_gid: ::gid_t,
55         pub st_rdev: ::dev_t,
56         __pad1: ::dev_t,
57         pub st_size: ::off_t,
58         pub st_blksize: ::blksize_t,
59         __pad2: ::c_int,
60         pub st_blocks: ::blkcnt_t,
61         pub st_atime: ::time_t,
62         pub st_atime_nsec: ::c_long,
63         pub st_mtime: ::time_t,
64         pub st_mtime_nsec: ::c_long,
65         pub st_ctime: ::time_t,
66         pub st_ctime_nsec: ::c_long,
67         __unused: [::c_int; 2],
68     }
69 
70     pub struct stat64 {
71         pub st_dev: ::dev_t,
72         pub st_ino: ::ino_t,
73         pub st_mode: ::mode_t,
74         pub st_nlink: ::nlink_t,
75         pub st_uid: ::uid_t,
76         pub st_gid: ::gid_t,
77         pub st_rdev: ::dev_t,
78         __pad1: ::dev_t,
79         pub st_size: ::off64_t,
80         pub st_blksize: ::blksize_t,
81         __pad2: ::c_int,
82         pub st_blocks: ::blkcnt64_t,
83         pub st_atime: ::time_t,
84         pub st_atime_nsec: ::c_long,
85         pub st_mtime: ::time_t,
86         pub st_mtime_nsec: ::c_long,
87         pub st_ctime: ::time_t,
88         pub st_ctime_nsec: ::c_long,
89         __unused: [::c_int; 2],
90     }
91 
92     pub struct statfs64 {
93         pub f_type: ::__fsword_t,
94         pub f_bsize: ::__fsword_t,
95         pub f_blocks: u64,
96         pub f_bfree: u64,
97         pub f_bavail: u64,
98         pub f_files: u64,
99         pub f_ffree: u64,
100         pub f_fsid: ::fsid_t,
101         pub f_namelen: ::__fsword_t,
102         pub f_frsize: ::__fsword_t,
103         pub f_flags: ::__fsword_t,
104         pub f_spare: [::__fsword_t; 4],
105     }
106 
107     pub struct statvfs {
108         pub f_bsize: ::c_ulong,
109         pub f_frsize: ::c_ulong,
110         pub f_blocks: ::fsblkcnt_t,
111         pub f_bfree: ::fsblkcnt_t,
112         pub f_bavail: ::fsblkcnt_t,
113         pub f_files: ::fsfilcnt_t,
114         pub f_ffree: ::fsfilcnt_t,
115         pub f_favail: ::fsfilcnt_t,
116         pub f_fsid: ::c_ulong,
117         pub f_flag: ::c_ulong,
118         pub f_namemax: ::c_ulong,
119         __f_spare: [::c_int; 6],
120     }
121 
122     pub struct statvfs64 {
123         pub f_bsize: ::c_ulong,
124         pub f_frsize: ::c_ulong,
125         pub f_blocks: u64,
126         pub f_bfree: u64,
127         pub f_bavail: u64,
128         pub f_files: u64,
129         pub f_ffree: u64,
130         pub f_favail: u64,
131         pub f_fsid: ::c_ulong,
132         pub f_flag: ::c_ulong,
133         pub f_namemax: ::c_ulong,
134         __f_spare: [::c_int; 6],
135     }
136 
137     pub struct pthread_attr_t {
138         __size: [u64; 8]
139     }
140 
141     pub struct ipc_perm {
142         pub __key: ::key_t,
143         pub uid: ::uid_t,
144         pub gid: ::gid_t,
145         pub cuid: ::uid_t,
146         pub cgid: ::gid_t,
147         pub mode: ::c_uint,
148         pub __seq: ::c_ushort,
149         __pad1: ::c_ushort,
150         __unused1: ::c_ulong,
151         __unused2: ::c_ulong
152     }
153 
154     pub struct shmid_ds {
155         pub shm_perm: ::ipc_perm,
156         pub shm_segsz: ::size_t,
157         pub shm_atime: ::time_t,
158         pub shm_dtime: ::time_t,
159         pub shm_ctime: ::time_t,
160         pub shm_cpid: ::pid_t,
161         pub shm_lpid: ::pid_t,
162         pub shm_nattch: ::shmatt_t,
163         __unused4: ::c_ulong,
164         __unused5: ::c_ulong
165     }
166 
167     pub struct termios2 {
168         pub c_iflag: ::tcflag_t,
169         pub c_oflag: ::tcflag_t,
170         pub c_cflag: ::tcflag_t,
171         pub c_lflag: ::tcflag_t,
172         pub c_line: ::cc_t,
173         pub c_cc: [::cc_t; 19],
174         pub c_ispeed: ::speed_t,
175         pub c_ospeed: ::speed_t,
176     }
177 
178     pub struct siginfo_t {
179         pub si_signo: ::c_int,
180         pub si_errno: ::c_int,
181         pub si_code: ::c_int,
182         #[doc(hidden)]
183         #[deprecated(
184             since="0.2.54",
185             note="Please leave a comment on \
186                   https://github.com/rust-lang/libc/pull/1316 if you're using \
187                   this field"
188         )]
189         pub _pad: [::c_int; 29],
190         _align: [usize; 0],
191     }
192 
193     pub struct stack_t {
194         pub ss_sp: *mut ::c_void,
195         pub ss_flags: ::c_int,
196         pub ss_size: ::size_t
197     }
198 }
199 
200 pub const VEOF: usize = 4;
201 pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56;
202 
203 pub const RTLD_DEEPBIND: ::c_int = 0x8;
204 pub const RTLD_GLOBAL: ::c_int = 0x100;
205 pub const RTLD_NOLOAD: ::c_int = 0x4;
206 
207 pub const TIOCGSOFTCAR: ::c_ulong = 0x5419;
208 pub const TIOCSSOFTCAR: ::c_ulong = 0x541A;
209 pub const TIOCGRS485: ::c_int = 0x542E;
210 pub const TIOCSRS485: ::c_int = 0x542F;
211 
212 pub const RLIMIT_RSS: ::__rlimit_resource_t = 5;
213 pub const RLIMIT_AS: ::__rlimit_resource_t = 9;
214 pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8;
215 pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 7;
216 pub const RLIMIT_NPROC: ::__rlimit_resource_t = 6;
217 
218 pub const O_APPEND: ::c_int = 1024;
219 pub const O_CREAT: ::c_int = 64;
220 pub const O_EXCL: ::c_int = 128;
221 pub const O_NOCTTY: ::c_int = 256;
222 pub const O_NONBLOCK: ::c_int = 2048;
223 pub const O_SYNC: ::c_int = 1052672;
224 pub const O_RSYNC: ::c_int = 1052672;
225 pub const O_DSYNC: ::c_int = 4096;
226 pub const O_FSYNC: ::c_int = 0x101000;
227 pub const O_NOATIME: ::c_int = 0o1000000;
228 pub const O_PATH: ::c_int = 0o10000000;
229 pub const O_TMPFILE: ::c_int = 0o20000000 | O_DIRECTORY;
230 
231 pub const MADV_SOFT_OFFLINE: ::c_int = 101;
232 pub const MAP_GROWSDOWN: ::c_int = 0x0100;
233 
234 pub const EUCLEAN: ::c_int = 117;
235 pub const ENOTNAM: ::c_int = 118;
236 pub const ENAVAIL: ::c_int = 119;
237 pub const EISNAM: ::c_int = 120;
238 pub const EREMOTEIO: ::c_int = 121;
239 pub const EDEADLK: ::c_int = 35;
240 pub const ENAMETOOLONG: ::c_int = 36;
241 pub const ENOLCK: ::c_int = 37;
242 pub const ENOSYS: ::c_int = 38;
243 pub const ENOTEMPTY: ::c_int = 39;
244 pub const ELOOP: ::c_int = 40;
245 pub const ENOMSG: ::c_int = 42;
246 pub const EIDRM: ::c_int = 43;
247 pub const ECHRNG: ::c_int = 44;
248 pub const EL2NSYNC: ::c_int = 45;
249 pub const EL3HLT: ::c_int = 46;
250 pub const EL3RST: ::c_int = 47;
251 pub const ELNRNG: ::c_int = 48;
252 pub const EUNATCH: ::c_int = 49;
253 pub const ENOCSI: ::c_int = 50;
254 pub const EL2HLT: ::c_int = 51;
255 pub const EBADE: ::c_int = 52;
256 pub const EBADR: ::c_int = 53;
257 pub const EXFULL: ::c_int = 54;
258 pub const ENOANO: ::c_int = 55;
259 pub const EBADRQC: ::c_int = 56;
260 pub const EBADSLT: ::c_int = 57;
261 pub const EMULTIHOP: ::c_int = 72;
262 pub const EOVERFLOW: ::c_int = 75;
263 pub const ENOTUNIQ: ::c_int = 76;
264 pub const EBADFD: ::c_int = 77;
265 pub const EBADMSG: ::c_int = 74;
266 pub const EREMCHG: ::c_int = 78;
267 pub const ELIBACC: ::c_int = 79;
268 pub const ELIBBAD: ::c_int = 80;
269 pub const ELIBSCN: ::c_int = 81;
270 pub const ELIBMAX: ::c_int = 82;
271 pub const ELIBEXEC: ::c_int = 83;
272 pub const EILSEQ: ::c_int = 84;
273 pub const ERESTART: ::c_int = 85;
274 pub const ESTRPIPE: ::c_int = 86;
275 pub const EUSERS: ::c_int = 87;
276 pub const ENOTSOCK: ::c_int = 88;
277 pub const EDESTADDRREQ: ::c_int = 89;
278 pub const EMSGSIZE: ::c_int = 90;
279 pub const EPROTOTYPE: ::c_int = 91;
280 pub const ENOPROTOOPT: ::c_int = 92;
281 pub const EPROTONOSUPPORT: ::c_int = 93;
282 pub const ESOCKTNOSUPPORT: ::c_int = 94;
283 pub const EOPNOTSUPP: ::c_int = 95;
284 pub const EPFNOSUPPORT: ::c_int = 96;
285 pub const EAFNOSUPPORT: ::c_int = 97;
286 pub const EADDRINUSE: ::c_int = 98;
287 pub const EADDRNOTAVAIL: ::c_int = 99;
288 pub const ENETDOWN: ::c_int = 100;
289 pub const ENETUNREACH: ::c_int = 101;
290 pub const ENETRESET: ::c_int = 102;
291 pub const ECONNABORTED: ::c_int = 103;
292 pub const ECONNRESET: ::c_int = 104;
293 pub const ENOBUFS: ::c_int = 105;
294 pub const EISCONN: ::c_int = 106;
295 pub const ENOTCONN: ::c_int = 107;
296 pub const ESHUTDOWN: ::c_int = 108;
297 pub const ETOOMANYREFS: ::c_int = 109;
298 pub const ETIMEDOUT: ::c_int = 110;
299 pub const ECONNREFUSED: ::c_int = 111;
300 pub const EHOSTDOWN: ::c_int = 112;
301 pub const EHOSTUNREACH: ::c_int = 113;
302 pub const EALREADY: ::c_int = 114;
303 pub const EINPROGRESS: ::c_int = 115;
304 pub const ESTALE: ::c_int = 116;
305 pub const EDQUOT: ::c_int = 122;
306 pub const ENOMEDIUM: ::c_int = 123;
307 pub const EMEDIUMTYPE: ::c_int = 124;
308 pub const ECANCELED: ::c_int = 125;
309 pub const ENOKEY: ::c_int = 126;
310 pub const EKEYEXPIRED: ::c_int = 127;
311 pub const EKEYREVOKED: ::c_int = 128;
312 pub const EKEYREJECTED: ::c_int = 129;
313 pub const EOWNERDEAD: ::c_int = 130;
314 pub const ENOTRECOVERABLE: ::c_int = 131;
315 pub const EHWPOISON: ::c_int = 133;
316 pub const ERFKILL: ::c_int = 132;
317 
318 pub const POSIX_FADV_DONTNEED: ::c_int = 4;
319 pub const POSIX_FADV_NOREUSE: ::c_int = 5;
320 
321 pub const SOL_SOCKET: ::c_int = 1;
322 
323 pub const SO_REUSEADDR: ::c_int = 2;
324 pub const SO_TYPE: ::c_int = 3;
325 pub const SO_ERROR: ::c_int = 4;
326 pub const SO_DONTROUTE: ::c_int = 5;
327 pub const SO_BROADCAST: ::c_int = 6;
328 pub const SO_SNDBUF: ::c_int = 7;
329 pub const SO_RCVBUF: ::c_int = 8;
330 pub const SO_SNDBUFFORCE: ::c_int = 32;
331 pub const SO_RCVBUFFORCE: ::c_int = 33;
332 pub const SO_KEEPALIVE: ::c_int = 9;
333 pub const SO_OOBINLINE: ::c_int = 10;
334 pub const SO_NO_CHECK: ::c_int = 11;
335 pub const SO_PRIORITY: ::c_int = 12;
336 pub const SO_LINGER: ::c_int = 13;
337 pub const SO_BSDCOMPAT: ::c_int = 14;
338 pub const SO_REUSEPORT: ::c_int = 15;
339 pub const SO_PASSCRED: ::c_int = 16;
340 pub const SO_PEERCRED: ::c_int = 17;
341 pub const SO_RCVLOWAT: ::c_int = 18;
342 pub const SO_SNDLOWAT: ::c_int = 19;
343 pub const SO_RCVTIMEO: ::c_int = 20;
344 pub const SO_SNDTIMEO: ::c_int = 21;
345 pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22;
346 pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23;
347 pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24;
348 pub const SO_BINDTODEVICE: ::c_int = 25;
349 pub const SO_ATTACH_FILTER: ::c_int = 26;
350 pub const SO_DETACH_FILTER: ::c_int = 27;
351 pub const SO_GET_FILTER: ::c_int = SO_ATTACH_FILTER;
352 pub const SO_PEERNAME: ::c_int = 28;
353 pub const SO_TIMESTAMP: ::c_int = 29;
354 pub const SO_ACCEPTCONN: ::c_int = 30;
355 pub const SO_PEERSEC: ::c_int = 31;
356 pub const SO_PASSSEC: ::c_int = 34;
357 pub const SO_TIMESTAMPNS: ::c_int = 35;
358 pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS;
359 pub const SO_MARK: ::c_int = 36;
360 pub const SO_PROTOCOL: ::c_int = 38;
361 pub const SO_DOMAIN: ::c_int = 39;
362 pub const SO_RXQ_OVFL: ::c_int = 40;
363 pub const SO_WIFI_STATUS: ::c_int = 41;
364 pub const SCM_WIFI_STATUS: ::c_int = SO_WIFI_STATUS;
365 pub const SO_PEEK_OFF: ::c_int = 42;
366 pub const SO_NOFCS: ::c_int = 43;
367 pub const SO_LOCK_FILTER: ::c_int = 44;
368 pub const SO_SELECT_ERR_QUEUE: ::c_int = 45;
369 pub const SO_BUSY_POLL: ::c_int = 46;
370 pub const SO_MAX_PACING_RATE: ::c_int = 47;
371 pub const SO_BPF_EXTENSIONS: ::c_int = 48;
372 pub const SO_INCOMING_CPU: ::c_int = 49;
373 pub const SO_ATTACH_BPF: ::c_int = 50;
374 pub const SO_DETACH_BPF: ::c_int = SO_DETACH_FILTER;
375 
376 pub const SOCK_STREAM: ::c_int = 1;
377 pub const SOCK_DGRAM: ::c_int = 2;
378 
379 pub const SA_ONSTACK: ::c_int = 0x08000000;
380 pub const SA_SIGINFO: ::c_int = 0x00000004;
381 pub const SA_NOCLDWAIT: ::c_int = 0x00000002;
382 
383 pub const SIGTTIN: ::c_int = 21;
384 pub const SIGTTOU: ::c_int = 22;
385 pub const SIGXCPU: ::c_int = 24;
386 pub const SIGXFSZ: ::c_int = 25;
387 pub const SIGVTALRM: ::c_int = 26;
388 pub const SIGPROF: ::c_int = 27;
389 pub const SIGWINCH: ::c_int = 28;
390 pub const SIGCHLD: ::c_int = 17;
391 pub const SIGBUS: ::c_int = 7;
392 pub const SIGUSR1: ::c_int = 10;
393 pub const SIGUSR2: ::c_int = 12;
394 pub const SIGCONT: ::c_int = 18;
395 pub const SIGSTOP: ::c_int = 19;
396 pub const SIGTSTP: ::c_int = 20;
397 pub const SIGURG: ::c_int = 23;
398 pub const SIGIO: ::c_int = 29;
399 pub const SIGSYS: ::c_int = 31;
400 pub const SIGSTKFLT: ::c_int = 16;
401 #[deprecated(
402     since = "0.2.55",
403     note = "Use SIGSYS instead"
404 )]
405 pub const SIGUNUSED: ::c_int = 31;
406 pub const SIGPOLL: ::c_int = 29;
407 pub const SIGPWR: ::c_int = 30;
408 pub const SIG_SETMASK: ::c_int = 2;
409 pub const SIG_BLOCK: ::c_int = 0x000000;
410 pub const SIG_UNBLOCK: ::c_int = 0x01;
411 
412 pub const POLLWRNORM: ::c_short = 0x100;
413 pub const POLLWRBAND: ::c_short = 0x200;
414 
415 pub const O_ASYNC: ::c_int = 0x2000;
416 pub const O_NDELAY: ::c_int = 0x800;
417 
418 pub const PTRACE_DETACH: ::c_uint = 17;
419 
420 pub const EFD_NONBLOCK: ::c_int = 0x800;
421 
422 pub const F_GETLK: ::c_int = 5;
423 pub const F_GETOWN: ::c_int = 9;
424 pub const F_SETOWN: ::c_int = 8;
425 pub const F_SETLK: ::c_int = 6;
426 pub const F_SETLKW: ::c_int = 7;
427 
428 pub const F_RDLCK: ::c_int = 0;
429 pub const F_WRLCK: ::c_int = 1;
430 pub const F_UNLCK: ::c_int = 2;
431 
432 pub const SFD_NONBLOCK: ::c_int = 0x0800;
433 
434 pub const TIOCEXCL: ::c_ulong = 0x540C;
435 pub const TIOCNXCL: ::c_ulong = 0x540D;
436 pub const TIOCSCTTY: ::c_ulong = 0x540E;
437 pub const TIOCSTI: ::c_ulong = 0x5412;
438 pub const TIOCMGET: ::c_ulong = 0x5415;
439 pub const TIOCMBIS: ::c_ulong = 0x5416;
440 pub const TIOCMBIC: ::c_ulong = 0x5417;
441 pub const TIOCMSET: ::c_ulong = 0x5418;
442 pub const TIOCCONS: ::c_ulong = 0x541D;
443 
444 pub const TIOCM_ST: ::c_int = 0x008;
445 pub const TIOCM_SR: ::c_int = 0x010;
446 pub const TIOCM_CTS: ::c_int = 0x020;
447 pub const TIOCM_CAR: ::c_int = 0x040;
448 pub const TIOCM_RNG: ::c_int = 0x080;
449 pub const TIOCM_DSR: ::c_int = 0x100;
450 
451 pub const SFD_CLOEXEC: ::c_int = 0x080000;
452 
453 pub const NCCS: usize = 32;
454 
455 pub const O_TRUNC: ::c_int = 512;
456 
457 pub const O_CLOEXEC: ::c_int = 0x80000;
458 
459 pub const EBFONT: ::c_int = 59;
460 pub const ENOSTR: ::c_int = 60;
461 pub const ENODATA: ::c_int = 61;
462 pub const ETIME: ::c_int = 62;
463 pub const ENOSR: ::c_int = 63;
464 pub const ENONET: ::c_int = 64;
465 pub const ENOPKG: ::c_int = 65;
466 pub const EREMOTE: ::c_int = 66;
467 pub const ENOLINK: ::c_int = 67;
468 pub const EADV: ::c_int = 68;
469 pub const ESRMNT: ::c_int = 69;
470 pub const ECOMM: ::c_int = 70;
471 pub const EPROTO: ::c_int = 71;
472 pub const EDOTDOT: ::c_int = 73;
473 
474 pub const SA_NODEFER: ::c_int = 0x40000000;
475 pub const SA_RESETHAND: ::c_int = 0x80000000;
476 pub const SA_RESTART: ::c_int = 0x10000000;
477 pub const SA_NOCLDSTOP: ::c_int = 0x00000001;
478 
479 pub const EPOLL_CLOEXEC: ::c_int = 0x80000;
480 
481 pub const EFD_CLOEXEC: ::c_int = 0x80000;
482 
483 pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 8;
484 pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 48;
485 pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 8;
486 
487 align_const! {
488     pub const PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t =
489         pthread_mutex_t {
490             size: [
491                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
492                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
493                 0, 0, 0, 0, 0, 0,
494             ],
495         };
496     pub const PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP: ::pthread_mutex_t =
497         pthread_mutex_t {
498             size: [
499                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0,
500                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
501                 0, 0, 0, 0, 0, 0,
502             ],
503         };
504     pub const PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t =
505         pthread_mutex_t {
506             size: [
507                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
508                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
509                 0, 0, 0, 0, 0, 0,
510             ],
511         };
512 }
513 
514 pub const O_DIRECT: ::c_int = 0x10000;
515 pub const O_DIRECTORY: ::c_int = 0x4000;
516 pub const O_NOFOLLOW: ::c_int = 0x8000;
517 
518 pub const MAP_LOCKED: ::c_int = 0x02000;
519 pub const MAP_NORESERVE: ::c_int = 0x04000;
520 pub const MAP_ANON: ::c_int = 0x0020;
521 pub const MAP_ANONYMOUS: ::c_int = 0x0020;
522 pub const MAP_DENYWRITE: ::c_int = 0x0800;
523 pub const MAP_EXECUTABLE: ::c_int = 0x01000;
524 pub const MAP_POPULATE: ::c_int = 0x08000;
525 pub const MAP_NONBLOCK: ::c_int = 0x010000;
526 pub const MAP_STACK: ::c_int = 0x020000;
527 pub const MAP_HUGETLB: ::c_int = 0x040000;
528 
529 pub const EDEADLOCK: ::c_int = 35;
530 
531 pub const FIOCLEX: ::c_ulong = 0x5451;
532 pub const FIONCLEX: ::c_ulong = 0x5450;
533 pub const FIONBIO: ::c_ulong = 0x5421;
534 
535 pub const MCL_CURRENT: ::c_int = 0x0001;
536 pub const MCL_FUTURE: ::c_int = 0x0002;
537 
538 pub const SIGSTKSZ: ::size_t = 16384;
539 pub const MINSIGSTKSZ: ::size_t = 5120;
540 pub const CBAUD: ::tcflag_t = 0o0010017;
541 pub const TAB1: ::tcflag_t = 0x00000800;
542 pub const TAB2: ::tcflag_t = 0x00001000;
543 pub const TAB3: ::tcflag_t = 0x00001800;
544 pub const CR1: ::tcflag_t = 0x00000200;
545 pub const CR2: ::tcflag_t = 0x00000400;
546 pub const CR3: ::tcflag_t = 0x00000600;
547 pub const FF1: ::tcflag_t = 0x00008000;
548 pub const BS1: ::tcflag_t = 0x00002000;
549 pub const VT1: ::tcflag_t = 0x00004000;
550 pub const VWERASE: usize = 14;
551 pub const VREPRINT: usize = 12;
552 pub const VSUSP: usize = 10;
553 pub const VSTART: usize = 8;
554 pub const VSTOP: usize = 9;
555 pub const VDISCARD: usize = 13;
556 pub const VTIME: usize = 5;
557 pub const IXON: ::tcflag_t = 0x00000400;
558 pub const IXOFF: ::tcflag_t = 0x00001000;
559 pub const ONLCR: ::tcflag_t = 0x4;
560 pub const CSIZE: ::tcflag_t = 0x00000030;
561 pub const CS6: ::tcflag_t = 0x00000010;
562 pub const CS7: ::tcflag_t = 0x00000020;
563 pub const CS8: ::tcflag_t = 0x00000030;
564 pub const CSTOPB: ::tcflag_t = 0x00000040;
565 pub const CREAD: ::tcflag_t = 0x00000080;
566 pub const PARENB: ::tcflag_t = 0x00000100;
567 pub const PARODD: ::tcflag_t = 0x00000200;
568 pub const HUPCL: ::tcflag_t = 0x00000400;
569 pub const CLOCAL: ::tcflag_t = 0x00000800;
570 pub const ECHOKE: ::tcflag_t = 0x00000800;
571 pub const ECHOE: ::tcflag_t = 0x00000010;
572 pub const ECHOK: ::tcflag_t = 0x00000020;
573 pub const ECHONL: ::tcflag_t = 0x00000040;
574 pub const ECHOPRT: ::tcflag_t = 0x00000400;
575 pub const ECHOCTL: ::tcflag_t = 0x00000200;
576 pub const ISIG: ::tcflag_t = 0x00000001;
577 pub const ICANON: ::tcflag_t = 0x00000002;
578 pub const PENDIN: ::tcflag_t = 0x00004000;
579 pub const NOFLSH: ::tcflag_t = 0x00000080;
580 pub const CIBAUD: ::tcflag_t = 0o02003600000;
581 pub const CBAUDEX: ::tcflag_t = 0o010000;
582 pub const VSWTC: usize = 7;
583 pub const OLCUC:  ::tcflag_t = 0o000002;
584 pub const NLDLY:  ::tcflag_t = 0o000400;
585 pub const CRDLY:  ::tcflag_t = 0o003000;
586 pub const TABDLY: ::tcflag_t = 0o014000;
587 pub const BSDLY:  ::tcflag_t = 0o020000;
588 pub const FFDLY:  ::tcflag_t = 0o100000;
589 pub const VTDLY:  ::tcflag_t = 0o040000;
590 pub const XTABS:  ::tcflag_t = 0o014000;
591 
592 pub const B0: ::speed_t = 0o000000;
593 pub const B50: ::speed_t = 0o000001;
594 pub const B75: ::speed_t = 0o000002;
595 pub const B110: ::speed_t = 0o000003;
596 pub const B134: ::speed_t = 0o000004;
597 pub const B150: ::speed_t = 0o000005;
598 pub const B200: ::speed_t = 0o000006;
599 pub const B300: ::speed_t = 0o000007;
600 pub const B600: ::speed_t = 0o000010;
601 pub const B1200: ::speed_t = 0o000011;
602 pub const B1800: ::speed_t = 0o000012;
603 pub const B2400: ::speed_t = 0o000013;
604 pub const B4800: ::speed_t = 0o000014;
605 pub const B9600: ::speed_t = 0o000015;
606 pub const B19200: ::speed_t = 0o000016;
607 pub const B38400: ::speed_t = 0o000017;
608 pub const EXTA: ::speed_t = B19200;
609 pub const EXTB: ::speed_t = B38400;
610 pub const BOTHER: ::speed_t = 0o010000;
611 pub const B57600: ::speed_t = 0o010001;
612 pub const B115200: ::speed_t = 0o010002;
613 pub const B230400: ::speed_t = 0o010003;
614 pub const B460800: ::speed_t = 0o010004;
615 pub const B500000: ::speed_t = 0o010005;
616 pub const B576000: ::speed_t = 0o010006;
617 pub const B921600: ::speed_t = 0o010007;
618 pub const B1000000: ::speed_t = 0o010010;
619 pub const B1152000: ::speed_t = 0o010011;
620 pub const B1500000: ::speed_t = 0o010012;
621 pub const B2000000: ::speed_t = 0o010013;
622 pub const B2500000: ::speed_t = 0o010014;
623 pub const B3000000: ::speed_t = 0o010015;
624 pub const B3500000: ::speed_t = 0o010016;
625 pub const B4000000: ::speed_t = 0o010017;
626 
627 pub const VEOL: usize = 11;
628 pub const VEOL2: usize = 16;
629 pub const VMIN: usize = 6;
630 pub const IEXTEN: ::tcflag_t = 0x00008000;
631 pub const TOSTOP: ::tcflag_t = 0x00000100;
632 pub const FLUSHO: ::tcflag_t = 0x00001000;
633 pub const EXTPROC: ::tcflag_t = 0x00010000;
634 pub const TCGETS: ::c_ulong = 0x5401;
635 pub const TCSETS: ::c_ulong = 0x5402;
636 pub const TCSETSW: ::c_ulong = 0x5403;
637 pub const TCSETSF: ::c_ulong = 0x5404;
638 pub const TCGETA: ::c_ulong = 0x5405;
639 pub const TCSETA: ::c_ulong = 0x5406;
640 pub const TCSETAW: ::c_ulong = 0x5407;
641 pub const TCSETAF: ::c_ulong = 0x5408;
642 pub const TCSBRK: ::c_ulong = 0x5409;
643 pub const TCXONC: ::c_ulong = 0x540A;
644 pub const TCFLSH: ::c_ulong = 0x540B;
645 pub const TIOCINQ: ::c_ulong = 0x541B;
646 pub const TIOCGPGRP: ::c_ulong = 0x540F;
647 pub const TIOCSPGRP: ::c_ulong = 0x5410;
648 pub const TIOCOUTQ: ::c_ulong = 0x5411;
649 pub const TIOCGWINSZ: ::c_ulong = 0x5413;
650 pub const TIOCSWINSZ: ::c_ulong = 0x5414;
651 pub const FIONREAD: ::c_ulong = 0x541B;
652 
653 pub const TCSANOW: ::c_int = 0;
654 pub const TCSADRAIN: ::c_int = 1;
655 pub const TCSAFLUSH: ::c_int = 2;
656 
657 pub const TIOCLINUX: ::c_ulong = 0x541C;
658 pub const TIOCGSERIAL: ::c_ulong = 0x541E;
659 
660 // Syscall table
661 pub const SYS_io_setup: ::c_long = 0;
662 pub const SYS_io_destroy: ::c_long = 1;
663 pub const SYS_io_submit: ::c_long = 2;
664 pub const SYS_io_cancel: ::c_long = 3;
665 pub const SYS_io_getevents: ::c_long = 4;
666 pub const SYS_setxattr: ::c_long = 5;
667 pub const SYS_lsetxattr: ::c_long = 6;
668 pub const SYS_fsetxattr: ::c_long = 7;
669 pub const SYS_getxattr: ::c_long = 8;
670 pub const SYS_lgetxattr: ::c_long = 9;
671 pub const SYS_fgetxattr: ::c_long = 10;
672 pub const SYS_listxattr: ::c_long = 11;
673 pub const SYS_llistxattr: ::c_long = 12;
674 pub const SYS_flistxattr: ::c_long = 13;
675 pub const SYS_removexattr: ::c_long = 14;
676 pub const SYS_lremovexattr: ::c_long = 15;
677 pub const SYS_fremovexattr: ::c_long = 16;
678 pub const SYS_getcwd: ::c_long = 17;
679 pub const SYS_lookup_dcookie: ::c_long = 18;
680 pub const SYS_eventfd2: ::c_long = 19;
681 pub const SYS_epoll_create1: ::c_long = 20;
682 pub const SYS_epoll_ctl: ::c_long = 21;
683 pub const SYS_epoll_pwait: ::c_long = 22;
684 pub const SYS_dup: ::c_long = 23;
685 pub const SYS_dup3: ::c_long = 24;
686 pub const SYS_fcntl: ::c_long = 25;
687 pub const SYS_inotify_init1: ::c_long = 26;
688 pub const SYS_inotify_add_watch: ::c_long = 27;
689 pub const SYS_inotify_rm_watch: ::c_long = 28;
690 pub const SYS_ioctl: ::c_long = 29;
691 pub const SYS_ioprio_set: ::c_long = 30;
692 pub const SYS_ioprio_get: ::c_long = 31;
693 pub const SYS_flock: ::c_long = 32;
694 pub const SYS_mknodat: ::c_long = 33;
695 pub const SYS_mkdirat: ::c_long = 34;
696 pub const SYS_unlinkat: ::c_long = 35;
697 pub const SYS_symlinkat: ::c_long = 36;
698 pub const SYS_linkat: ::c_long = 37;
699 pub const SYS_renameat: ::c_long = 38;
700 pub const SYS_umount2: ::c_long = 39;
701 pub const SYS_mount: ::c_long = 40;
702 pub const SYS_pivot_root: ::c_long = 41;
703 pub const SYS_nfsservctl: ::c_long = 42;
704 pub const SYS_fallocate: ::c_long = 47;
705 pub const SYS_faccessat: ::c_long = 48;
706 pub const SYS_chdir: ::c_long = 49;
707 pub const SYS_fchdir: ::c_long = 50;
708 pub const SYS_chroot: ::c_long = 51;
709 pub const SYS_fchmod: ::c_long = 52;
710 pub const SYS_fchmodat: ::c_long = 53;
711 pub const SYS_fchownat: ::c_long = 54;
712 pub const SYS_fchown: ::c_long = 55;
713 pub const SYS_openat: ::c_long = 56;
714 pub const SYS_close: ::c_long = 57;
715 pub const SYS_vhangup: ::c_long = 58;
716 pub const SYS_pipe2: ::c_long = 59;
717 pub const SYS_quotactl: ::c_long = 60;
718 pub const SYS_getdents64: ::c_long = 61;
719 pub const SYS_lseek: ::c_long = 62;
720 pub const SYS_read: ::c_long = 63;
721 pub const SYS_write: ::c_long = 64;
722 pub const SYS_readv: ::c_long = 65;
723 pub const SYS_writev: ::c_long = 66;
724 pub const SYS_pread64: ::c_long = 67;
725 pub const SYS_pwrite64: ::c_long = 68;
726 pub const SYS_preadv: ::c_long = 69;
727 pub const SYS_pwritev: ::c_long = 70;
728 pub const SYS_pselect6: ::c_long = 72;
729 pub const SYS_ppoll: ::c_long = 73;
730 pub const SYS_signalfd4: ::c_long = 74;
731 pub const SYS_vmsplice: ::c_long = 75;
732 pub const SYS_splice: ::c_long = 76;
733 pub const SYS_tee: ::c_long = 77;
734 pub const SYS_readlinkat: ::c_long = 78;
735 pub const SYS_newfstatat: ::c_long = 79;
736 pub const SYS_fstat: ::c_long = 80;
737 pub const SYS_sync: ::c_long = 81;
738 pub const SYS_fsync: ::c_long = 82;
739 pub const SYS_fdatasync: ::c_long = 83;
740 pub const SYS_sync_file_range: ::c_long = 84;
741 pub const SYS_timerfd_create: ::c_long = 85;
742 pub const SYS_timerfd_settime: ::c_long = 86;
743 pub const SYS_timerfd_gettime: ::c_long = 87;
744 pub const SYS_utimensat: ::c_long = 88;
745 pub const SYS_acct: ::c_long = 89;
746 pub const SYS_capget: ::c_long = 90;
747 pub const SYS_capset: ::c_long = 91;
748 pub const SYS_personality: ::c_long = 92;
749 pub const SYS_exit: ::c_long = 93;
750 pub const SYS_exit_group: ::c_long = 94;
751 pub const SYS_waitid: ::c_long = 95;
752 pub const SYS_set_tid_address: ::c_long = 96;
753 pub const SYS_unshare: ::c_long = 97;
754 pub const SYS_futex: ::c_long = 98;
755 pub const SYS_set_robust_list: ::c_long = 99;
756 pub const SYS_get_robust_list: ::c_long = 100;
757 pub const SYS_nanosleep: ::c_long = 101;
758 pub const SYS_getitimer: ::c_long = 102;
759 pub const SYS_setitimer: ::c_long = 103;
760 pub const SYS_kexec_load: ::c_long = 104;
761 pub const SYS_init_module: ::c_long = 105;
762 pub const SYS_delete_module: ::c_long = 106;
763 pub const SYS_timer_create: ::c_long = 107;
764 pub const SYS_timer_gettime: ::c_long = 108;
765 pub const SYS_timer_getoverrun: ::c_long = 109;
766 pub const SYS_timer_settime: ::c_long = 110;
767 pub const SYS_timer_delete: ::c_long = 111;
768 pub const SYS_clock_settime: ::c_long = 112;
769 pub const SYS_clock_gettime: ::c_long = 113;
770 pub const SYS_clock_getres: ::c_long = 114;
771 pub const SYS_clock_nanosleep: ::c_long = 115;
772 pub const SYS_syslog: ::c_long = 116;
773 pub const SYS_ptrace: ::c_long = 117;
774 pub const SYS_sched_setparam: ::c_long = 118;
775 pub const SYS_sched_setscheduler: ::c_long = 119;
776 pub const SYS_sched_getscheduler: ::c_long = 120;
777 pub const SYS_sched_getparam: ::c_long = 121;
778 pub const SYS_sched_setaffinity: ::c_long = 122;
779 pub const SYS_sched_getaffinity: ::c_long = 123;
780 pub const SYS_sched_yield: ::c_long = 124;
781 pub const SYS_sched_get_priority_max: ::c_long = 125;
782 pub const SYS_sched_get_priority_min: ::c_long = 126;
783 pub const SYS_sched_rr_get_interval: ::c_long = 127;
784 pub const SYS_restart_syscall: ::c_long = 128;
785 pub const SYS_kill: ::c_long = 129;
786 pub const SYS_tkill: ::c_long = 130;
787 pub const SYS_tgkill: ::c_long = 131;
788 pub const SYS_sigaltstack: ::c_long = 132;
789 pub const SYS_rt_sigsuspend: ::c_long = 133;
790 pub const SYS_rt_sigaction: ::c_long = 134;
791 pub const SYS_rt_sigprocmask: ::c_long = 135;
792 pub const SYS_rt_sigpending: ::c_long = 136;
793 pub const SYS_rt_sigtimedwait: ::c_long = 137;
794 pub const SYS_rt_sigqueueinfo: ::c_long = 138;
795 pub const SYS_rt_sigreturn: ::c_long = 139;
796 pub const SYS_setpriority: ::c_long = 140;
797 pub const SYS_getpriority: ::c_long = 141;
798 pub const SYS_reboot: ::c_long = 142;
799 pub const SYS_setregid: ::c_long = 143;
800 pub const SYS_setgid: ::c_long = 144;
801 pub const SYS_setreuid: ::c_long = 145;
802 pub const SYS_setuid: ::c_long = 146;
803 pub const SYS_setresuid: ::c_long = 147;
804 pub const SYS_getresuid: ::c_long = 148;
805 pub const SYS_setresgid: ::c_long = 149;
806 pub const SYS_getresgid: ::c_long = 150;
807 pub const SYS_setfsuid: ::c_long = 151;
808 pub const SYS_setfsgid: ::c_long = 152;
809 pub const SYS_times: ::c_long = 153;
810 pub const SYS_setpgid: ::c_long = 154;
811 pub const SYS_getpgid: ::c_long = 155;
812 pub const SYS_getsid: ::c_long = 156;
813 pub const SYS_setsid: ::c_long = 157;
814 pub const SYS_getgroups: ::c_long = 158;
815 pub const SYS_setgroups: ::c_long = 159;
816 pub const SYS_uname: ::c_long = 160;
817 pub const SYS_sethostname: ::c_long = 161;
818 pub const SYS_setdomainname: ::c_long = 162;
819 pub const SYS_getrlimit: ::c_long = 163;
820 pub const SYS_setrlimit: ::c_long = 164;
821 pub const SYS_getrusage: ::c_long = 165;
822 pub const SYS_umask: ::c_long = 166;
823 pub const SYS_prctl: ::c_long = 167;
824 pub const SYS_getcpu: ::c_long = 168;
825 pub const SYS_gettimeofday: ::c_long = 169;
826 pub const SYS_settimeofday: ::c_long = 170;
827 pub const SYS_adjtimex: ::c_long = 171;
828 pub const SYS_getpid: ::c_long = 172;
829 pub const SYS_getppid: ::c_long = 173;
830 pub const SYS_getuid: ::c_long = 174;
831 pub const SYS_geteuid: ::c_long = 175;
832 pub const SYS_getgid: ::c_long = 176;
833 pub const SYS_getegid: ::c_long = 177;
834 pub const SYS_gettid: ::c_long = 178;
835 pub const SYS_sysinfo: ::c_long = 179;
836 pub const SYS_mq_open: ::c_long = 180;
837 pub const SYS_mq_unlink: ::c_long = 181;
838 pub const SYS_mq_timedsend: ::c_long = 182;
839 pub const SYS_mq_timedreceive: ::c_long = 183;
840 pub const SYS_mq_notify: ::c_long = 184;
841 pub const SYS_mq_getsetattr: ::c_long = 185;
842 pub const SYS_msgget: ::c_long = 186;
843 pub const SYS_msgctl: ::c_long = 187;
844 pub const SYS_msgrcv: ::c_long = 188;
845 pub const SYS_msgsnd: ::c_long = 189;
846 pub const SYS_semget: ::c_long = 190;
847 pub const SYS_semctl: ::c_long = 191;
848 pub const SYS_semtimedop: ::c_long = 192;
849 pub const SYS_semop: ::c_long = 193;
850 pub const SYS_shmget: ::c_long = 194;
851 pub const SYS_shmctl: ::c_long = 195;
852 pub const SYS_shmat: ::c_long = 196;
853 pub const SYS_shmdt: ::c_long = 197;
854 pub const SYS_socket: ::c_long = 198;
855 pub const SYS_socketpair: ::c_long = 199;
856 pub const SYS_bind: ::c_long = 200;
857 pub const SYS_listen: ::c_long = 201;
858 pub const SYS_accept: ::c_long = 202;
859 pub const SYS_connect: ::c_long = 203;
860 pub const SYS_getsockname: ::c_long = 204;
861 pub const SYS_getpeername: ::c_long = 205;
862 pub const SYS_sendto: ::c_long = 206;
863 pub const SYS_recvfrom: ::c_long = 207;
864 pub const SYS_setsockopt: ::c_long = 208;
865 pub const SYS_getsockopt: ::c_long = 209;
866 pub const SYS_shutdown: ::c_long = 210;
867 pub const SYS_sendmsg: ::c_long = 211;
868 pub const SYS_recvmsg: ::c_long = 212;
869 pub const SYS_readahead: ::c_long = 213;
870 pub const SYS_brk: ::c_long = 214;
871 pub const SYS_munmap: ::c_long = 215;
872 pub const SYS_mremap: ::c_long = 216;
873 pub const SYS_add_key: ::c_long = 217;
874 pub const SYS_request_key: ::c_long = 218;
875 pub const SYS_keyctl: ::c_long = 219;
876 pub const SYS_clone: ::c_long = 220;
877 pub const SYS_execve: ::c_long = 221;
878 pub const SYS_mmap: ::c_long = 222;
879 pub const SYS_swapon: ::c_long = 224;
880 pub const SYS_swapoff: ::c_long = 225;
881 pub const SYS_mprotect: ::c_long = 226;
882 pub const SYS_msync: ::c_long = 227;
883 pub const SYS_mlock: ::c_long = 228;
884 pub const SYS_munlock: ::c_long = 229;
885 pub const SYS_mlockall: ::c_long = 230;
886 pub const SYS_munlockall: ::c_long = 231;
887 pub const SYS_mincore: ::c_long = 232;
888 pub const SYS_madvise: ::c_long = 233;
889 pub const SYS_remap_file_pages: ::c_long = 234;
890 pub const SYS_mbind: ::c_long = 235;
891 pub const SYS_get_mempolicy: ::c_long = 236;
892 pub const SYS_set_mempolicy: ::c_long = 237;
893 pub const SYS_migrate_pages: ::c_long = 238;
894 pub const SYS_move_pages: ::c_long = 239;
895 pub const SYS_rt_tgsigqueueinfo: ::c_long = 240;
896 pub const SYS_perf_event_open: ::c_long = 241;
897 pub const SYS_accept4: ::c_long = 242;
898 pub const SYS_recvmmsg: ::c_long = 243;
899 pub const SYS_wait4: ::c_long = 260;
900 pub const SYS_prlimit64: ::c_long = 261;
901 pub const SYS_fanotify_init: ::c_long = 262;
902 pub const SYS_fanotify_mark: ::c_long = 263;
903 pub const SYS_name_to_handle_at: ::c_long = 264;
904 pub const SYS_open_by_handle_at: ::c_long = 265;
905 pub const SYS_clock_adjtime: ::c_long = 266;
906 pub const SYS_syncfs: ::c_long = 267;
907 pub const SYS_setns: ::c_long = 268;
908 pub const SYS_sendmmsg: ::c_long = 269;
909 pub const SYS_process_vm_readv: ::c_long = 270;
910 pub const SYS_process_vm_writev: ::c_long = 271;
911 pub const SYS_kcmp: ::c_long = 272;
912 pub const SYS_finit_module: ::c_long = 273;
913 pub const SYS_sched_setattr: ::c_long = 274;
914 pub const SYS_sched_getattr: ::c_long = 275;
915 pub const SYS_renameat2: ::c_long = 276;
916 pub const SYS_seccomp: ::c_long = 277;
917 pub const SYS_getrandom: ::c_long = 278;
918 pub const SYS_memfd_create: ::c_long = 279;
919 pub const SYS_bpf: ::c_long = 280;
920 pub const SYS_execveat: ::c_long = 281;
921 pub const SYS_userfaultfd: ::c_long = 282;
922 pub const SYS_membarrier: ::c_long = 283;
923 pub const SYS_mlock2: ::c_long = 284;
924 pub const SYS_copy_file_range: ::c_long = 285;
925 pub const SYS_preadv2: ::c_long = 286;
926 pub const SYS_pwritev2: ::c_long = 287;
927 pub const SYS_pkey_mprotect: ::c_long = 288;
928 pub const SYS_pkey_alloc: ::c_long = 289;
929 pub const SYS_pkey_free: ::c_long = 290;
930 
931 #[link(name = "util")]
932 extern {
sysctl(name: *mut ::c_int, namelen: ::c_int, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *mut ::c_void, newlen: ::size_t) -> ::c_int933     pub fn sysctl(name: *mut ::c_int,
934                   namelen: ::c_int,
935                   oldp: *mut ::c_void,
936                   oldlenp: *mut ::size_t,
937                   newp: *mut ::c_void,
938                   newlen: ::size_t)
939                   -> ::c_int;
940 }
941