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