1 //! SPARC64-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 = i8;
8 pub type wchar_t = i32;
9 pub type nlink_t = u32;
10 pub type blksize_t = i64;
11 pub type suseconds_t = i32;
12 pub type __u64 = ::c_ulonglong;
13 pub type __s64 = ::c_longlong;
14 
15 s! {
16     pub struct sigaction {
17         pub sa_sigaction: ::sighandler_t,
18         pub sa_mask: ::sigset_t,
19         #[cfg(target_arch = "sparc64")]
20         __reserved0: ::c_int,
21         pub sa_flags: ::c_int,
22         pub sa_restorer: ::Option<extern fn()>,
23     }
24 
25     pub struct statfs {
26         pub f_type: ::__fsword_t,
27         pub f_bsize: ::__fsword_t,
28         pub f_blocks: ::fsblkcnt_t,
29         pub f_bfree: ::fsblkcnt_t,
30         pub f_bavail: ::fsblkcnt_t,
31 
32         pub f_files: ::fsfilcnt_t,
33         pub f_ffree: ::fsfilcnt_t,
34         pub f_fsid: ::fsid_t,
35 
36         pub f_namelen: ::__fsword_t,
37         pub f_frsize: ::__fsword_t,
38         f_spare: [::__fsword_t; 5],
39     }
40 
41     pub struct siginfo_t {
42         pub si_signo: ::c_int,
43         pub si_errno: ::c_int,
44         pub si_code: ::c_int,
45         #[doc(hidden)]
46         #[deprecated(
47             since="0.2.54",
48             note="Please leave a comment on \
49                   https://github.com/rust-lang/libc/pull/1316 if you're using \
50                   this field"
51         )]
52         pub _pad: [::c_int; 29],
53         _align: [usize; 0],
54     }
55 
56     pub struct flock {
57         pub l_type: ::c_short,
58         pub l_whence: ::c_short,
59         pub l_start: ::off_t,
60         pub l_len: ::off_t,
61         pub l_pid: ::pid_t,
62     }
63 
64     pub struct flock64 {
65         pub l_type: ::c_short,
66         pub l_whence: ::c_short,
67         pub l_start: ::off64_t,
68         pub l_len: ::off64_t,
69         pub l_pid: ::pid_t,
70         __reserved:  ::c_short,
71     }
72 
73     pub struct stack_t {
74         pub ss_sp: *mut ::c_void,
75         pub ss_flags: ::c_int,
76         pub ss_size: ::size_t
77     }
78 
79     pub struct stat {
80         pub st_dev: ::dev_t,
81         __pad0: u64,
82         pub st_ino: ::ino_t,
83         pub st_mode: ::mode_t,
84         pub st_nlink: ::nlink_t,
85         pub st_uid: ::uid_t,
86         pub st_gid: ::gid_t,
87         pub st_rdev: ::dev_t,
88         __pad1: u64,
89         pub st_size: ::off_t,
90         pub st_blksize: ::blksize_t,
91         pub st_blocks: ::blkcnt_t,
92         pub st_atime: ::time_t,
93         pub st_atime_nsec: ::c_long,
94         pub st_mtime: ::time_t,
95         pub st_mtime_nsec: ::c_long,
96         pub st_ctime: ::time_t,
97         pub st_ctime_nsec: ::c_long,
98         __unused: [::c_long; 2],
99     }
100 
101     pub struct stat64 {
102         pub st_dev: ::dev_t,
103         __pad0: u64,
104         pub st_ino: ::ino64_t,
105         pub st_mode: ::mode_t,
106         pub st_nlink: ::nlink_t,
107         pub st_uid: ::uid_t,
108         pub st_gid: ::gid_t,
109         pub st_rdev: ::dev_t,
110         __pad2: ::c_int,
111         pub st_size: ::off64_t,
112         pub st_blksize: ::blksize_t,
113         pub st_blocks: ::blkcnt64_t,
114         pub st_atime: ::time_t,
115         pub st_atime_nsec: ::c_long,
116         pub st_mtime: ::time_t,
117         pub st_mtime_nsec: ::c_long,
118         pub st_ctime: ::time_t,
119         pub st_ctime_nsec: ::c_long,
120         __reserved: [::c_long; 2],
121     }
122 
123     pub struct statfs64 {
124         pub f_type: ::__fsword_t,
125         pub f_bsize: ::__fsword_t,
126         pub f_blocks: u64,
127         pub f_bfree: u64,
128         pub f_bavail: u64,
129         pub f_files: u64,
130         pub f_ffree: u64,
131         pub f_fsid: ::fsid_t,
132         pub f_namelen: ::__fsword_t,
133         pub f_frsize: ::__fsword_t,
134         pub f_flags: ::__fsword_t,
135         pub f_spare: [::__fsword_t; 4],
136     }
137 
138     pub struct statvfs {
139         pub f_bsize: ::c_ulong,
140         pub f_frsize: ::c_ulong,
141         pub f_blocks: ::fsblkcnt_t,
142         pub f_bfree: ::fsblkcnt_t,
143         pub f_bavail: ::fsblkcnt_t,
144         pub f_files: ::fsfilcnt_t,
145         pub f_ffree: ::fsfilcnt_t,
146         pub f_favail: ::fsfilcnt_t,
147         pub f_fsid: ::c_ulong,
148         pub f_flag: ::c_ulong,
149         pub f_namemax: ::c_ulong,
150         __f_spare: [::c_int; 6],
151     }
152 
153     pub struct statvfs64 {
154         pub f_bsize: ::c_ulong,
155         pub f_frsize: ::c_ulong,
156         pub f_blocks: u64,
157         pub f_bfree: u64,
158         pub f_bavail: u64,
159         pub f_files: u64,
160         pub f_ffree: u64,
161         pub f_favail: u64,
162         pub f_fsid: ::c_ulong,
163         pub f_flag: ::c_ulong,
164         pub f_namemax: ::c_ulong,
165         __f_spare: [::c_int; 6],
166     }
167 
168     pub struct pthread_attr_t {
169         __size: [u64; 7]
170     }
171 
172     pub struct ipc_perm {
173         pub __key: ::key_t,
174         pub uid: ::uid_t,
175         pub gid: ::gid_t,
176         pub cuid: ::uid_t,
177         pub cgid: ::gid_t,
178         pub mode: ::mode_t,
179         __pad0: u16,
180         pub __seq: ::c_ushort,
181         __unused1: ::c_ulonglong,
182         __unused2: ::c_ulonglong,
183     }
184 
185     pub struct shmid_ds {
186         pub shm_perm: ::ipc_perm,
187         pub shm_atime: ::time_t,
188         pub shm_dtime: ::time_t,
189         pub shm_ctime: ::time_t,
190         pub shm_segsz: ::size_t,
191         pub shm_cpid: ::pid_t,
192         pub shm_lpid: ::pid_t,
193         pub shm_nattch: ::shmatt_t,
194         __reserved1: ::c_ulong,
195         __reserved2: ::c_ulong
196     }
197 }
198 
199 pub const POSIX_FADV_DONTNEED: ::c_int = 4;
200 pub const POSIX_FADV_NOREUSE: ::c_int = 5;
201 
202 pub const VEOF: usize = 4;
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 pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56;
207 
208 pub const RLIMIT_RSS: ::__rlimit_resource_t = 5;
209 pub const RLIMIT_AS: ::__rlimit_resource_t = 9;
210 pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8;
211 pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 6;
212 pub const RLIMIT_NPROC: ::__rlimit_resource_t = 7;
213 
214 pub const O_APPEND: ::c_int = 0x8;
215 pub const O_CREAT: ::c_int = 0x200;
216 pub const O_EXCL: ::c_int = 0x800;
217 pub const O_NOCTTY: ::c_int = 0x8000;
218 pub const O_NONBLOCK: ::c_int = 0x4000;
219 pub const O_SYNC: ::c_int = 0x802000;
220 pub const O_RSYNC: ::c_int = 0x802000;
221 pub const O_DSYNC: ::c_int = 0x2000;
222 pub const O_FSYNC: ::c_int = 0x802000;
223 pub const O_NOATIME: ::c_int = 0x200000;
224 pub const O_PATH: ::c_int = 0x1000000;
225 pub const O_TMPFILE: ::c_int = 0x2000000 | O_DIRECTORY;
226 
227 pub const MADV_SOFT_OFFLINE: ::c_int = 101;
228 pub const MAP_GROWSDOWN: ::c_int = 0x0200;
229 pub const MAP_ANON: ::c_int = 0x0020;
230 pub const MAP_ANONYMOUS: ::c_int = 0x0020;
231 pub const MAP_DENYWRITE: ::c_int = 0x0800;
232 pub const MAP_EXECUTABLE: ::c_int = 0x01000;
233 pub const MAP_POPULATE: ::c_int = 0x08000;
234 pub const MAP_NONBLOCK: ::c_int = 0x010000;
235 pub const MAP_STACK: ::c_int = 0x020000;
236 pub const MAP_HUGETLB: ::c_int = 0x040000;
237 pub const MAP_SYNC: ::c_int = 0x080000;
238 
239 pub const EDEADLK: ::c_int = 78;
240 pub const ENAMETOOLONG: ::c_int = 63;
241 pub const ENOLCK: ::c_int = 79;
242 pub const ENOSYS: ::c_int = 90;
243 pub const ENOTEMPTY: ::c_int = 66;
244 pub const ELOOP: ::c_int = 62;
245 pub const ENOMSG: ::c_int = 75;
246 pub const EIDRM: ::c_int = 77;
247 pub const ECHRNG: ::c_int = 94;
248 pub const EL2NSYNC: ::c_int = 95;
249 pub const EL3HLT: ::c_int = 96;
250 pub const EL3RST: ::c_int = 97;
251 pub const ELNRNG: ::c_int = 98;
252 pub const EUNATCH: ::c_int = 99;
253 pub const ENOCSI: ::c_int = 100;
254 pub const EL2HLT: ::c_int = 101;
255 pub const EBADE: ::c_int = 102;
256 pub const EBADR: ::c_int = 103;
257 pub const EXFULL: ::c_int = 104;
258 pub const ENOANO: ::c_int = 105;
259 pub const EBADRQC: ::c_int = 106;
260 pub const EBADSLT: ::c_int = 107;
261 pub const EMULTIHOP: ::c_int = 87;
262 pub const EOVERFLOW: ::c_int = 92;
263 pub const ENOTUNIQ: ::c_int = 115;
264 pub const EBADFD: ::c_int = 93;
265 pub const EBADMSG: ::c_int = 76;
266 pub const EREMCHG: ::c_int = 89;
267 pub const ELIBACC: ::c_int = 114;
268 pub const ELIBBAD: ::c_int = 112;
269 pub const ELIBSCN: ::c_int = 124;
270 pub const ELIBMAX: ::c_int = 123;
271 pub const ELIBEXEC: ::c_int = 110;
272 pub const EILSEQ: ::c_int = 122;
273 pub const ERESTART: ::c_int = 116;
274 pub const ESTRPIPE: ::c_int = 91;
275 pub const EUSERS: ::c_int = 68;
276 pub const ENOTSOCK: ::c_int = 38;
277 pub const EDESTADDRREQ: ::c_int = 39;
278 pub const EMSGSIZE: ::c_int = 40;
279 pub const EPROTOTYPE: ::c_int = 41;
280 pub const ENOPROTOOPT: ::c_int = 42;
281 pub const EPROTONOSUPPORT: ::c_int = 43;
282 pub const ESOCKTNOSUPPORT: ::c_int = 44;
283 pub const EOPNOTSUPP: ::c_int = 45;
284 pub const EPFNOSUPPORT: ::c_int = 46;
285 pub const EAFNOSUPPORT: ::c_int = 47;
286 pub const EADDRINUSE: ::c_int = 48;
287 pub const EADDRNOTAVAIL: ::c_int = 49;
288 pub const ENETDOWN: ::c_int = 50;
289 pub const ENETUNREACH: ::c_int = 51;
290 pub const ENETRESET: ::c_int = 52;
291 pub const ECONNABORTED: ::c_int = 53;
292 pub const ECONNRESET: ::c_int = 54;
293 pub const ENOBUFS: ::c_int = 55;
294 pub const EISCONN: ::c_int = 56;
295 pub const ENOTCONN: ::c_int = 57;
296 pub const ESHUTDOWN: ::c_int = 58;
297 pub const ETOOMANYREFS: ::c_int = 59;
298 pub const ETIMEDOUT: ::c_int = 60;
299 pub const ECONNREFUSED: ::c_int = 61;
300 pub const EHOSTDOWN: ::c_int = 64;
301 pub const EHOSTUNREACH: ::c_int = 65;
302 pub const EALREADY: ::c_int = 37;
303 pub const EINPROGRESS: ::c_int = 36;
304 pub const ESTALE: ::c_int = 70;
305 pub const EDQUOT: ::c_int = 69;
306 pub const ENOMEDIUM: ::c_int = 125;
307 pub const EMEDIUMTYPE: ::c_int = 126;
308 pub const ECANCELED: ::c_int = 127;
309 pub const ENOKEY: ::c_int = 128;
310 pub const EKEYEXPIRED: ::c_int = 129;
311 pub const EKEYREVOKED: ::c_int = 130;
312 pub const EKEYREJECTED: ::c_int = 131;
313 pub const EOWNERDEAD: ::c_int = 132;
314 pub const ENOTRECOVERABLE: ::c_int = 133;
315 pub const EHWPOISON: ::c_int = 135;
316 pub const ERFKILL: ::c_int = 134;
317 
318 pub const SOCK_STREAM: ::c_int = 1;
319 pub const SOCK_DGRAM: ::c_int = 2;
320 
321 pub const SA_ONSTACK: ::c_int = 1;
322 pub const SA_SIGINFO: ::c_int = 0x200;
323 pub const SA_NOCLDWAIT: ::c_int = 0x100;
324 
325 pub const SIGTTIN: ::c_int = 21;
326 pub const SIGTTOU: ::c_int = 22;
327 pub const SIGXCPU: ::c_int = 24;
328 pub const SIGXFSZ: ::c_int = 25;
329 pub const SIGVTALRM: ::c_int = 26;
330 pub const SIGPROF: ::c_int = 27;
331 pub const SIGWINCH: ::c_int = 28;
332 pub const SIGCHLD: ::c_int = 20;
333 pub const SIGBUS: ::c_int = 10;
334 pub const SIGUSR1: ::c_int = 30;
335 pub const SIGUSR2: ::c_int = 31;
336 pub const SIGCONT: ::c_int = 19;
337 pub const SIGSTOP: ::c_int = 17;
338 pub const SIGTSTP: ::c_int = 18;
339 pub const SIGURG: ::c_int = 16;
340 pub const SIGIO: ::c_int = 23;
341 pub const SIGSYS: ::c_int = 12;
342 pub const SIGPOLL: ::c_int = 23;
343 pub const SIGPWR: ::c_int = 29;
344 pub const SIG_SETMASK: ::c_int = 4;
345 pub const SIG_BLOCK: ::c_int = 1;
346 pub const SIG_UNBLOCK: ::c_int = 2;
347 
348 pub const POLLWRNORM: ::c_short = 4;
349 pub const POLLWRBAND: ::c_short = 0x100;
350 
351 pub const O_ASYNC: ::c_int = 0x40;
352 pub const O_NDELAY: ::c_int = 0x4004;
353 
354 pub const PTRACE_DETACH: ::c_uint = 17;
355 
356 pub const EFD_NONBLOCK: ::c_int = 0x4000;
357 
358 pub const F_GETLK: ::c_int = 7;
359 pub const F_GETOWN: ::c_int = 5;
360 pub const F_SETOWN: ::c_int = 6;
361 pub const F_SETLK: ::c_int = 8;
362 pub const F_SETLKW: ::c_int = 9;
363 pub const F_OFD_GETLK: ::c_int = 36;
364 pub const F_OFD_SETLK: ::c_int = 37;
365 pub const F_OFD_SETLKW: ::c_int = 38;
366 
367 pub const F_RDLCK: ::c_int = 1;
368 pub const F_WRLCK: ::c_int = 2;
369 pub const F_UNLCK: ::c_int = 3;
370 
371 pub const SFD_NONBLOCK: ::c_int = 0x4000;
372 
373 pub const TCSANOW: ::c_int = 0;
374 pub const TCSADRAIN: ::c_int = 1;
375 pub const TCSAFLUSH: ::c_int = 2;
376 
377 pub const SFD_CLOEXEC: ::c_int = 0x400000;
378 
379 pub const NCCS: usize = 17;
380 pub const O_TRUNC: ::c_int = 0x400;
381 
382 pub const O_CLOEXEC: ::c_int = 0x400000;
383 
384 pub const EBFONT: ::c_int = 109;
385 pub const ENOSTR: ::c_int = 72;
386 pub const ENODATA: ::c_int = 111;
387 pub const ETIME: ::c_int = 73;
388 pub const ENOSR: ::c_int = 74;
389 pub const ENONET: ::c_int = 80;
390 pub const ENOPKG: ::c_int = 113;
391 pub const EREMOTE: ::c_int = 71;
392 pub const ENOLINK: ::c_int = 82;
393 pub const EADV: ::c_int = 83;
394 pub const ESRMNT: ::c_int = 84;
395 pub const ECOMM: ::c_int = 85;
396 pub const EPROTO: ::c_int = 86;
397 pub const EDOTDOT: ::c_int = 88;
398 
399 pub const SA_NODEFER: ::c_int = 0x20;
400 pub const SA_RESETHAND: ::c_int = 0x4;
401 pub const SA_RESTART: ::c_int = 0x2;
402 pub const SA_NOCLDSTOP: ::c_int = 0x00000008;
403 
404 pub const EPOLL_CLOEXEC: ::c_int = 0x400000;
405 
406 pub const EFD_CLOEXEC: ::c_int = 0x400000;
407 pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4;
408 pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40;
409 pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4;
410 
411 align_const! {
412     pub const PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t =
413         pthread_mutex_t {
414             size: [
415                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
416                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
417             ],
418         };
419     pub const PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP: ::pthread_mutex_t =
420         pthread_mutex_t {
421             size: [
422                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
423                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424             ],
425         };
426     pub const PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t =
427         pthread_mutex_t {
428             size: [
429                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0,
430                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431             ],
432         };
433 }
434 
435 pub const O_DIRECTORY: ::c_int = 0o200000;
436 pub const O_NOFOLLOW: ::c_int = 0o400000;
437 pub const O_DIRECT: ::c_int = 0x100000;
438 
439 pub const MAP_LOCKED: ::c_int = 0x0100;
440 pub const MAP_NORESERVE: ::c_int = 0x00040;
441 
442 pub const EDEADLOCK: ::c_int = 108;
443 pub const EUCLEAN: ::c_int = 117;
444 pub const ENOTNAM: ::c_int = 118;
445 pub const ENAVAIL: ::c_int = 119;
446 pub const EISNAM: ::c_int = 120;
447 pub const EREMOTEIO: ::c_int = 121;
448 
449 pub const MCL_CURRENT: ::c_int = 0x2000;
450 pub const MCL_FUTURE: ::c_int = 0x4000;
451 
452 pub const SIGSTKSZ: ::size_t = 16384;
453 pub const MINSIGSTKSZ: ::size_t = 4096;
454 pub const CBAUD: ::tcflag_t = 0x0000100f;
455 pub const TAB1: ::tcflag_t = 0x800;
456 pub const TAB2: ::tcflag_t = 0x1000;
457 pub const TAB3: ::tcflag_t = 0x1800;
458 pub const CR1: ::tcflag_t = 0x200;
459 pub const CR2: ::tcflag_t = 0x400;
460 pub const CR3: ::tcflag_t = 0x600;
461 pub const FF1: ::tcflag_t = 0x8000;
462 pub const BS1: ::tcflag_t = 0x2000;
463 pub const VT1: ::tcflag_t = 0x4000;
464 pub const VWERASE: usize = 0xe;
465 pub const VREPRINT: usize = 0xc;
466 pub const VSUSP: usize = 0xa;
467 pub const VSTART: usize = 0x8;
468 pub const VSTOP: usize = 0x9;
469 pub const VDISCARD: usize = 0xd;
470 pub const VTIME: usize = 0x5;
471 pub const IXON: ::tcflag_t = 0x400;
472 pub const IXOFF: ::tcflag_t = 0x1000;
473 pub const ONLCR: ::tcflag_t = 0x4;
474 pub const CSIZE: ::tcflag_t = 0x30;
475 pub const CS6: ::tcflag_t = 0x10;
476 pub const CS7: ::tcflag_t = 0x20;
477 pub const CS8: ::tcflag_t = 0x30;
478 pub const CSTOPB: ::tcflag_t = 0x40;
479 pub const CREAD: ::tcflag_t = 0x80;
480 pub const PARENB: ::tcflag_t = 0x100;
481 pub const PARODD: ::tcflag_t = 0x200;
482 pub const HUPCL: ::tcflag_t = 0x400;
483 pub const CLOCAL: ::tcflag_t = 0x800;
484 pub const ECHOKE: ::tcflag_t = 0x800;
485 pub const ECHOE: ::tcflag_t = 0x10;
486 pub const ECHOK: ::tcflag_t = 0x20;
487 pub const ECHONL: ::tcflag_t = 0x40;
488 pub const ECHOPRT: ::tcflag_t = 0x400;
489 pub const ECHOCTL: ::tcflag_t = 0x200;
490 pub const ISIG: ::tcflag_t = 0x1;
491 pub const ICANON: ::tcflag_t = 0x2;
492 pub const PENDIN: ::tcflag_t = 0x4000;
493 pub const NOFLSH: ::tcflag_t = 0x80;
494 pub const CIBAUD: ::tcflag_t = 0o02003600000;
495 pub const CBAUDEX: ::tcflag_t = 0x00001000;
496 pub const VSWTC: usize = 7;
497 pub const OLCUC: ::tcflag_t = 0o000002;
498 pub const NLDLY: ::tcflag_t = 0o000400;
499 pub const CRDLY: ::tcflag_t = 0o003000;
500 pub const TABDLY: ::tcflag_t = 0o014000;
501 pub const BSDLY: ::tcflag_t = 0o020000;
502 pub const FFDLY: ::tcflag_t = 0o100000;
503 pub const VTDLY: ::tcflag_t = 0o040000;
504 pub const XTABS: ::tcflag_t = 0o014000;
505 
506 pub const B0: ::speed_t = 0o000000;
507 pub const B50: ::speed_t = 0o000001;
508 pub const B75: ::speed_t = 0o000002;
509 pub const B110: ::speed_t = 0o000003;
510 pub const B134: ::speed_t = 0o000004;
511 pub const B150: ::speed_t = 0o000005;
512 pub const B200: ::speed_t = 0o000006;
513 pub const B300: ::speed_t = 0o000007;
514 pub const B600: ::speed_t = 0o000010;
515 pub const B1200: ::speed_t = 0o000011;
516 pub const B1800: ::speed_t = 0o000012;
517 pub const B2400: ::speed_t = 0o000013;
518 pub const B4800: ::speed_t = 0o000014;
519 pub const B9600: ::speed_t = 0o000015;
520 pub const B19200: ::speed_t = 0o000016;
521 pub const B38400: ::speed_t = 0o000017;
522 pub const EXTA: ::speed_t = B19200;
523 pub const EXTB: ::speed_t = B38400;
524 pub const B57600: ::speed_t = 0x1001;
525 pub const B115200: ::speed_t = 0x1002;
526 pub const B230400: ::speed_t = 0x1003;
527 pub const B460800: ::speed_t = 0x1004;
528 pub const B76800: ::speed_t = 0x1005;
529 pub const B153600: ::speed_t = 0x1006;
530 pub const B307200: ::speed_t = 0x1007;
531 pub const B614400: ::speed_t = 0x1008;
532 pub const B921600: ::speed_t = 0x1009;
533 pub const B500000: ::speed_t = 0x100a;
534 pub const B576000: ::speed_t = 0x100b;
535 pub const B1000000: ::speed_t = 0x100c;
536 pub const B1152000: ::speed_t = 0x100d;
537 pub const B1500000: ::speed_t = 0x100e;
538 pub const B2000000: ::speed_t = 0x100f;
539 
540 pub const VEOL: usize = 5;
541 pub const VEOL2: usize = 6;
542 pub const VMIN: usize = 4;
543 pub const IEXTEN: ::tcflag_t = 0x8000;
544 pub const TOSTOP: ::tcflag_t = 0x100;
545 pub const FLUSHO: ::tcflag_t = 0x1000;
546 pub const EXTPROC: ::tcflag_t = 0x10000;
547 
548 pub const SYS_restart_syscall: ::c_long = 0;
549 pub const SYS_exit: ::c_long = 1;
550 pub const SYS_fork: ::c_long = 2;
551 pub const SYS_read: ::c_long = 3;
552 pub const SYS_write: ::c_long = 4;
553 pub const SYS_open: ::c_long = 5;
554 pub const SYS_close: ::c_long = 6;
555 pub const SYS_wait4: ::c_long = 7;
556 pub const SYS_creat: ::c_long = 8;
557 pub const SYS_link: ::c_long = 9;
558 pub const SYS_unlink: ::c_long = 10;
559 pub const SYS_execv: ::c_long = 11;
560 pub const SYS_chdir: ::c_long = 12;
561 pub const SYS_chown: ::c_long = 13;
562 pub const SYS_mknod: ::c_long = 14;
563 pub const SYS_chmod: ::c_long = 15;
564 pub const SYS_lchown: ::c_long = 16;
565 pub const SYS_brk: ::c_long = 17;
566 pub const SYS_perfctr: ::c_long = 18;
567 pub const SYS_lseek: ::c_long = 19;
568 pub const SYS_getpid: ::c_long = 20;
569 pub const SYS_capget: ::c_long = 21;
570 pub const SYS_capset: ::c_long = 22;
571 pub const SYS_setuid: ::c_long = 23;
572 pub const SYS_getuid: ::c_long = 24;
573 pub const SYS_vmsplice: ::c_long = 25;
574 pub const SYS_ptrace: ::c_long = 26;
575 pub const SYS_alarm: ::c_long = 27;
576 pub const SYS_sigaltstack: ::c_long = 28;
577 pub const SYS_pause: ::c_long = 29;
578 pub const SYS_utime: ::c_long = 30;
579 pub const SYS_access: ::c_long = 33;
580 pub const SYS_nice: ::c_long = 34;
581 pub const SYS_sync: ::c_long = 36;
582 pub const SYS_kill: ::c_long = 37;
583 pub const SYS_stat: ::c_long = 38;
584 pub const SYS_sendfile: ::c_long = 39;
585 pub const SYS_lstat: ::c_long = 40;
586 pub const SYS_dup: ::c_long = 41;
587 pub const SYS_pipe: ::c_long = 42;
588 pub const SYS_times: ::c_long = 43;
589 pub const SYS_umount2: ::c_long = 45;
590 pub const SYS_setgid: ::c_long = 46;
591 pub const SYS_getgid: ::c_long = 47;
592 pub const SYS_signal: ::c_long = 48;
593 pub const SYS_geteuid: ::c_long = 49;
594 pub const SYS_getegid: ::c_long = 50;
595 pub const SYS_acct: ::c_long = 51;
596 pub const SYS_memory_ordering: ::c_long = 52;
597 pub const SYS_ioctl: ::c_long = 54;
598 pub const SYS_reboot: ::c_long = 55;
599 pub const SYS_symlink: ::c_long = 57;
600 pub const SYS_readlink: ::c_long = 58;
601 pub const SYS_execve: ::c_long = 59;
602 pub const SYS_umask: ::c_long = 60;
603 pub const SYS_chroot: ::c_long = 61;
604 pub const SYS_fstat: ::c_long = 62;
605 pub const SYS_fstat64: ::c_long = 63;
606 pub const SYS_getpagesize: ::c_long = 64;
607 pub const SYS_msync: ::c_long = 65;
608 pub const SYS_vfork: ::c_long = 66;
609 pub const SYS_pread64: ::c_long = 67;
610 pub const SYS_pwrite64: ::c_long = 68;
611 pub const SYS_mmap: ::c_long = 71;
612 pub const SYS_munmap: ::c_long = 73;
613 pub const SYS_mprotect: ::c_long = 74;
614 pub const SYS_madvise: ::c_long = 75;
615 pub const SYS_vhangup: ::c_long = 76;
616 pub const SYS_mincore: ::c_long = 78;
617 pub const SYS_getgroups: ::c_long = 79;
618 pub const SYS_setgroups: ::c_long = 80;
619 pub const SYS_getpgrp: ::c_long = 81;
620 pub const SYS_setitimer: ::c_long = 83;
621 pub const SYS_swapon: ::c_long = 85;
622 pub const SYS_getitimer: ::c_long = 86;
623 pub const SYS_sethostname: ::c_long = 88;
624 pub const SYS_dup2: ::c_long = 90;
625 pub const SYS_fcntl: ::c_long = 92;
626 pub const SYS_select: ::c_long = 93;
627 pub const SYS_fsync: ::c_long = 95;
628 pub const SYS_setpriority: ::c_long = 96;
629 pub const SYS_socket: ::c_long = 97;
630 pub const SYS_connect: ::c_long = 98;
631 pub const SYS_accept: ::c_long = 99;
632 pub const SYS_getpriority: ::c_long = 100;
633 pub const SYS_rt_sigreturn: ::c_long = 101;
634 pub const SYS_rt_sigaction: ::c_long = 102;
635 pub const SYS_rt_sigprocmask: ::c_long = 103;
636 pub const SYS_rt_sigpending: ::c_long = 104;
637 pub const SYS_rt_sigtimedwait: ::c_long = 105;
638 pub const SYS_rt_sigqueueinfo: ::c_long = 106;
639 pub const SYS_rt_sigsuspend: ::c_long = 107;
640 pub const SYS_setresuid: ::c_long = 108;
641 pub const SYS_getresuid: ::c_long = 109;
642 pub const SYS_setresgid: ::c_long = 110;
643 pub const SYS_getresgid: ::c_long = 111;
644 pub const SYS_recvmsg: ::c_long = 113;
645 pub const SYS_sendmsg: ::c_long = 114;
646 pub const SYS_gettimeofday: ::c_long = 116;
647 pub const SYS_getrusage: ::c_long = 117;
648 pub const SYS_getsockopt: ::c_long = 118;
649 pub const SYS_getcwd: ::c_long = 119;
650 pub const SYS_readv: ::c_long = 120;
651 pub const SYS_writev: ::c_long = 121;
652 pub const SYS_settimeofday: ::c_long = 122;
653 pub const SYS_fchown: ::c_long = 123;
654 pub const SYS_fchmod: ::c_long = 124;
655 pub const SYS_recvfrom: ::c_long = 125;
656 pub const SYS_setreuid: ::c_long = 126;
657 pub const SYS_setregid: ::c_long = 127;
658 pub const SYS_rename: ::c_long = 128;
659 pub const SYS_truncate: ::c_long = 129;
660 pub const SYS_ftruncate: ::c_long = 130;
661 pub const SYS_flock: ::c_long = 131;
662 pub const SYS_lstat64: ::c_long = 132;
663 pub const SYS_sendto: ::c_long = 133;
664 pub const SYS_shutdown: ::c_long = 134;
665 pub const SYS_socketpair: ::c_long = 135;
666 pub const SYS_mkdir: ::c_long = 136;
667 pub const SYS_rmdir: ::c_long = 137;
668 pub const SYS_utimes: ::c_long = 138;
669 pub const SYS_stat64: ::c_long = 139;
670 pub const SYS_sendfile64: ::c_long = 140;
671 pub const SYS_getpeername: ::c_long = 141;
672 pub const SYS_futex: ::c_long = 142;
673 pub const SYS_gettid: ::c_long = 143;
674 pub const SYS_getrlimit: ::c_long = 144;
675 pub const SYS_setrlimit: ::c_long = 145;
676 pub const SYS_pivot_root: ::c_long = 146;
677 pub const SYS_prctl: ::c_long = 147;
678 pub const SYS_pciconfig_read: ::c_long = 148;
679 pub const SYS_pciconfig_write: ::c_long = 149;
680 pub const SYS_getsockname: ::c_long = 150;
681 pub const SYS_inotify_init: ::c_long = 151;
682 pub const SYS_inotify_add_watch: ::c_long = 152;
683 pub const SYS_poll: ::c_long = 153;
684 pub const SYS_getdents64: ::c_long = 154;
685 pub const SYS_inotify_rm_watch: ::c_long = 156;
686 pub const SYS_statfs: ::c_long = 157;
687 pub const SYS_fstatfs: ::c_long = 158;
688 pub const SYS_umount: ::c_long = 159;
689 pub const SYS_sched_set_affinity: ::c_long = 160;
690 pub const SYS_sched_get_affinity: ::c_long = 161;
691 pub const SYS_getdomainname: ::c_long = 162;
692 pub const SYS_setdomainname: ::c_long = 163;
693 pub const SYS_utrap_install: ::c_long = 164;
694 pub const SYS_quotactl: ::c_long = 165;
695 pub const SYS_set_tid_address: ::c_long = 166;
696 pub const SYS_mount: ::c_long = 167;
697 pub const SYS_ustat: ::c_long = 168;
698 pub const SYS_setxattr: ::c_long = 169;
699 pub const SYS_lsetxattr: ::c_long = 170;
700 pub const SYS_fsetxattr: ::c_long = 171;
701 pub const SYS_getxattr: ::c_long = 172;
702 pub const SYS_lgetxattr: ::c_long = 173;
703 pub const SYS_getdents: ::c_long = 174;
704 pub const SYS_setsid: ::c_long = 175;
705 pub const SYS_fchdir: ::c_long = 176;
706 pub const SYS_fgetxattr: ::c_long = 177;
707 pub const SYS_listxattr: ::c_long = 178;
708 pub const SYS_llistxattr: ::c_long = 179;
709 pub const SYS_flistxattr: ::c_long = 180;
710 pub const SYS_removexattr: ::c_long = 181;
711 pub const SYS_lremovexattr: ::c_long = 182;
712 pub const SYS_sigpending: ::c_long = 183;
713 pub const SYS_query_module: ::c_long = 184;
714 pub const SYS_setpgid: ::c_long = 185;
715 pub const SYS_fremovexattr: ::c_long = 186;
716 pub const SYS_tkill: ::c_long = 187;
717 pub const SYS_exit_group: ::c_long = 188;
718 pub const SYS_uname: ::c_long = 189;
719 pub const SYS_init_module: ::c_long = 190;
720 pub const SYS_personality: ::c_long = 191;
721 pub const SYS_remap_file_pages: ::c_long = 192;
722 pub const SYS_epoll_create: ::c_long = 193;
723 pub const SYS_epoll_ctl: ::c_long = 194;
724 pub const SYS_epoll_wait: ::c_long = 195;
725 pub const SYS_ioprio_set: ::c_long = 196;
726 pub const SYS_getppid: ::c_long = 197;
727 pub const SYS_sigaction: ::c_long = 198;
728 pub const SYS_sgetmask: ::c_long = 199;
729 pub const SYS_ssetmask: ::c_long = 200;
730 pub const SYS_sigsuspend: ::c_long = 201;
731 pub const SYS_oldlstat: ::c_long = 202;
732 pub const SYS_uselib: ::c_long = 203;
733 pub const SYS_readdir: ::c_long = 204;
734 pub const SYS_readahead: ::c_long = 205;
735 pub const SYS_socketcall: ::c_long = 206;
736 pub const SYS_syslog: ::c_long = 207;
737 pub const SYS_lookup_dcookie: ::c_long = 208;
738 pub const SYS_fadvise64: ::c_long = 209;
739 pub const SYS_fadvise64_64: ::c_long = 210;
740 pub const SYS_tgkill: ::c_long = 211;
741 pub const SYS_waitpid: ::c_long = 212;
742 pub const SYS_swapoff: ::c_long = 213;
743 pub const SYS_sysinfo: ::c_long = 214;
744 pub const SYS_ipc: ::c_long = 215;
745 pub const SYS_sigreturn: ::c_long = 216;
746 pub const SYS_clone: ::c_long = 217;
747 pub const SYS_ioprio_get: ::c_long = 218;
748 pub const SYS_adjtimex: ::c_long = 219;
749 pub const SYS_sigprocmask: ::c_long = 220;
750 pub const SYS_create_module: ::c_long = 221;
751 pub const SYS_delete_module: ::c_long = 222;
752 pub const SYS_get_kernel_syms: ::c_long = 223;
753 pub const SYS_getpgid: ::c_long = 224;
754 pub const SYS_bdflush: ::c_long = 225;
755 pub const SYS_sysfs: ::c_long = 226;
756 pub const SYS_afs_syscall: ::c_long = 227;
757 pub const SYS_setfsuid: ::c_long = 228;
758 pub const SYS_setfsgid: ::c_long = 229;
759 pub const SYS__newselect: ::c_long = 230;
760 pub const SYS_splice: ::c_long = 232;
761 pub const SYS_stime: ::c_long = 233;
762 pub const SYS_statfs64: ::c_long = 234;
763 pub const SYS_fstatfs64: ::c_long = 235;
764 pub const SYS__llseek: ::c_long = 236;
765 pub const SYS_mlock: ::c_long = 237;
766 pub const SYS_munlock: ::c_long = 238;
767 pub const SYS_mlockall: ::c_long = 239;
768 pub const SYS_munlockall: ::c_long = 240;
769 pub const SYS_sched_setparam: ::c_long = 241;
770 pub const SYS_sched_getparam: ::c_long = 242;
771 pub const SYS_sched_setscheduler: ::c_long = 243;
772 pub const SYS_sched_getscheduler: ::c_long = 244;
773 pub const SYS_sched_yield: ::c_long = 245;
774 pub const SYS_sched_get_priority_max: ::c_long = 246;
775 pub const SYS_sched_get_priority_min: ::c_long = 247;
776 pub const SYS_sched_rr_get_interval: ::c_long = 248;
777 pub const SYS_nanosleep: ::c_long = 249;
778 pub const SYS_mremap: ::c_long = 250;
779 pub const SYS__sysctl: ::c_long = 251;
780 pub const SYS_getsid: ::c_long = 252;
781 pub const SYS_fdatasync: ::c_long = 253;
782 pub const SYS_nfsservctl: ::c_long = 254;
783 pub const SYS_sync_file_range: ::c_long = 255;
784 pub const SYS_clock_settime: ::c_long = 256;
785 pub const SYS_clock_gettime: ::c_long = 257;
786 pub const SYS_clock_getres: ::c_long = 258;
787 pub const SYS_clock_nanosleep: ::c_long = 259;
788 pub const SYS_sched_getaffinity: ::c_long = 260;
789 pub const SYS_sched_setaffinity: ::c_long = 261;
790 pub const SYS_timer_settime: ::c_long = 262;
791 pub const SYS_timer_gettime: ::c_long = 263;
792 pub const SYS_timer_getoverrun: ::c_long = 264;
793 pub const SYS_timer_delete: ::c_long = 265;
794 pub const SYS_timer_create: ::c_long = 266;
795 pub const SYS_io_setup: ::c_long = 268;
796 pub const SYS_io_destroy: ::c_long = 269;
797 pub const SYS_io_submit: ::c_long = 270;
798 pub const SYS_io_cancel: ::c_long = 271;
799 pub const SYS_io_getevents: ::c_long = 272;
800 pub const SYS_mq_open: ::c_long = 273;
801 pub const SYS_mq_unlink: ::c_long = 274;
802 pub const SYS_mq_timedsend: ::c_long = 275;
803 pub const SYS_mq_timedreceive: ::c_long = 276;
804 pub const SYS_mq_notify: ::c_long = 277;
805 pub const SYS_mq_getsetattr: ::c_long = 278;
806 pub const SYS_waitid: ::c_long = 279;
807 pub const SYS_tee: ::c_long = 280;
808 pub const SYS_add_key: ::c_long = 281;
809 pub const SYS_request_key: ::c_long = 282;
810 pub const SYS_keyctl: ::c_long = 283;
811 pub const SYS_openat: ::c_long = 284;
812 pub const SYS_mkdirat: ::c_long = 285;
813 pub const SYS_mknodat: ::c_long = 286;
814 pub const SYS_fchownat: ::c_long = 287;
815 pub const SYS_futimesat: ::c_long = 288;
816 pub const SYS_fstatat64: ::c_long = 289;
817 pub const SYS_unlinkat: ::c_long = 290;
818 pub const SYS_renameat: ::c_long = 291;
819 pub const SYS_linkat: ::c_long = 292;
820 pub const SYS_symlinkat: ::c_long = 293;
821 pub const SYS_readlinkat: ::c_long = 294;
822 pub const SYS_fchmodat: ::c_long = 295;
823 pub const SYS_faccessat: ::c_long = 296;
824 pub const SYS_pselect6: ::c_long = 297;
825 pub const SYS_ppoll: ::c_long = 298;
826 pub const SYS_unshare: ::c_long = 299;
827 pub const SYS_set_robust_list: ::c_long = 300;
828 pub const SYS_get_robust_list: ::c_long = 301;
829 pub const SYS_migrate_pages: ::c_long = 302;
830 pub const SYS_mbind: ::c_long = 303;
831 pub const SYS_get_mempolicy: ::c_long = 304;
832 pub const SYS_set_mempolicy: ::c_long = 305;
833 pub const SYS_kexec_load: ::c_long = 306;
834 pub const SYS_move_pages: ::c_long = 307;
835 pub const SYS_getcpu: ::c_long = 308;
836 pub const SYS_epoll_pwait: ::c_long = 309;
837 pub const SYS_utimensat: ::c_long = 310;
838 pub const SYS_signalfd: ::c_long = 311;
839 pub const SYS_timerfd_create: ::c_long = 312;
840 pub const SYS_eventfd: ::c_long = 313;
841 pub const SYS_fallocate: ::c_long = 314;
842 pub const SYS_timerfd_settime: ::c_long = 315;
843 pub const SYS_timerfd_gettime: ::c_long = 316;
844 pub const SYS_signalfd4: ::c_long = 317;
845 pub const SYS_eventfd2: ::c_long = 318;
846 pub const SYS_epoll_create1: ::c_long = 319;
847 pub const SYS_dup3: ::c_long = 320;
848 pub const SYS_pipe2: ::c_long = 321;
849 pub const SYS_inotify_init1: ::c_long = 322;
850 pub const SYS_accept4: ::c_long = 323;
851 pub const SYS_preadv: ::c_long = 324;
852 pub const SYS_pwritev: ::c_long = 325;
853 pub const SYS_rt_tgsigqueueinfo: ::c_long = 326;
854 pub const SYS_perf_event_open: ::c_long = 327;
855 pub const SYS_recvmmsg: ::c_long = 328;
856 pub const SYS_fanotify_init: ::c_long = 329;
857 pub const SYS_fanotify_mark: ::c_long = 330;
858 pub const SYS_prlimit64: ::c_long = 331;
859 pub const SYS_name_to_handle_at: ::c_long = 332;
860 pub const SYS_open_by_handle_at: ::c_long = 333;
861 pub const SYS_clock_adjtime: ::c_long = 334;
862 pub const SYS_syncfs: ::c_long = 335;
863 pub const SYS_sendmmsg: ::c_long = 336;
864 pub const SYS_setns: ::c_long = 337;
865 pub const SYS_process_vm_readv: ::c_long = 338;
866 pub const SYS_process_vm_writev: ::c_long = 339;
867 pub const SYS_kern_features: ::c_long = 340;
868 pub const SYS_kcmp: ::c_long = 341;
869 pub const SYS_finit_module: ::c_long = 342;
870 pub const SYS_sched_setattr: ::c_long = 343;
871 pub const SYS_sched_getattr: ::c_long = 344;
872 pub const SYS_renameat2: ::c_long = 345;
873 pub const SYS_seccomp: ::c_long = 346;
874 pub const SYS_getrandom: ::c_long = 347;
875 pub const SYS_memfd_create: ::c_long = 348;
876 pub const SYS_bpf: ::c_long = 349;
877 pub const SYS_execveat: ::c_long = 350;
878 pub const SYS_membarrier: ::c_long = 351;
879 pub const SYS_userfaultfd: ::c_long = 352;
880 pub const SYS_bind: ::c_long = 353;
881 pub const SYS_listen: ::c_long = 354;
882 pub const SYS_setsockopt: ::c_long = 355;
883 pub const SYS_mlock2: ::c_long = 356;
884 pub const SYS_copy_file_range: ::c_long = 357;
885 pub const SYS_preadv2: ::c_long = 358;
886 pub const SYS_pwritev2: ::c_long = 359;
887 pub const SYS_statx: ::c_long = 360;
888 pub const SYS_pidfd_send_signal: ::c_long = 424;
889 pub const SYS_io_uring_setup: ::c_long = 425;
890 pub const SYS_io_uring_enter: ::c_long = 426;
891 pub const SYS_io_uring_register: ::c_long = 427;
892 pub const SYS_open_tree: ::c_long = 428;
893 pub const SYS_move_mount: ::c_long = 429;
894 pub const SYS_fsopen: ::c_long = 430;
895 pub const SYS_fsconfig: ::c_long = 431;
896 pub const SYS_fsmount: ::c_long = 432;
897 pub const SYS_fspick: ::c_long = 433;
898 pub const SYS_pidfd_open: ::c_long = 434;
899 // Reserved in the kernel, but not actually implemented yet
900 pub const SYS_clone3: ::c_long = 435;
901 pub const SYS_close_range: ::c_long = 436;
902 pub const SYS_openat2: ::c_long = 437;
903 pub const SYS_pidfd_getfd: ::c_long = 438;
904 pub const SYS_faccessat2: ::c_long = 439;
905 pub const SYS_process_madvise: ::c_long = 440;
906 pub const SYS_epoll_pwait2: ::c_long = 441;
907 pub const SYS_mount_setattr: ::c_long = 442;
908 
909 extern "C" {
910     pub fn sysctl(
911         name: *mut ::c_int,
912         namelen: ::c_int,
913         oldp: *mut ::c_void,
914         oldlenp: *mut ::size_t,
915         newp: *mut ::c_void,
916         newlen: ::size_t,
917     ) -> ::c_int;
918 }
919 
920 cfg_if! {
921     if #[cfg(libc_align)] {
922         mod align;
923         pub use self::align::*;
924     }
925 }
926