]>
Commit | Line | Data |
---|---|---|
ea8adc8c XL |
1 | pub type c_char = i8; |
2 | pub type wchar_t = i32; | |
3 | pub type useconds_t = u32; | |
4 | pub type dev_t = u32; | |
5 | pub type socklen_t = u32; | |
6 | pub type pthread_t = c_ulong; | |
7 | pub type mode_t = u32; | |
e74abb32 XL |
8 | pub type ino64_t = u64; |
9 | pub type off64_t = i64; | |
ea8adc8c XL |
10 | pub type blkcnt64_t = i32; |
11 | pub type rlim64_t = u64; | |
12 | pub type shmatt_t = ::c_ulong; | |
13 | pub type mqd_t = ::c_int; | |
14 | pub type msgqnum_t = ::c_ulong; | |
15 | pub type msglen_t = ::c_ulong; | |
16 | pub type nfds_t = ::c_ulong; | |
17 | pub type nl_item = ::c_int; | |
18 | pub type idtype_t = ::c_uint; | |
e74abb32 | 19 | pub type loff_t = i64; |
416331ca | 20 | pub type pthread_key_t = ::c_uint; |
ea8adc8c XL |
21 | |
22 | pub type clock_t = c_long; | |
23 | pub type time_t = c_long; | |
24 | pub type suseconds_t = c_long; | |
e74abb32 XL |
25 | pub type ino_t = u64; |
26 | pub type off_t = i64; | |
ea8adc8c XL |
27 | pub type blkcnt_t = i32; |
28 | ||
29 | pub type blksize_t = c_long; | |
30 | pub type fsblkcnt_t = u32; | |
31 | pub type fsfilcnt_t = u32; | |
32 | pub type rlim_t = ::c_ulonglong; | |
33 | pub type c_long = i32; | |
34 | pub type c_ulong = u32; | |
35 | pub type nlink_t = u32; | |
36 | ||
532ac7d7 | 37 | #[cfg_attr(feature = "extra_traits", derive(Debug))] |
ba9703b0 | 38 | pub enum fpos64_t {} // FIXME: fill this out with a struct |
532ac7d7 XL |
39 | impl ::Copy for fpos64_t {} |
40 | impl ::Clone for fpos64_t { | |
e74abb32 XL |
41 | fn clone(&self) -> fpos64_t { |
42 | *self | |
43 | } | |
532ac7d7 | 44 | } |
ea8adc8c XL |
45 | |
46 | s! { | |
ea8adc8c XL |
47 | pub struct rlimit64 { |
48 | pub rlim_cur: rlim64_t, | |
49 | pub rlim_max: rlim64_t, | |
50 | } | |
51 | ||
52 | pub struct glob_t { | |
53 | pub gl_pathc: ::size_t, | |
54 | pub gl_pathv: *mut *mut c_char, | |
55 | pub gl_offs: ::size_t, | |
56 | pub gl_flags: ::c_int, | |
57 | ||
58 | __unused1: *mut ::c_void, | |
59 | __unused2: *mut ::c_void, | |
60 | __unused3: *mut ::c_void, | |
61 | __unused4: *mut ::c_void, | |
62 | __unused5: *mut ::c_void, | |
63 | } | |
64 | ||
ea8adc8c XL |
65 | pub struct passwd { |
66 | pub pw_name: *mut ::c_char, | |
67 | pub pw_passwd: *mut ::c_char, | |
68 | pub pw_uid: ::uid_t, | |
69 | pub pw_gid: ::gid_t, | |
70 | pub pw_gecos: *mut ::c_char, | |
71 | pub pw_dir: *mut ::c_char, | |
72 | pub pw_shell: *mut ::c_char, | |
73 | } | |
74 | ||
75 | pub struct spwd { | |
76 | pub sp_namp: *mut ::c_char, | |
77 | pub sp_pwdp: *mut ::c_char, | |
78 | pub sp_lstchg: ::c_long, | |
79 | pub sp_min: ::c_long, | |
80 | pub sp_max: ::c_long, | |
81 | pub sp_warn: ::c_long, | |
82 | pub sp_inact: ::c_long, | |
83 | pub sp_expire: ::c_long, | |
84 | pub sp_flag: ::c_ulong, | |
85 | } | |
86 | ||
87 | pub struct statvfs { | |
88 | pub f_bsize: ::c_ulong, | |
89 | pub f_frsize: ::c_ulong, | |
90 | pub f_blocks: ::fsblkcnt_t, | |
91 | pub f_bfree: ::fsblkcnt_t, | |
92 | pub f_bavail: ::fsblkcnt_t, | |
93 | pub f_files: ::fsfilcnt_t, | |
94 | pub f_ffree: ::fsfilcnt_t, | |
95 | pub f_favail: ::fsfilcnt_t, | |
96 | pub f_fsid: ::c_ulong, | |
97 | __f_unused: ::c_int, | |
98 | pub f_flag: ::c_ulong, | |
99 | pub f_namemax: ::c_ulong, | |
100 | __f_spare: [::c_int; 6], | |
101 | } | |
102 | ||
103 | pub struct dqblk { | |
416331ca XL |
104 | pub dqb_bhardlimit: u64, |
105 | pub dqb_bsoftlimit: u64, | |
106 | pub dqb_curspace: u64, | |
107 | pub dqb_ihardlimit: u64, | |
108 | pub dqb_isoftlimit: u64, | |
109 | pub dqb_curinodes: u64, | |
110 | pub dqb_btime: u64, | |
111 | pub dqb_itime: u64, | |
112 | pub dqb_valid: u32, | |
ea8adc8c XL |
113 | } |
114 | ||
115 | pub struct signalfd_siginfo { | |
416331ca XL |
116 | pub ssi_signo: u32, |
117 | pub ssi_errno: i32, | |
118 | pub ssi_code: i32, | |
119 | pub ssi_pid: u32, | |
120 | pub ssi_uid: u32, | |
121 | pub ssi_fd: i32, | |
122 | pub ssi_tid: u32, | |
123 | pub ssi_band: u32, | |
124 | pub ssi_overrun: u32, | |
125 | pub ssi_trapno: u32, | |
126 | pub ssi_status: i32, | |
127 | pub ssi_int: i32, | |
128 | pub ssi_ptr: u64, | |
129 | pub ssi_utime: u64, | |
130 | pub ssi_stime: u64, | |
131 | pub ssi_addr: u64, | |
132 | pub ssi_addr_lsb: u16, | |
133 | _pad2: u16, | |
134 | pub ssi_syscall: i32, | |
135 | pub ssi_call_addr: u64, | |
136 | pub ssi_arch: u32, | |
137 | _pad: [u8; 28], | |
ea8adc8c XL |
138 | } |
139 | ||
140 | pub struct fsid_t { | |
141 | __val: [::c_int; 2], | |
142 | } | |
143 | ||
ea8adc8c XL |
144 | pub struct cpu_set_t { |
145 | bits: [u32; 32], | |
146 | } | |
147 | ||
148 | pub struct if_nameindex { | |
149 | pub if_index: ::c_uint, | |
150 | pub if_name: *mut ::c_char, | |
151 | } | |
152 | ||
153 | // System V IPC | |
154 | pub struct msginfo { | |
155 | pub msgpool: ::c_int, | |
156 | pub msgmap: ::c_int, | |
157 | pub msgmax: ::c_int, | |
158 | pub msgmnb: ::c_int, | |
159 | pub msgmni: ::c_int, | |
160 | pub msgssz: ::c_int, | |
161 | pub msgtql: ::c_int, | |
162 | pub msgseg: ::c_ushort, | |
163 | } | |
164 | ||
ea8adc8c XL |
165 | pub struct sembuf { |
166 | pub sem_num: ::c_ushort, | |
167 | pub sem_op: ::c_short, | |
168 | pub sem_flg: ::c_short, | |
169 | } | |
170 | ||
171 | pub struct aiocb { | |
172 | pub aio_fildes: ::c_int, | |
173 | pub aio_lio_opcode: ::c_int, | |
174 | pub aio_reqprio: ::c_int, | |
175 | pub aio_buf: *mut ::c_void, | |
176 | pub aio_nbytes: ::size_t, | |
177 | pub aio_sigevent: ::sigevent, | |
178 | __td: *mut ::c_void, | |
179 | __lock: [::c_int; 2], | |
180 | __err: ::c_int, | |
181 | __ret: ::ssize_t, | |
182 | pub aio_offset: off_t, | |
183 | __next: *mut ::c_void, | |
184 | __prev: *mut ::c_void, | |
185 | __dummy4: [::c_char; 24], | |
186 | } | |
187 | ||
188 | pub struct sigaction { | |
189 | pub sa_sigaction: ::sighandler_t, | |
190 | pub sa_mask: ::sigset_t, | |
191 | pub sa_flags: ::c_int, | |
532ac7d7 | 192 | pub sa_restorer: ::Option<extern fn()>, |
ea8adc8c XL |
193 | } |
194 | ||
195 | pub struct ipc_perm { | |
196 | pub __ipc_perm_key: ::key_t, | |
197 | pub uid: ::uid_t, | |
198 | pub gid: ::gid_t, | |
199 | pub cuid: ::uid_t, | |
200 | pub cgid: ::gid_t, | |
201 | pub mode: ::mode_t, | |
202 | pub __seq: ::c_int, | |
203 | __unused1: ::c_long, | |
204 | __unused2: ::c_long | |
205 | } | |
206 | ||
207 | pub struct termios { | |
208 | pub c_iflag: ::tcflag_t, | |
209 | pub c_oflag: ::tcflag_t, | |
210 | pub c_cflag: ::tcflag_t, | |
211 | pub c_lflag: ::tcflag_t, | |
212 | pub c_line: ::cc_t, | |
213 | pub c_cc: [::cc_t; ::NCCS], | |
214 | pub __c_ispeed: ::speed_t, | |
215 | pub __c_ospeed: ::speed_t, | |
216 | } | |
217 | ||
218 | pub struct flock { | |
219 | pub l_type: ::c_short, | |
220 | pub l_whence: ::c_short, | |
221 | pub l_start: ::off_t, | |
222 | pub l_len: ::off_t, | |
223 | pub l_pid: ::pid_t, | |
224 | } | |
225 | ||
dfeec247 XL |
226 | pub struct flock64 { |
227 | pub l_type: ::c_short, | |
228 | pub l_whence: ::c_short, | |
229 | pub l_start: ::off64_t, | |
230 | pub l_len: ::off64_t, | |
231 | pub l_pid: ::pid_t, | |
232 | } | |
233 | ||
ea8adc8c XL |
234 | pub struct pthread_attr_t { |
235 | __size: [u32; 11] | |
236 | } | |
237 | ||
238 | pub struct sigset_t { | |
239 | __val: [::c_ulong; 32], | |
240 | } | |
241 | ||
242 | pub struct msghdr { | |
243 | pub msg_name: *mut ::c_void, | |
244 | pub msg_namelen: ::socklen_t, | |
245 | pub msg_iov: *mut ::iovec, | |
246 | pub msg_iovlen: ::c_int, | |
247 | pub msg_control: *mut ::c_void, | |
248 | pub msg_controllen: ::socklen_t, | |
249 | pub msg_flags: ::c_int, | |
250 | } | |
251 | ||
252 | pub struct cmsghdr { | |
253 | pub cmsg_len: ::socklen_t, | |
254 | pub cmsg_level: ::c_int, | |
255 | pub cmsg_type: ::c_int, | |
256 | } | |
257 | ||
258 | pub struct sem_t { | |
259 | __val: [::c_int; 4], | |
260 | } | |
261 | pub struct stat { | |
262 | pub st_dev: ::dev_t, | |
263 | __st_dev_padding: ::c_int, | |
264 | __st_ino_truncated: ::c_long, | |
265 | pub st_mode: ::mode_t, | |
266 | pub st_nlink: ::nlink_t, | |
267 | pub st_uid: ::uid_t, | |
268 | pub st_gid: ::gid_t, | |
269 | pub st_rdev: ::dev_t, | |
270 | __st_rdev_padding: ::c_int, | |
271 | pub st_size: ::off_t, | |
272 | pub st_blksize: ::blksize_t, | |
273 | pub st_blocks: ::blkcnt_t, | |
274 | pub st_atime: ::time_t, | |
275 | pub st_atime_nsec: ::c_long, | |
276 | pub st_mtime: ::time_t, | |
277 | pub st_mtime_nsec: ::c_long, | |
278 | pub st_ctime: ::time_t, | |
279 | pub st_ctime_nsec: ::c_long, | |
280 | pub st_ino: ::ino_t, | |
281 | } | |
282 | ||
283 | pub struct stat64 { | |
284 | pub st_dev: ::dev_t, | |
285 | __st_dev_padding: ::c_int, | |
286 | __st_ino_truncated: ::c_long, | |
287 | pub st_mode: ::mode_t, | |
288 | pub st_nlink: ::nlink_t, | |
289 | pub st_uid: ::uid_t, | |
290 | pub st_gid: ::gid_t, | |
291 | pub st_rdev: ::dev_t, | |
292 | __st_rdev_padding: ::c_int, | |
293 | pub st_size: ::off_t, | |
294 | pub st_blksize: ::blksize_t, | |
295 | pub st_blocks: ::blkcnt_t, | |
296 | pub st_atime: ::time_t, | |
297 | pub st_atime_nsec: ::c_long, | |
298 | pub st_mtime: ::time_t, | |
299 | pub st_mtime_nsec: ::c_long, | |
300 | pub st_ctime: ::time_t, | |
301 | pub st_ctime_nsec: ::c_long, | |
302 | pub st_ino: ::ino_t, | |
303 | } | |
304 | ||
305 | pub struct stack_t { | |
306 | pub ss_sp: *mut ::c_void, | |
307 | pub ss_flags: ::c_int, | |
308 | pub ss_size: ::size_t | |
309 | } | |
310 | ||
311 | pub struct shmid_ds { | |
312 | pub shm_perm: ::ipc_perm, | |
313 | pub shm_segsz: ::size_t, | |
314 | pub shm_atime: ::time_t, | |
315 | __unused1: ::c_int, | |
316 | pub shm_dtime: ::time_t, | |
317 | __unused2: ::c_int, | |
318 | pub shm_ctime: ::time_t, | |
319 | __unused3: ::c_int, | |
320 | pub shm_cpid: ::pid_t, | |
321 | pub shm_lpid: ::pid_t, | |
322 | pub shm_nattch: ::c_ulong, | |
323 | __pad1: ::c_ulong, | |
324 | __pad2: ::c_ulong, | |
325 | } | |
326 | ||
327 | pub struct msqid_ds { | |
328 | pub msg_perm: ::ipc_perm, | |
329 | pub msg_stime: ::time_t, | |
330 | __unused1: ::c_int, | |
331 | pub msg_rtime: ::time_t, | |
332 | __unused2: ::c_int, | |
333 | pub msg_ctime: ::time_t, | |
334 | __unused3: ::c_int, | |
335 | __msg_cbytes: ::c_ulong, | |
336 | pub msg_qnum: ::msgqnum_t, | |
337 | pub msg_qbytes: ::msglen_t, | |
338 | pub msg_lspid: ::pid_t, | |
339 | pub msg_lrpid: ::pid_t, | |
340 | __pad1: ::c_ulong, | |
341 | __pad2: ::c_ulong, | |
342 | } | |
343 | ||
344 | pub struct statfs { | |
345 | pub f_type: ::c_ulong, | |
346 | pub f_bsize: ::c_ulong, | |
347 | pub f_blocks: ::fsblkcnt_t, | |
348 | pub f_bfree: ::fsblkcnt_t, | |
349 | pub f_bavail: ::fsblkcnt_t, | |
350 | pub f_files: ::fsfilcnt_t, | |
351 | pub f_ffree: ::fsfilcnt_t, | |
352 | pub f_fsid: ::fsid_t, | |
353 | pub f_namelen: ::c_ulong, | |
354 | pub f_frsize: ::c_ulong, | |
355 | pub f_flags: ::c_ulong, | |
356 | pub f_spare: [::c_ulong; 4], | |
357 | } | |
358 | ||
359 | pub struct siginfo_t { | |
360 | pub si_signo: ::c_int, | |
361 | pub si_errno: ::c_int, | |
362 | pub si_code: ::c_int, | |
363 | pub _pad: [::c_int; 29], | |
364 | _align: [usize; 0], | |
365 | } | |
366 | ||
367 | pub struct statfs64 { | |
368 | pub f_type: ::c_ulong, | |
369 | pub f_bsize: ::c_ulong, | |
370 | pub f_blocks: ::fsblkcnt_t, | |
371 | pub f_bfree: ::fsblkcnt_t, | |
372 | pub f_bavail: ::fsblkcnt_t, | |
373 | pub f_files: ::fsfilcnt_t, | |
374 | pub f_ffree: ::fsfilcnt_t, | |
375 | pub f_fsid: ::fsid_t, | |
376 | pub f_namelen: ::c_ulong, | |
377 | pub f_frsize: ::c_ulong, | |
378 | pub f_flags: ::c_ulong, | |
379 | pub f_spare: [::c_ulong; 4], | |
380 | } | |
381 | ||
382 | pub struct statvfs64 { | |
383 | pub f_bsize: ::c_ulong, | |
384 | pub f_frsize: ::c_ulong, | |
385 | pub f_blocks: u32, | |
386 | pub f_bfree: u32, | |
387 | pub f_bavail: u32, | |
388 | pub f_files: u32, | |
389 | pub f_ffree: u32, | |
390 | pub f_favail: u32, | |
391 | pub f_fsid: ::c_ulong, | |
392 | __f_unused: ::c_int, | |
393 | pub f_flag: ::c_ulong, | |
394 | pub f_namemax: ::c_ulong, | |
395 | __f_spare: [::c_int; 6], | |
396 | } | |
b7449926 XL |
397 | |
398 | pub struct arpd_request { | |
399 | pub req: ::c_ushort, | |
400 | pub ip: u32, | |
401 | pub dev: ::c_ulong, | |
402 | pub stamp: ::c_ulong, | |
403 | pub updated: ::c_ulong, | |
404 | pub ha: [::c_uchar; ::MAX_ADDR_LEN], | |
405 | } | |
ea8adc8c XL |
406 | } |
407 | ||
532ac7d7 XL |
408 | s_no_extra_traits! { |
409 | pub struct dirent { | |
410 | pub d_ino: ::ino_t, | |
411 | pub d_off: ::off_t, | |
412 | pub d_reclen: ::c_ushort, | |
413 | pub d_type: ::c_uchar, | |
414 | pub d_name: [::c_char; 256], | |
415 | } | |
416 | ||
417 | pub struct dirent64 { | |
418 | pub d_ino: ::ino64_t, | |
419 | pub d_off: ::off64_t, | |
420 | pub d_reclen: ::c_ushort, | |
421 | pub d_type: ::c_uchar, | |
422 | pub d_name: [::c_char; 256], | |
423 | } | |
424 | ||
425 | pub struct sysinfo { | |
426 | pub uptime: ::c_ulong, | |
427 | pub loads: [::c_ulong; 3], | |
428 | pub totalram: ::c_ulong, | |
429 | pub freeram: ::c_ulong, | |
430 | pub sharedram: ::c_ulong, | |
431 | pub bufferram: ::c_ulong, | |
432 | pub totalswap: ::c_ulong, | |
433 | pub freeswap: ::c_ulong, | |
434 | pub procs: ::c_ushort, | |
435 | pub pad: ::c_ushort, | |
436 | pub totalhigh: ::c_ulong, | |
437 | pub freehigh: ::c_ulong, | |
438 | pub mem_unit: ::c_uint, | |
439 | pub __reserved: [::c_char; 256], | |
440 | } | |
416331ca XL |
441 | |
442 | pub struct mq_attr { | |
443 | pub mq_flags: ::c_long, | |
444 | pub mq_maxmsg: ::c_long, | |
445 | pub mq_msgsize: ::c_long, | |
446 | pub mq_curmsgs: ::c_long, | |
447 | pad: [::c_long; 4] | |
448 | } | |
532ac7d7 XL |
449 | } |
450 | ||
451 | cfg_if! { | |
452 | if #[cfg(feature = "extra_traits")] { | |
453 | impl PartialEq for dirent { | |
454 | fn eq(&self, other: &dirent) -> bool { | |
455 | self.d_ino == other.d_ino | |
456 | && self.d_off == other.d_off | |
457 | && self.d_reclen == other.d_reclen | |
458 | && self.d_type == other.d_type | |
459 | && self | |
460 | .d_name | |
461 | .iter() | |
462 | .zip(other.d_name.iter()) | |
463 | .all(|(a,b)| a == b) | |
464 | } | |
465 | } | |
466 | impl Eq for dirent {} | |
467 | impl ::fmt::Debug for dirent { | |
468 | fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { | |
469 | f.debug_struct("dirent") | |
470 | .field("d_ino", &self.d_ino) | |
471 | .field("d_off", &self.d_off) | |
472 | .field("d_reclen", &self.d_reclen) | |
473 | .field("d_type", &self.d_type) | |
474 | // FIXME: .field("d_name", &self.d_name) | |
475 | .finish() | |
476 | } | |
477 | } | |
478 | impl ::hash::Hash for dirent { | |
479 | fn hash<H: ::hash::Hasher>(&self, state: &mut H) { | |
480 | self.d_ino.hash(state); | |
481 | self.d_off.hash(state); | |
482 | self.d_reclen.hash(state); | |
483 | self.d_type.hash(state); | |
484 | self.d_name.hash(state); | |
485 | } | |
486 | } | |
487 | ||
488 | impl PartialEq for dirent64 { | |
489 | fn eq(&self, other: &dirent64) -> bool { | |
490 | self.d_ino == other.d_ino | |
491 | && self.d_off == other.d_off | |
492 | && self.d_reclen == other.d_reclen | |
493 | && self.d_type == other.d_type | |
494 | && self | |
495 | .d_name | |
496 | .iter() | |
497 | .zip(other.d_name.iter()) | |
498 | .all(|(a,b)| a == b) | |
499 | } | |
500 | } | |
501 | impl Eq for dirent64 {} | |
502 | impl ::fmt::Debug for dirent64 { | |
503 | fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { | |
504 | f.debug_struct("dirent64") | |
505 | .field("d_ino", &self.d_ino) | |
506 | .field("d_off", &self.d_off) | |
507 | .field("d_reclen", &self.d_reclen) | |
508 | .field("d_type", &self.d_type) | |
509 | // FIXME: .field("d_name", &self.d_name) | |
510 | .finish() | |
511 | } | |
512 | } | |
513 | impl ::hash::Hash for dirent64 { | |
514 | fn hash<H: ::hash::Hasher>(&self, state: &mut H) { | |
515 | self.d_ino.hash(state); | |
516 | self.d_off.hash(state); | |
517 | self.d_reclen.hash(state); | |
518 | self.d_type.hash(state); | |
519 | self.d_name.hash(state); | |
520 | } | |
521 | } | |
522 | ||
523 | impl PartialEq for sysinfo { | |
524 | fn eq(&self, other: &sysinfo) -> bool { | |
525 | self.uptime == other.uptime | |
526 | && self.loads == other.loads | |
527 | && self.totalram == other.totalram | |
528 | && self.freeram == other.freeram | |
529 | && self.sharedram == other.sharedram | |
530 | && self.bufferram == other.bufferram | |
531 | && self.totalswap == other.totalswap | |
532 | && self.freeswap == other.freeswap | |
533 | && self.procs == other.procs | |
534 | && self.pad == other.pad | |
535 | && self.totalhigh == other.totalhigh | |
536 | && self.freehigh == other.freehigh | |
537 | && self.mem_unit == other.mem_unit | |
538 | && self | |
539 | .__reserved | |
540 | .iter() | |
541 | .zip(other.__reserved.iter()) | |
542 | .all(|(a,b)| a == b) | |
543 | } | |
544 | } | |
545 | impl Eq for sysinfo {} | |
546 | impl ::fmt::Debug for sysinfo { | |
547 | fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { | |
548 | f.debug_struct("sysinfo") | |
549 | .field("uptime", &self.uptime) | |
550 | .field("loads", &self.loads) | |
551 | .field("totalram", &self.totalram) | |
552 | .field("freeram", &self.freeram) | |
553 | .field("sharedram", &self.sharedram) | |
554 | .field("bufferram", &self.bufferram) | |
555 | .field("totalswap", &self.totalswap) | |
556 | .field("freeswap", &self.freeswap) | |
557 | .field("procs", &self.procs) | |
558 | .field("pad", &self.pad) | |
559 | .field("totalhigh", &self.totalhigh) | |
560 | .field("freehigh", &self.freehigh) | |
561 | .field("mem_unit", &self.mem_unit) | |
562 | // FIXME: .field("__reserved", &self.__reserved) | |
563 | .finish() | |
564 | } | |
565 | } | |
566 | impl ::hash::Hash for sysinfo { | |
567 | fn hash<H: ::hash::Hasher>(&self, state: &mut H) { | |
568 | self.uptime.hash(state); | |
569 | self.loads.hash(state); | |
570 | self.totalram.hash(state); | |
571 | self.freeram.hash(state); | |
572 | self.sharedram.hash(state); | |
573 | self.bufferram.hash(state); | |
574 | self.totalswap.hash(state); | |
575 | self.freeswap.hash(state); | |
576 | self.procs.hash(state); | |
577 | self.pad.hash(state); | |
578 | self.totalhigh.hash(state); | |
579 | self.freehigh.hash(state); | |
580 | self.mem_unit.hash(state); | |
581 | self.__reserved.hash(state); | |
582 | } | |
583 | } | |
416331ca XL |
584 | |
585 | impl PartialEq for mq_attr { | |
586 | fn eq(&self, other: &mq_attr) -> bool { | |
587 | self.mq_flags == other.mq_flags && | |
588 | self.mq_maxmsg == other.mq_maxmsg && | |
589 | self.mq_msgsize == other.mq_msgsize && | |
590 | self.mq_curmsgs == other.mq_curmsgs | |
591 | } | |
592 | } | |
593 | impl Eq for mq_attr {} | |
594 | impl ::fmt::Debug for mq_attr { | |
595 | fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { | |
596 | f.debug_struct("mq_attr") | |
597 | .field("mq_flags", &self.mq_flags) | |
598 | .field("mq_maxmsg", &self.mq_maxmsg) | |
599 | .field("mq_msgsize", &self.mq_msgsize) | |
600 | .field("mq_curmsgs", &self.mq_curmsgs) | |
601 | .finish() | |
602 | } | |
603 | } | |
604 | impl ::hash::Hash for mq_attr { | |
605 | fn hash<H: ::hash::Hasher>(&self, state: &mut H) { | |
606 | self.mq_flags.hash(state); | |
607 | self.mq_maxmsg.hash(state); | |
608 | self.mq_msgsize.hash(state); | |
609 | self.mq_curmsgs.hash(state); | |
610 | } | |
611 | } | |
532ac7d7 XL |
612 | } |
613 | } | |
614 | ||
416331ca XL |
615 | pub const MADV_SOFT_OFFLINE: ::c_int = 101; |
616 | pub const MS_NOUSER: ::c_ulong = 0x80000000; | |
617 | pub const MS_RMT_MASK: ::c_ulong = 0x02800051; | |
618 | ||
ea8adc8c XL |
619 | pub const ABDAY_1: ::nl_item = 0x20000; |
620 | pub const ABDAY_2: ::nl_item = 0x20001; | |
621 | pub const ABDAY_3: ::nl_item = 0x20002; | |
622 | pub const ABDAY_4: ::nl_item = 0x20003; | |
623 | pub const ABDAY_5: ::nl_item = 0x20004; | |
624 | pub const ABDAY_6: ::nl_item = 0x20005; | |
625 | pub const ABDAY_7: ::nl_item = 0x20006; | |
626 | ||
627 | pub const DAY_1: ::nl_item = 0x20007; | |
628 | pub const DAY_2: ::nl_item = 0x20008; | |
629 | pub const DAY_3: ::nl_item = 0x20009; | |
630 | pub const DAY_4: ::nl_item = 0x2000A; | |
631 | pub const DAY_5: ::nl_item = 0x2000B; | |
632 | pub const DAY_6: ::nl_item = 0x2000C; | |
633 | pub const DAY_7: ::nl_item = 0x2000D; | |
634 | ||
635 | pub const ABMON_1: ::nl_item = 0x2000E; | |
636 | pub const ABMON_2: ::nl_item = 0x2000F; | |
637 | pub const ABMON_3: ::nl_item = 0x20010; | |
638 | pub const ABMON_4: ::nl_item = 0x20011; | |
639 | pub const ABMON_5: ::nl_item = 0x20012; | |
640 | pub const ABMON_6: ::nl_item = 0x20013; | |
641 | pub const ABMON_7: ::nl_item = 0x20014; | |
642 | pub const ABMON_8: ::nl_item = 0x20015; | |
643 | pub const ABMON_9: ::nl_item = 0x20016; | |
644 | pub const ABMON_10: ::nl_item = 0x20017; | |
645 | pub const ABMON_11: ::nl_item = 0x20018; | |
646 | pub const ABMON_12: ::nl_item = 0x20019; | |
647 | ||
648 | pub const MON_1: ::nl_item = 0x2001A; | |
649 | pub const MON_2: ::nl_item = 0x2001B; | |
650 | pub const MON_3: ::nl_item = 0x2001C; | |
651 | pub const MON_4: ::nl_item = 0x2001D; | |
652 | pub const MON_5: ::nl_item = 0x2001E; | |
653 | pub const MON_6: ::nl_item = 0x2001F; | |
654 | pub const MON_7: ::nl_item = 0x20020; | |
655 | pub const MON_8: ::nl_item = 0x20021; | |
656 | pub const MON_9: ::nl_item = 0x20022; | |
657 | pub const MON_10: ::nl_item = 0x20023; | |
658 | pub const MON_11: ::nl_item = 0x20024; | |
659 | pub const MON_12: ::nl_item = 0x20025; | |
660 | ||
661 | pub const AM_STR: ::nl_item = 0x20026; | |
662 | pub const PM_STR: ::nl_item = 0x20027; | |
663 | ||
664 | pub const D_T_FMT: ::nl_item = 0x20028; | |
665 | pub const D_FMT: ::nl_item = 0x20029; | |
666 | pub const T_FMT: ::nl_item = 0x2002A; | |
667 | pub const T_FMT_AMPM: ::nl_item = 0x2002B; | |
668 | ||
669 | pub const ERA: ::nl_item = 0x2002C; | |
670 | pub const ERA_D_FMT: ::nl_item = 0x2002E; | |
671 | pub const ALT_DIGITS: ::nl_item = 0x2002F; | |
672 | pub const ERA_D_T_FMT: ::nl_item = 0x20030; | |
673 | pub const ERA_T_FMT: ::nl_item = 0x20031; | |
674 | ||
675 | pub const CODESET: ::nl_item = 14; | |
676 | ||
677 | pub const CRNCYSTR: ::nl_item = 0x4000F; | |
678 | ||
679 | pub const RUSAGE_THREAD: ::c_int = 1; | |
680 | pub const RUSAGE_CHILDREN: ::c_int = -1; | |
681 | ||
682 | pub const RADIXCHAR: ::nl_item = 0x10000; | |
683 | pub const THOUSEP: ::nl_item = 0x10001; | |
684 | ||
685 | pub const YESEXPR: ::nl_item = 0x50000; | |
686 | pub const NOEXPR: ::nl_item = 0x50001; | |
687 | pub const YESSTR: ::nl_item = 0x50002; | |
688 | pub const NOSTR: ::nl_item = 0x50003; | |
689 | ||
690 | pub const FILENAME_MAX: ::c_uint = 4096; | |
691 | pub const L_tmpnam: ::c_uint = 20; | |
692 | pub const _PC_LINK_MAX: ::c_int = 0; | |
693 | pub const _PC_MAX_CANON: ::c_int = 1; | |
694 | pub const _PC_MAX_INPUT: ::c_int = 2; | |
695 | pub const _PC_NAME_MAX: ::c_int = 3; | |
696 | pub const _PC_PATH_MAX: ::c_int = 4; | |
697 | pub const _PC_PIPE_BUF: ::c_int = 5; | |
698 | pub const _PC_CHOWN_RESTRICTED: ::c_int = 6; | |
699 | pub const _PC_NO_TRUNC: ::c_int = 7; | |
700 | pub const _PC_VDISABLE: ::c_int = 8; | |
701 | pub const _PC_SYNC_IO: ::c_int = 9; | |
702 | pub const _PC_ASYNC_IO: ::c_int = 10; | |
703 | pub const _PC_PRIO_IO: ::c_int = 11; | |
704 | pub const _PC_SOCK_MAXBUF: ::c_int = 12; | |
705 | pub const _PC_FILESIZEBITS: ::c_int = 13; | |
706 | pub const _PC_REC_INCR_XFER_SIZE: ::c_int = 14; | |
707 | pub const _PC_REC_MAX_XFER_SIZE: ::c_int = 15; | |
708 | pub const _PC_REC_MIN_XFER_SIZE: ::c_int = 16; | |
709 | pub const _PC_REC_XFER_ALIGN: ::c_int = 17; | |
710 | pub const _PC_ALLOC_SIZE_MIN: ::c_int = 18; | |
711 | pub const _PC_SYMLINK_MAX: ::c_int = 19; | |
712 | pub const _PC_2_SYMLINKS: ::c_int = 20; | |
713 | ||
714 | pub const _SC_ARG_MAX: ::c_int = 0; | |
715 | pub const _SC_CHILD_MAX: ::c_int = 1; | |
716 | pub const _SC_CLK_TCK: ::c_int = 2; | |
717 | pub const _SC_NGROUPS_MAX: ::c_int = 3; | |
718 | pub const _SC_OPEN_MAX: ::c_int = 4; | |
719 | pub const _SC_STREAM_MAX: ::c_int = 5; | |
720 | pub const _SC_TZNAME_MAX: ::c_int = 6; | |
721 | pub const _SC_JOB_CONTROL: ::c_int = 7; | |
722 | pub const _SC_SAVED_IDS: ::c_int = 8; | |
723 | pub const _SC_REALTIME_SIGNALS: ::c_int = 9; | |
724 | pub const _SC_PRIORITY_SCHEDULING: ::c_int = 10; | |
725 | pub const _SC_TIMERS: ::c_int = 11; | |
726 | pub const _SC_ASYNCHRONOUS_IO: ::c_int = 12; | |
727 | pub const _SC_PRIORITIZED_IO: ::c_int = 13; | |
728 | pub const _SC_SYNCHRONIZED_IO: ::c_int = 14; | |
729 | pub const _SC_FSYNC: ::c_int = 15; | |
730 | pub const _SC_MAPPED_FILES: ::c_int = 16; | |
731 | pub const _SC_MEMLOCK: ::c_int = 17; | |
732 | pub const _SC_MEMLOCK_RANGE: ::c_int = 18; | |
733 | pub const _SC_MEMORY_PROTECTION: ::c_int = 19; | |
734 | pub const _SC_MESSAGE_PASSING: ::c_int = 20; | |
735 | pub const _SC_SEMAPHORES: ::c_int = 21; | |
736 | pub const _SC_SHARED_MEMORY_OBJECTS: ::c_int = 22; | |
737 | pub const _SC_AIO_LISTIO_MAX: ::c_int = 23; | |
738 | pub const _SC_AIO_MAX: ::c_int = 24; | |
739 | pub const _SC_AIO_PRIO_DELTA_MAX: ::c_int = 25; | |
740 | pub const _SC_DELAYTIMER_MAX: ::c_int = 26; | |
741 | pub const _SC_MQ_OPEN_MAX: ::c_int = 27; | |
742 | pub const _SC_MQ_PRIO_MAX: ::c_int = 28; | |
743 | pub const _SC_VERSION: ::c_int = 29; | |
744 | pub const _SC_PAGESIZE: ::c_int = 30; | |
745 | pub const _SC_PAGE_SIZE: ::c_int = _SC_PAGESIZE; | |
746 | pub const _SC_RTSIG_MAX: ::c_int = 31; | |
747 | pub const _SC_SEM_NSEMS_MAX: ::c_int = 32; | |
748 | pub const _SC_SEM_VALUE_MAX: ::c_int = 33; | |
749 | pub const _SC_SIGQUEUE_MAX: ::c_int = 34; | |
750 | pub const _SC_TIMER_MAX: ::c_int = 35; | |
751 | pub const _SC_BC_BASE_MAX: ::c_int = 36; | |
752 | pub const _SC_BC_DIM_MAX: ::c_int = 37; | |
753 | pub const _SC_BC_SCALE_MAX: ::c_int = 38; | |
754 | pub const _SC_BC_STRING_MAX: ::c_int = 39; | |
755 | pub const _SC_COLL_WEIGHTS_MAX: ::c_int = 40; | |
756 | pub const _SC_EXPR_NEST_MAX: ::c_int = 42; | |
757 | pub const _SC_LINE_MAX: ::c_int = 43; | |
758 | pub const _SC_RE_DUP_MAX: ::c_int = 44; | |
759 | pub const _SC_2_VERSION: ::c_int = 46; | |
760 | pub const _SC_2_C_BIND: ::c_int = 47; | |
761 | pub const _SC_2_C_DEV: ::c_int = 48; | |
762 | pub const _SC_2_FORT_DEV: ::c_int = 49; | |
763 | pub const _SC_2_FORT_RUN: ::c_int = 50; | |
764 | pub const _SC_2_SW_DEV: ::c_int = 51; | |
765 | pub const _SC_2_LOCALEDEF: ::c_int = 52; | |
766 | pub const _SC_UIO_MAXIOV: ::c_int = 60; | |
767 | pub const _SC_IOV_MAX: ::c_int = 60; | |
768 | pub const _SC_THREADS: ::c_int = 67; | |
769 | pub const _SC_THREAD_SAFE_FUNCTIONS: ::c_int = 68; | |
770 | pub const _SC_GETGR_R_SIZE_MAX: ::c_int = 69; | |
771 | pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 70; | |
772 | pub const _SC_LOGIN_NAME_MAX: ::c_int = 71; | |
773 | pub const _SC_TTY_NAME_MAX: ::c_int = 72; | |
774 | pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: ::c_int = 73; | |
775 | pub const _SC_THREAD_KEYS_MAX: ::c_int = 74; | |
776 | pub const _SC_THREAD_STACK_MIN: ::c_int = 75; | |
777 | pub const _SC_THREAD_THREADS_MAX: ::c_int = 76; | |
778 | pub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 77; | |
779 | pub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 78; | |
780 | pub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 79; | |
781 | pub const _SC_THREAD_PRIO_INHERIT: ::c_int = 80; | |
782 | pub const _SC_THREAD_PRIO_PROTECT: ::c_int = 81; | |
783 | pub const _SC_THREAD_PROCESS_SHARED: ::c_int = 82; | |
784 | pub const _SC_NPROCESSORS_CONF: ::c_int = 83; | |
785 | pub const _SC_NPROCESSORS_ONLN: ::c_int = 84; | |
786 | pub const _SC_PHYS_PAGES: ::c_int = 85; | |
787 | pub const _SC_AVPHYS_PAGES: ::c_int = 86; | |
788 | pub const _SC_ATEXIT_MAX: ::c_int = 87; | |
789 | pub const _SC_PASS_MAX: ::c_int = 88; | |
790 | pub const _SC_XOPEN_VERSION: ::c_int = 89; | |
791 | pub const _SC_XOPEN_XCU_VERSION: ::c_int = 90; | |
792 | pub const _SC_XOPEN_UNIX: ::c_int = 91; | |
793 | pub const _SC_XOPEN_CRYPT: ::c_int = 92; | |
794 | pub const _SC_XOPEN_ENH_I18N: ::c_int = 93; | |
795 | pub const _SC_XOPEN_SHM: ::c_int = 94; | |
796 | pub const _SC_2_CHAR_TERM: ::c_int = 95; | |
797 | pub const _SC_2_UPE: ::c_int = 97; | |
798 | pub const _SC_XOPEN_XPG2: ::c_int = 98; | |
799 | pub const _SC_XOPEN_XPG3: ::c_int = 99; | |
800 | pub const _SC_XOPEN_XPG4: ::c_int = 100; | |
801 | pub const _SC_NZERO: ::c_int = 109; | |
802 | pub const _SC_XBS5_ILP32_OFF32: ::c_int = 125; | |
803 | pub const _SC_XBS5_ILP32_OFFBIG: ::c_int = 126; | |
804 | pub const _SC_XBS5_LP64_OFF64: ::c_int = 127; | |
805 | pub const _SC_XBS5_LPBIG_OFFBIG: ::c_int = 128; | |
806 | pub const _SC_XOPEN_LEGACY: ::c_int = 129; | |
807 | pub const _SC_XOPEN_REALTIME: ::c_int = 130; | |
808 | pub const _SC_XOPEN_REALTIME_THREADS: ::c_int = 131; | |
809 | pub const _SC_ADVISORY_INFO: ::c_int = 132; | |
810 | pub const _SC_BARRIERS: ::c_int = 133; | |
811 | pub const _SC_CLOCK_SELECTION: ::c_int = 137; | |
812 | pub const _SC_CPUTIME: ::c_int = 138; | |
813 | pub const _SC_THREAD_CPUTIME: ::c_int = 139; | |
814 | pub const _SC_MONOTONIC_CLOCK: ::c_int = 149; | |
815 | pub const _SC_READER_WRITER_LOCKS: ::c_int = 153; | |
816 | pub const _SC_SPIN_LOCKS: ::c_int = 154; | |
817 | pub const _SC_REGEXP: ::c_int = 155; | |
818 | pub const _SC_SHELL: ::c_int = 157; | |
819 | pub const _SC_SPAWN: ::c_int = 159; | |
820 | pub const _SC_SPORADIC_SERVER: ::c_int = 160; | |
821 | pub const _SC_THREAD_SPORADIC_SERVER: ::c_int = 161; | |
822 | pub const _SC_TIMEOUTS: ::c_int = 164; | |
823 | pub const _SC_TYPED_MEMORY_OBJECTS: ::c_int = 165; | |
824 | pub const _SC_2_PBS: ::c_int = 168; | |
825 | pub const _SC_2_PBS_ACCOUNTING: ::c_int = 169; | |
826 | pub const _SC_2_PBS_LOCATE: ::c_int = 170; | |
827 | pub const _SC_2_PBS_MESSAGE: ::c_int = 171; | |
828 | pub const _SC_2_PBS_TRACK: ::c_int = 172; | |
829 | pub const _SC_SYMLOOP_MAX: ::c_int = 173; | |
830 | pub const _SC_STREAMS: ::c_int = 174; | |
831 | pub const _SC_2_PBS_CHECKPOINT: ::c_int = 175; | |
832 | pub const _SC_V6_ILP32_OFF32: ::c_int = 176; | |
833 | pub const _SC_V6_ILP32_OFFBIG: ::c_int = 177; | |
834 | pub const _SC_V6_LP64_OFF64: ::c_int = 178; | |
835 | pub const _SC_V6_LPBIG_OFFBIG: ::c_int = 179; | |
836 | pub const _SC_HOST_NAME_MAX: ::c_int = 180; | |
837 | pub const _SC_TRACE: ::c_int = 181; | |
838 | pub const _SC_TRACE_EVENT_FILTER: ::c_int = 182; | |
839 | pub const _SC_TRACE_INHERIT: ::c_int = 183; | |
840 | pub const _SC_TRACE_LOG: ::c_int = 184; | |
841 | pub const _SC_IPV6: ::c_int = 235; | |
842 | pub const _SC_RAW_SOCKETS: ::c_int = 236; | |
843 | pub const _SC_V7_ILP32_OFF32: ::c_int = 237; | |
844 | pub const _SC_V7_ILP32_OFFBIG: ::c_int = 238; | |
845 | pub const _SC_V7_LP64_OFF64: ::c_int = 239; | |
846 | pub const _SC_V7_LPBIG_OFFBIG: ::c_int = 240; | |
847 | pub const _SC_SS_REPL_MAX: ::c_int = 241; | |
848 | pub const _SC_TRACE_EVENT_NAME_MAX: ::c_int = 242; | |
849 | pub const _SC_TRACE_NAME_MAX: ::c_int = 243; | |
850 | pub const _SC_TRACE_SYS_MAX: ::c_int = 244; | |
851 | pub const _SC_TRACE_USER_EVENT_MAX: ::c_int = 245; | |
852 | pub const _SC_XOPEN_STREAMS: ::c_int = 246; | |
853 | pub const _SC_THREAD_ROBUST_PRIO_INHERIT: ::c_int = 247; | |
854 | pub const _SC_THREAD_ROBUST_PRIO_PROTECT: ::c_int = 248; | |
855 | ||
856 | pub const RLIM_SAVED_MAX: ::rlim_t = RLIM_INFINITY; | |
857 | pub const RLIM_SAVED_CUR: ::rlim_t = RLIM_INFINITY; | |
858 | ||
859 | pub const GLOB_ERR: ::c_int = 1 << 0; | |
860 | pub const GLOB_MARK: ::c_int = 1 << 1; | |
861 | pub const GLOB_NOSORT: ::c_int = 1 << 2; | |
862 | pub const GLOB_DOOFFS: ::c_int = 1 << 3; | |
863 | pub const GLOB_NOCHECK: ::c_int = 1 << 4; | |
864 | pub const GLOB_APPEND: ::c_int = 1 << 5; | |
865 | pub const GLOB_NOESCAPE: ::c_int = 1 << 6; | |
866 | ||
867 | pub const GLOB_NOSPACE: ::c_int = 1; | |
868 | pub const GLOB_ABORTED: ::c_int = 2; | |
869 | pub const GLOB_NOMATCH: ::c_int = 3; | |
870 | ||
871 | pub const POSIX_MADV_NORMAL: ::c_int = 0; | |
872 | pub const POSIX_MADV_RANDOM: ::c_int = 1; | |
873 | pub const POSIX_MADV_SEQUENTIAL: ::c_int = 2; | |
874 | pub const POSIX_MADV_WILLNEED: ::c_int = 3; | |
875 | ||
876 | pub const S_IEXEC: mode_t = 64; | |
877 | pub const S_IWRITE: mode_t = 128; | |
878 | pub const S_IREAD: mode_t = 256; | |
879 | ||
880 | pub const F_LOCK: ::c_int = 1; | |
881 | pub const F_TEST: ::c_int = 3; | |
882 | pub const F_TLOCK: ::c_int = 2; | |
883 | pub const F_ULOCK: ::c_int = 0; | |
884 | ||
885 | pub const ST_RDONLY: ::c_ulong = 1; | |
886 | pub const ST_NOSUID: ::c_ulong = 2; | |
887 | pub const ST_NODEV: ::c_ulong = 4; | |
888 | pub const ST_NOEXEC: ::c_ulong = 8; | |
889 | pub const ST_SYNCHRONOUS: ::c_ulong = 16; | |
890 | pub const ST_MANDLOCK: ::c_ulong = 64; | |
891 | pub const ST_WRITE: ::c_ulong = 128; | |
892 | pub const ST_APPEND: ::c_ulong = 256; | |
893 | pub const ST_IMMUTABLE: ::c_ulong = 512; | |
894 | pub const ST_NOATIME: ::c_ulong = 1024; | |
895 | pub const ST_NODIRATIME: ::c_ulong = 2048; | |
896 | ||
897 | pub const RTLD_NEXT: *mut ::c_void = -1i64 as *mut ::c_void; | |
898 | pub const RTLD_DEFAULT: *mut ::c_void = 0i64 as *mut ::c_void; | |
899 | pub const RTLD_NODELETE: ::c_int = 0x1000; | |
900 | pub const RTLD_NOW: ::c_int = 0x2; | |
901 | ||
b7449926 XL |
902 | align_const! { |
903 | pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t { | |
904 | size: [0; __SIZEOF_PTHREAD_MUTEX_T], | |
905 | }; | |
906 | pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t { | |
907 | size: [0; __SIZEOF_PTHREAD_COND_T], | |
908 | }; | |
909 | pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t { | |
910 | size: [0; __SIZEOF_PTHREAD_RWLOCK_T], | |
911 | }; | |
912 | } | |
913 | ||
ea8adc8c XL |
914 | pub const PTHREAD_MUTEX_NORMAL: ::c_int = 0; |
915 | pub const PTHREAD_MUTEX_RECURSIVE: ::c_int = 1; | |
916 | pub const PTHREAD_MUTEX_ERRORCHECK: ::c_int = 2; | |
917 | pub const PTHREAD_MUTEX_DEFAULT: ::c_int = PTHREAD_MUTEX_NORMAL; | |
918 | pub const PTHREAD_PROCESS_PRIVATE: ::c_int = 0; | |
919 | pub const PTHREAD_PROCESS_SHARED: ::c_int = 1; | |
920 | pub const __SIZEOF_PTHREAD_COND_T: usize = 48; | |
921 | ||
922 | pub const SCHED_OTHER: ::c_int = 0; | |
923 | pub const SCHED_FIFO: ::c_int = 1; | |
924 | pub const SCHED_RR: ::c_int = 2; | |
925 | pub const SCHED_BATCH: ::c_int = 3; | |
926 | pub const SCHED_IDLE: ::c_int = 5; | |
927 | ||
928 | pub const AF_IB: ::c_int = 27; | |
929 | pub const AF_MPLS: ::c_int = 28; | |
930 | pub const AF_NFC: ::c_int = 39; | |
931 | pub const AF_VSOCK: ::c_int = 40; | |
ea8adc8c XL |
932 | pub const PF_IB: ::c_int = AF_IB; |
933 | pub const PF_MPLS: ::c_int = AF_MPLS; | |
934 | pub const PF_NFC: ::c_int = AF_NFC; | |
935 | pub const PF_VSOCK: ::c_int = AF_VSOCK; | |
ea8adc8c XL |
936 | |
937 | // System V IPC | |
938 | pub const IPC_PRIVATE: ::key_t = 0; | |
939 | ||
940 | pub const IPC_CREAT: ::c_int = 0o1000; | |
941 | pub const IPC_EXCL: ::c_int = 0o2000; | |
942 | pub const IPC_NOWAIT: ::c_int = 0o4000; | |
943 | ||
944 | pub const IPC_RMID: ::c_int = 0; | |
945 | pub const IPC_SET: ::c_int = 1; | |
946 | pub const IPC_STAT: ::c_int = 2; | |
947 | pub const IPC_INFO: ::c_int = 3; | |
948 | pub const MSG_STAT: ::c_int = 11; | |
949 | pub const MSG_INFO: ::c_int = 12; | |
950 | ||
951 | pub const MSG_NOERROR: ::c_int = 0o10000; | |
952 | pub const MSG_EXCEPT: ::c_int = 0o20000; | |
ea8adc8c XL |
953 | |
954 | pub const SHM_R: ::c_int = 0o400; | |
955 | pub const SHM_W: ::c_int = 0o200; | |
956 | ||
957 | pub const SHM_RDONLY: ::c_int = 0o10000; | |
958 | pub const SHM_RND: ::c_int = 0o20000; | |
959 | pub const SHM_REMAP: ::c_int = 0o40000; | |
960 | pub const SHM_EXEC: ::c_int = 0o100000; | |
961 | ||
962 | pub const SHM_LOCK: ::c_int = 11; | |
963 | pub const SHM_UNLOCK: ::c_int = 12; | |
964 | ||
965 | pub const SHM_HUGETLB: ::c_int = 0o4000; | |
966 | pub const SHM_NORESERVE: ::c_int = 0o10000; | |
967 | ||
ea8adc8c XL |
968 | pub const QFMT_VFS_OLD: ::c_int = 1; |
969 | pub const QFMT_VFS_V0: ::c_int = 2; | |
970 | ||
971 | pub const EFD_SEMAPHORE: ::c_int = 0x1; | |
972 | ||
973 | pub const LOG_NFACILITIES: ::c_int = 24; | |
974 | ||
975 | pub const SEM_FAILED: *mut ::sem_t = 0 as *mut sem_t; | |
976 | ||
977 | pub const RB_AUTOBOOT: ::c_int = 0x01234567u32 as i32; | |
978 | pub const RB_HALT_SYSTEM: ::c_int = 0xcdef0123u32 as i32; | |
979 | pub const RB_ENABLE_CAD: ::c_int = 0x89abcdefu32 as i32; | |
980 | pub const RB_DISABLE_CAD: ::c_int = 0x00000000u32 as i32; | |
981 | pub const RB_POWER_OFF: ::c_int = 0x4321fedcu32 as i32; | |
982 | pub const RB_SW_SUSPEND: ::c_int = 0xd000fce2u32 as i32; | |
983 | pub const RB_KEXEC: ::c_int = 0x45584543u32 as i32; | |
984 | ||
985 | pub const AI_PASSIVE: ::c_int = 0x0001; | |
986 | pub const AI_CANONNAME: ::c_int = 0x0002; | |
987 | pub const AI_NUMERICHOST: ::c_int = 0x0004; | |
988 | pub const AI_V4MAPPED: ::c_int = 0x0008; | |
989 | pub const AI_ALL: ::c_int = 0x0010; | |
990 | pub const AI_ADDRCONFIG: ::c_int = 0x0020; | |
991 | ||
992 | pub const AI_NUMERICSERV: ::c_int = 0x0400; | |
993 | ||
994 | pub const EAI_BADFLAGS: ::c_int = -1; | |
995 | pub const EAI_NONAME: ::c_int = -2; | |
996 | pub const EAI_AGAIN: ::c_int = -3; | |
997 | pub const EAI_FAIL: ::c_int = -4; | |
998 | pub const EAI_FAMILY: ::c_int = -6; | |
999 | pub const EAI_SOCKTYPE: ::c_int = -7; | |
1000 | pub const EAI_SERVICE: ::c_int = -8; | |
1001 | pub const EAI_MEMORY: ::c_int = -10; | |
1002 | pub const EAI_OVERFLOW: ::c_int = -12; | |
1003 | ||
1004 | pub const NI_NUMERICHOST: ::c_int = 1; | |
1005 | pub const NI_NUMERICSERV: ::c_int = 2; | |
1006 | pub const NI_NOFQDN: ::c_int = 4; | |
1007 | pub const NI_NAMEREQD: ::c_int = 8; | |
1008 | pub const NI_DGRAM: ::c_int = 16; | |
1009 | ||
1010 | pub const SYNC_FILE_RANGE_WAIT_BEFORE: ::c_uint = 1; | |
1011 | pub const SYNC_FILE_RANGE_WRITE: ::c_uint = 2; | |
1012 | pub const SYNC_FILE_RANGE_WAIT_AFTER: ::c_uint = 4; | |
1013 | ||
1014 | pub const EAI_SYSTEM: ::c_int = -11; | |
1015 | ||
1016 | pub const AIO_CANCELED: ::c_int = 0; | |
1017 | pub const AIO_NOTCANCELED: ::c_int = 1; | |
1018 | pub const AIO_ALLDONE: ::c_int = 2; | |
1019 | pub const LIO_READ: ::c_int = 0; | |
1020 | pub const LIO_WRITE: ::c_int = 1; | |
1021 | pub const LIO_NOP: ::c_int = 2; | |
1022 | pub const LIO_WAIT: ::c_int = 0; | |
1023 | pub const LIO_NOWAIT: ::c_int = 1; | |
1024 | ||
1025 | pub const MREMAP_MAYMOVE: ::c_int = 1; | |
1026 | pub const MREMAP_FIXED: ::c_int = 2; | |
1027 | ||
1028 | pub const PR_SET_PDEATHSIG: ::c_int = 1; | |
1029 | pub const PR_GET_PDEATHSIG: ::c_int = 2; | |
1030 | ||
1031 | pub const PR_GET_DUMPABLE: ::c_int = 3; | |
1032 | pub const PR_SET_DUMPABLE: ::c_int = 4; | |
1033 | ||
1034 | pub const PR_GET_UNALIGN: ::c_int = 5; | |
1035 | pub const PR_SET_UNALIGN: ::c_int = 6; | |
1036 | pub const PR_UNALIGN_NOPRINT: ::c_int = 1; | |
1037 | pub const PR_UNALIGN_SIGBUS: ::c_int = 2; | |
1038 | ||
1039 | pub const PR_GET_KEEPCAPS: ::c_int = 7; | |
1040 | pub const PR_SET_KEEPCAPS: ::c_int = 8; | |
1041 | ||
1042 | pub const PR_GET_FPEMU: ::c_int = 9; | |
1043 | pub const PR_SET_FPEMU: ::c_int = 10; | |
1044 | pub const PR_FPEMU_NOPRINT: ::c_int = 1; | |
1045 | pub const PR_FPEMU_SIGFPE: ::c_int = 2; | |
1046 | ||
1047 | pub const PR_GET_FPEXC: ::c_int = 11; | |
1048 | pub const PR_SET_FPEXC: ::c_int = 12; | |
1049 | pub const PR_FP_EXC_SW_ENABLE: ::c_int = 0x80; | |
1050 | pub const PR_FP_EXC_DIV: ::c_int = 0x010000; | |
1051 | pub const PR_FP_EXC_OVF: ::c_int = 0x020000; | |
1052 | pub const PR_FP_EXC_UND: ::c_int = 0x040000; | |
1053 | pub const PR_FP_EXC_RES: ::c_int = 0x080000; | |
1054 | pub const PR_FP_EXC_INV: ::c_int = 0x100000; | |
1055 | pub const PR_FP_EXC_DISABLED: ::c_int = 0; | |
1056 | pub const PR_FP_EXC_NONRECOV: ::c_int = 1; | |
1057 | pub const PR_FP_EXC_ASYNC: ::c_int = 2; | |
1058 | pub const PR_FP_EXC_PRECISE: ::c_int = 3; | |
1059 | ||
1060 | pub const PR_GET_TIMING: ::c_int = 13; | |
1061 | pub const PR_SET_TIMING: ::c_int = 14; | |
1062 | pub const PR_TIMING_STATISTICAL: ::c_int = 0; | |
1063 | pub const PR_TIMING_TIMESTAMP: ::c_int = 1; | |
1064 | ||
1065 | pub const PR_SET_NAME: ::c_int = 15; | |
1066 | pub const PR_GET_NAME: ::c_int = 16; | |
1067 | ||
1068 | pub const PR_GET_ENDIAN: ::c_int = 19; | |
1069 | pub const PR_SET_ENDIAN: ::c_int = 20; | |
1070 | pub const PR_ENDIAN_BIG: ::c_int = 0; | |
1071 | pub const PR_ENDIAN_LITTLE: ::c_int = 1; | |
1072 | pub const PR_ENDIAN_PPC_LITTLE: ::c_int = 2; | |
1073 | ||
1074 | pub const PR_GET_SECCOMP: ::c_int = 21; | |
1075 | pub const PR_SET_SECCOMP: ::c_int = 22; | |
1076 | ||
1077 | pub const PR_CAPBSET_READ: ::c_int = 23; | |
1078 | pub const PR_CAPBSET_DROP: ::c_int = 24; | |
1079 | ||
1080 | pub const PR_GET_TSC: ::c_int = 25; | |
1081 | pub const PR_SET_TSC: ::c_int = 26; | |
1082 | pub const PR_TSC_ENABLE: ::c_int = 1; | |
1083 | pub const PR_TSC_SIGSEGV: ::c_int = 2; | |
1084 | ||
1085 | pub const PR_GET_SECUREBITS: ::c_int = 27; | |
1086 | pub const PR_SET_SECUREBITS: ::c_int = 28; | |
1087 | ||
1088 | pub const PR_SET_TIMERSLACK: ::c_int = 29; | |
1089 | pub const PR_GET_TIMERSLACK: ::c_int = 30; | |
1090 | ||
1091 | pub const PR_TASK_PERF_EVENTS_DISABLE: ::c_int = 31; | |
1092 | pub const PR_TASK_PERF_EVENTS_ENABLE: ::c_int = 32; | |
1093 | ||
1094 | pub const PR_MCE_KILL: ::c_int = 33; | |
1095 | pub const PR_MCE_KILL_CLEAR: ::c_int = 0; | |
1096 | pub const PR_MCE_KILL_SET: ::c_int = 1; | |
1097 | ||
1098 | pub const PR_MCE_KILL_LATE: ::c_int = 0; | |
1099 | pub const PR_MCE_KILL_EARLY: ::c_int = 1; | |
1100 | pub const PR_MCE_KILL_DEFAULT: ::c_int = 2; | |
1101 | ||
1102 | pub const PR_MCE_KILL_GET: ::c_int = 34; | |
1103 | ||
1104 | pub const PR_SET_MM: ::c_int = 35; | |
1105 | pub const PR_SET_MM_START_CODE: ::c_int = 1; | |
1106 | pub const PR_SET_MM_END_CODE: ::c_int = 2; | |
1107 | pub const PR_SET_MM_START_DATA: ::c_int = 3; | |
1108 | pub const PR_SET_MM_END_DATA: ::c_int = 4; | |
1109 | pub const PR_SET_MM_START_STACK: ::c_int = 5; | |
1110 | pub const PR_SET_MM_START_BRK: ::c_int = 6; | |
1111 | pub const PR_SET_MM_BRK: ::c_int = 7; | |
1112 | pub const PR_SET_MM_ARG_START: ::c_int = 8; | |
1113 | pub const PR_SET_MM_ARG_END: ::c_int = 9; | |
1114 | pub const PR_SET_MM_ENV_START: ::c_int = 10; | |
1115 | pub const PR_SET_MM_ENV_END: ::c_int = 11; | |
1116 | pub const PR_SET_MM_AUXV: ::c_int = 12; | |
1117 | pub const PR_SET_MM_EXE_FILE: ::c_int = 13; | |
1118 | pub const PR_SET_MM_MAP: ::c_int = 14; | |
1119 | pub const PR_SET_MM_MAP_SIZE: ::c_int = 15; | |
1120 | ||
1121 | pub const PR_SET_PTRACER: ::c_int = 0x59616d61; | |
353b0b11 | 1122 | pub const PR_SET_PTRACER_ANY: ::c_ulong = 0xffffffffffffffff; |
ea8adc8c XL |
1123 | |
1124 | pub const PR_SET_CHILD_SUBREAPER: ::c_int = 36; | |
1125 | pub const PR_GET_CHILD_SUBREAPER: ::c_int = 37; | |
1126 | ||
1127 | pub const PR_SET_NO_NEW_PRIVS: ::c_int = 38; | |
1128 | pub const PR_GET_NO_NEW_PRIVS: ::c_int = 39; | |
1129 | ||
1130 | pub const PR_GET_TID_ADDRESS: ::c_int = 40; | |
1131 | ||
1132 | pub const PR_SET_THP_DISABLE: ::c_int = 41; | |
1133 | pub const PR_GET_THP_DISABLE: ::c_int = 42; | |
1134 | ||
1135 | pub const PR_MPX_ENABLE_MANAGEMENT: ::c_int = 43; | |
1136 | pub const PR_MPX_DISABLE_MANAGEMENT: ::c_int = 44; | |
1137 | ||
1138 | pub const PR_SET_FP_MODE: ::c_int = 45; | |
1139 | pub const PR_GET_FP_MODE: ::c_int = 46; | |
1140 | pub const PR_FP_MODE_FR: ::c_int = 1 << 0; | |
1141 | pub const PR_FP_MODE_FRE: ::c_int = 1 << 1; | |
1142 | ||
1143 | pub const PR_CAP_AMBIENT: ::c_int = 47; | |
1144 | pub const PR_CAP_AMBIENT_IS_SET: ::c_int = 1; | |
1145 | pub const PR_CAP_AMBIENT_RAISE: ::c_int = 2; | |
1146 | pub const PR_CAP_AMBIENT_LOWER: ::c_int = 3; | |
1147 | pub const PR_CAP_AMBIENT_CLEAR_ALL: ::c_int = 4; | |
1148 | ||
1149 | pub const ITIMER_REAL: ::c_int = 0; | |
1150 | pub const ITIMER_VIRTUAL: ::c_int = 1; | |
1151 | pub const ITIMER_PROF: ::c_int = 2; | |
1152 | ||
ea8adc8c XL |
1153 | pub const _POSIX_VDISABLE: ::cc_t = 0; |
1154 | ||
1155 | pub const FALLOC_FL_KEEP_SIZE: ::c_int = 0x01; | |
1156 | pub const FALLOC_FL_PUNCH_HOLE: ::c_int = 0x02; | |
ea8adc8c XL |
1157 | |
1158 | // On Linux, libc doesn't define this constant, libattr does instead. | |
1159 | // We still define it for Linux as it's defined by libc on other platforms, | |
1160 | // and it's mentioned in the man pages for getxattr and setxattr. | |
1161 | pub const SFD_CLOEXEC: ::c_int = 0x080000; | |
1162 | ||
1163 | pub const NCCS: usize = 32; | |
1164 | ||
1165 | pub const O_TRUNC: ::c_int = 512; | |
1166 | pub const O_NOATIME: ::c_int = 0o1000000; | |
1167 | pub const O_CLOEXEC: ::c_int = 0x80000; | |
1168 | ||
ba9703b0 XL |
1169 | // Defined as wasi value. |
1170 | pub const EPERM: ::c_int = 63; | |
1171 | pub const ENOENT: ::c_int = 44; | |
1172 | pub const ESRCH: ::c_int = 71; | |
1173 | pub const EINTR: ::c_int = 27; | |
1174 | pub const EIO: ::c_int = 29; | |
1175 | pub const ENXIO: ::c_int = 60; | |
1176 | pub const E2BIG: ::c_int = 1; | |
1177 | pub const ENOEXEC: ::c_int = 45; | |
1178 | pub const EBADF: ::c_int = 8; | |
1179 | pub const ECHILD: ::c_int = 12; | |
1180 | pub const EAGAIN: ::c_int = 6; | |
1181 | pub const ENOMEM: ::c_int = 48; | |
1182 | pub const EACCES: ::c_int = 2; | |
1183 | pub const EFAULT: ::c_int = 21; | |
1184 | pub const ENOTBLK: ::c_int = 105; | |
1185 | pub const EBUSY: ::c_int = 10; | |
1186 | pub const EEXIST: ::c_int = 20; | |
1187 | pub const EXDEV: ::c_int = 75; | |
1188 | pub const ENODEV: ::c_int = 43; | |
1189 | pub const ENOTDIR: ::c_int = 54; | |
1190 | pub const EISDIR: ::c_int = 31; | |
1191 | pub const EINVAL: ::c_int = 28; | |
1192 | pub const ENFILE: ::c_int = 41; | |
1193 | pub const EMFILE: ::c_int = 33; | |
1194 | pub const ENOTTY: ::c_int = 59; | |
1195 | pub const ETXTBSY: ::c_int = 74; | |
1196 | pub const EFBIG: ::c_int = 22; | |
1197 | pub const ENOSPC: ::c_int = 51; | |
1198 | pub const ESPIPE: ::c_int = 70; | |
1199 | pub const EROFS: ::c_int = 69; | |
1200 | pub const EMLINK: ::c_int = 34; | |
1201 | pub const EPIPE: ::c_int = 64; | |
1202 | pub const EDOM: ::c_int = 18; | |
1203 | pub const ERANGE: ::c_int = 68; | |
1204 | pub const EWOULDBLOCK: ::c_int = EAGAIN; | |
1205 | pub const ENOLINK: ::c_int = 47; | |
1206 | pub const EPROTO: ::c_int = 65; | |
1207 | pub const EDEADLK: ::c_int = 16; | |
1208 | pub const EDEADLOCK: ::c_int = EDEADLK; | |
1209 | pub const ENAMETOOLONG: ::c_int = 37; | |
1210 | pub const ENOLCK: ::c_int = 46; | |
1211 | pub const ENOSYS: ::c_int = 52; | |
1212 | pub const ENOTEMPTY: ::c_int = 55; | |
1213 | pub const ELOOP: ::c_int = 32; | |
1214 | pub const ENOMSG: ::c_int = 49; | |
1215 | pub const EIDRM: ::c_int = 24; | |
1216 | pub const EMULTIHOP: ::c_int = 36; | |
1217 | pub const EBADMSG: ::c_int = 9; | |
1218 | pub const EOVERFLOW: ::c_int = 61; | |
1219 | pub const EILSEQ: ::c_int = 25; | |
1220 | pub const ENOTSOCK: ::c_int = 57; | |
1221 | pub const EDESTADDRREQ: ::c_int = 17; | |
1222 | pub const EMSGSIZE: ::c_int = 35; | |
1223 | pub const EPROTOTYPE: ::c_int = 67; | |
1224 | pub const ENOPROTOOPT: ::c_int = 50; | |
1225 | pub const EPROTONOSUPPORT: ::c_int = 66; | |
1226 | pub const EAFNOSUPPORT: ::c_int = 5; | |
1227 | pub const EADDRINUSE: ::c_int = 3; | |
1228 | pub const EADDRNOTAVAIL: ::c_int = 4; | |
1229 | pub const ENETDOWN: ::c_int = 38; | |
1230 | pub const ENETUNREACH: ::c_int = 40; | |
1231 | pub const ENETRESET: ::c_int = 39; | |
1232 | pub const ECONNABORTED: ::c_int = 13; | |
1233 | pub const ECONNRESET: ::c_int = 15; | |
1234 | pub const ENOBUFS: ::c_int = 42; | |
1235 | pub const EISCONN: ::c_int = 30; | |
1236 | pub const ENOTCONN: ::c_int = 53; | |
1237 | pub const ETIMEDOUT: ::c_int = 73; | |
1238 | pub const ECONNREFUSED: ::c_int = 14; | |
1239 | pub const EHOSTUNREACH: ::c_int = 23; | |
1240 | pub const EALREADY: ::c_int = 7; | |
1241 | pub const EINPROGRESS: ::c_int = 26; | |
1242 | pub const ESTALE: ::c_int = 72; | |
1243 | pub const EDQUOT: ::c_int = 19; | |
1244 | pub const ECANCELED: ::c_int = 11; | |
1245 | pub const EOWNERDEAD: ::c_int = 62; | |
1246 | pub const ENOTRECOVERABLE: ::c_int = 56; | |
1247 | ||
1248 | pub const ENOSTR: ::c_int = 100; | |
1249 | pub const EBFONT: ::c_int = 101; | |
1250 | pub const EBADSLT: ::c_int = 102; | |
1251 | pub const EBADRQC: ::c_int = 103; | |
1252 | pub const ENOANO: ::c_int = 104; | |
1253 | pub const ECHRNG: ::c_int = 106; | |
1254 | pub const EL3HLT: ::c_int = 107; | |
1255 | pub const EL3RST: ::c_int = 108; | |
1256 | pub const ELNRNG: ::c_int = 109; | |
1257 | pub const EUNATCH: ::c_int = 110; | |
1258 | pub const ENOCSI: ::c_int = 111; | |
1259 | pub const EL2HLT: ::c_int = 112; | |
1260 | pub const EBADE: ::c_int = 113; | |
1261 | pub const EBADR: ::c_int = 114; | |
1262 | pub const EXFULL: ::c_int = 115; | |
1263 | pub const ENODATA: ::c_int = 116; | |
1264 | pub const ETIME: ::c_int = 117; | |
1265 | pub const ENOSR: ::c_int = 118; | |
1266 | pub const ENONET: ::c_int = 119; | |
1267 | pub const ENOPKG: ::c_int = 120; | |
1268 | pub const EREMOTE: ::c_int = 121; | |
1269 | pub const EADV: ::c_int = 122; | |
1270 | pub const ESRMNT: ::c_int = 123; | |
1271 | pub const ECOMM: ::c_int = 124; | |
1272 | pub const EDOTDOT: ::c_int = 125; | |
1273 | pub const ENOTUNIQ: ::c_int = 126; | |
1274 | pub const EBADFD: ::c_int = 127; | |
1275 | pub const EREMCHG: ::c_int = 128; | |
1276 | pub const ELIBACC: ::c_int = 129; | |
1277 | pub const ELIBBAD: ::c_int = 130; | |
1278 | pub const ELIBSCN: ::c_int = 131; | |
1279 | pub const ELIBMAX: ::c_int = 132; | |
1280 | pub const ELIBEXEC: ::c_int = 133; | |
1281 | pub const ERESTART: ::c_int = 134; | |
1282 | pub const ESTRPIPE: ::c_int = 135; | |
1283 | pub const EUSERS: ::c_int = 136; | |
1284 | pub const ESOCKTNOSUPPORT: ::c_int = 137; | |
1285 | pub const EOPNOTSUPP: ::c_int = 138; | |
1286 | pub const ENOTSUP: ::c_int = EOPNOTSUPP; | |
1287 | pub const EPFNOSUPPORT: ::c_int = 139; | |
1288 | pub const ESHUTDOWN: ::c_int = 140; | |
1289 | pub const ETOOMANYREFS: ::c_int = 141; | |
1290 | pub const EHOSTDOWN: ::c_int = 142; | |
1291 | pub const EUCLEAN: ::c_int = 143; | |
1292 | pub const ENOTNAM: ::c_int = 144; | |
1293 | pub const ENAVAIL: ::c_int = 145; | |
1294 | pub const EISNAM: ::c_int = 146; | |
1295 | pub const EREMOTEIO: ::c_int = 147; | |
1296 | pub const ENOMEDIUM: ::c_int = 148; | |
1297 | pub const EMEDIUMTYPE: ::c_int = 149; | |
1298 | pub const ENOKEY: ::c_int = 150; | |
1299 | pub const EKEYEXPIRED: ::c_int = 151; | |
1300 | pub const EKEYREVOKED: ::c_int = 152; | |
1301 | pub const EKEYREJECTED: ::c_int = 153; | |
1302 | pub const ERFKILL: ::c_int = 154; | |
1303 | pub const EHWPOISON: ::c_int = 155; | |
1304 | pub const EL2NSYNC: ::c_int = 156; | |
ea8adc8c XL |
1305 | |
1306 | pub const SA_NODEFER: ::c_int = 0x40000000; | |
1307 | pub const SA_RESETHAND: ::c_int = 0x80000000; | |
1308 | pub const SA_RESTART: ::c_int = 0x10000000; | |
1309 | pub const SA_NOCLDSTOP: ::c_int = 0x00000001; | |
1310 | ||
1311 | pub const EPOLL_CLOEXEC: ::c_int = 0x80000; | |
1312 | ||
1313 | pub const EFD_CLOEXEC: ::c_int = 0x80000; | |
1314 | ||
1315 | pub const BUFSIZ: ::c_uint = 1024; | |
1316 | pub const TMP_MAX: ::c_uint = 10000; | |
1317 | pub const FOPEN_MAX: ::c_uint = 1000; | |
1318 | pub const O_PATH: ::c_int = 0o10000000; | |
1319 | pub const O_EXEC: ::c_int = 0o10000000; | |
1320 | pub const O_SEARCH: ::c_int = 0o10000000; | |
1321 | pub const O_ACCMODE: ::c_int = 0o10000003; | |
1322 | pub const O_NDELAY: ::c_int = O_NONBLOCK; | |
1323 | pub const NI_MAXHOST: ::socklen_t = 255; | |
1324 | pub const PTHREAD_STACK_MIN: ::size_t = 2048; | |
1325 | pub const POSIX_FADV_DONTNEED: ::c_int = 4; | |
1326 | pub const POSIX_FADV_NOREUSE: ::c_int = 5; | |
1327 | ||
1328 | pub const POSIX_MADV_DONTNEED: ::c_int = 0; | |
1329 | ||
1330 | pub const RLIM_INFINITY: ::rlim_t = !0; | |
416331ca | 1331 | pub const RLIMIT_NLIMITS: ::c_int = 15; |
17df50a5 | 1332 | pub const RLIM_NLIMITS: ::c_int = RLIMIT_NLIMITS; |
ea8adc8c XL |
1333 | |
1334 | pub const MAP_ANONYMOUS: ::c_int = MAP_ANON; | |
1335 | ||
416331ca | 1336 | #[doc(hidden)] |
e74abb32 | 1337 | #[deprecated(since = "0.2.55", note = "Use SIGSYS instead")] |
ea8adc8c XL |
1338 | pub const SIGUNUSED: ::c_int = ::SIGSYS; |
1339 | ||
1340 | pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4; | |
1341 | pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4; | |
1342 | pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: usize = 8; | |
1343 | ||
1344 | pub const CPU_SETSIZE: ::c_int = 128; | |
1345 | ||
1346 | pub const QFMT_VFS_V1: ::c_int = 4; | |
1347 | ||
1348 | pub const PTRACE_TRACEME: ::c_int = 0; | |
1349 | pub const PTRACE_PEEKTEXT: ::c_int = 1; | |
1350 | pub const PTRACE_PEEKDATA: ::c_int = 2; | |
1351 | pub const PTRACE_PEEKUSER: ::c_int = 3; | |
1352 | pub const PTRACE_POKETEXT: ::c_int = 4; | |
1353 | pub const PTRACE_POKEDATA: ::c_int = 5; | |
1354 | pub const PTRACE_POKEUSER: ::c_int = 6; | |
1355 | pub const PTRACE_CONT: ::c_int = 7; | |
1356 | pub const PTRACE_KILL: ::c_int = 8; | |
1357 | pub const PTRACE_SINGLESTEP: ::c_int = 9; | |
1358 | pub const PTRACE_ATTACH: ::c_int = 16; | |
1359 | pub const PTRACE_DETACH: ::c_int = 17; | |
1360 | pub const PTRACE_SYSCALL: ::c_int = 24; | |
1361 | pub const PTRACE_SETOPTIONS: ::c_int = 0x4200; | |
1362 | pub const PTRACE_GETEVENTMSG: ::c_int = 0x4201; | |
1363 | pub const PTRACE_GETSIGINFO: ::c_int = 0x4202; | |
1364 | pub const PTRACE_SETSIGINFO: ::c_int = 0x4203; | |
1365 | pub const PTRACE_GETREGSET: ::c_int = 0x4204; | |
1366 | pub const PTRACE_SETREGSET: ::c_int = 0x4205; | |
1367 | pub const PTRACE_SEIZE: ::c_int = 0x4206; | |
1368 | pub const PTRACE_INTERRUPT: ::c_int = 0x4207; | |
1369 | pub const PTRACE_LISTEN: ::c_int = 0x4208; | |
1370 | pub const PTRACE_PEEKSIGINFO: ::c_int = 0x4209; | |
1371 | ||
ea8adc8c XL |
1372 | pub const PTRACE_GETFPREGS: ::c_uint = 14; |
1373 | pub const PTRACE_SETFPREGS: ::c_uint = 15; | |
1374 | pub const PTRACE_GETFPXREGS: ::c_uint = 18; | |
1375 | pub const PTRACE_SETFPXREGS: ::c_uint = 19; | |
1376 | pub const PTRACE_GETREGS: ::c_uint = 12; | |
1377 | pub const PTRACE_SETREGS: ::c_uint = 13; | |
1378 | ||
1379 | pub const EFD_NONBLOCK: ::c_int = ::O_NONBLOCK; | |
1380 | ||
1381 | pub const SFD_NONBLOCK: ::c_int = ::O_NONBLOCK; | |
1382 | ||
1383 | pub const TCSANOW: ::c_int = 0; | |
1384 | pub const TCSADRAIN: ::c_int = 1; | |
1385 | pub const TCSAFLUSH: ::c_int = 2; | |
1386 | ||
1387 | pub const TIOCINQ: ::c_int = ::FIONREAD; | |
1388 | ||
1389 | pub const RTLD_GLOBAL: ::c_int = 0x100; | |
1390 | pub const RTLD_NOLOAD: ::c_int = 0x4; | |
1391 | ||
ea8adc8c | 1392 | pub const CLOCK_SGI_CYCLE: ::clockid_t = 10; |
ea8adc8c XL |
1393 | |
1394 | pub const MCL_CURRENT: ::c_int = 0x0001; | |
1395 | pub const MCL_FUTURE: ::c_int = 0x0002; | |
1396 | ||
1397 | pub const SIGSTKSZ: ::size_t = 8192; | |
1398 | pub const MINSIGSTKSZ: ::size_t = 2048; | |
1399 | pub const CBAUD: ::tcflag_t = 0o0010017; | |
1400 | pub const TAB1: ::c_int = 0x00000800; | |
1401 | pub const TAB2: ::c_int = 0x00001000; | |
1402 | pub const TAB3: ::c_int = 0x00001800; | |
e74abb32 XL |
1403 | pub const CR1: ::c_int = 0x00000200; |
1404 | pub const CR2: ::c_int = 0x00000400; | |
1405 | pub const CR3: ::c_int = 0x00000600; | |
1406 | pub const FF1: ::c_int = 0x00008000; | |
1407 | pub const BS1: ::c_int = 0x00002000; | |
1408 | pub const VT1: ::c_int = 0x00004000; | |
ea8adc8c XL |
1409 | pub const VWERASE: usize = 14; |
1410 | pub const VREPRINT: usize = 12; | |
1411 | pub const VSUSP: usize = 10; | |
1412 | pub const VSTART: usize = 8; | |
1413 | pub const VSTOP: usize = 9; | |
1414 | pub const VDISCARD: usize = 13; | |
1415 | pub const VTIME: usize = 5; | |
1416 | pub const IXON: ::tcflag_t = 0x00000400; | |
1417 | pub const IXOFF: ::tcflag_t = 0x00001000; | |
1418 | pub const ONLCR: ::tcflag_t = 0x4; | |
1419 | pub const CSIZE: ::tcflag_t = 0x00000030; | |
1420 | pub const CS6: ::tcflag_t = 0x00000010; | |
1421 | pub const CS7: ::tcflag_t = 0x00000020; | |
1422 | pub const CS8: ::tcflag_t = 0x00000030; | |
1423 | pub const CSTOPB: ::tcflag_t = 0x00000040; | |
1424 | pub const CREAD: ::tcflag_t = 0x00000080; | |
1425 | pub const PARENB: ::tcflag_t = 0x00000100; | |
1426 | pub const PARODD: ::tcflag_t = 0x00000200; | |
1427 | pub const HUPCL: ::tcflag_t = 0x00000400; | |
1428 | pub const CLOCAL: ::tcflag_t = 0x00000800; | |
1429 | pub const ECHOKE: ::tcflag_t = 0x00000800; | |
1430 | pub const ECHOE: ::tcflag_t = 0x00000010; | |
1431 | pub const ECHOK: ::tcflag_t = 0x00000020; | |
1432 | pub const ECHONL: ::tcflag_t = 0x00000040; | |
1433 | pub const ECHOPRT: ::tcflag_t = 0x00000400; | |
1434 | pub const ECHOCTL: ::tcflag_t = 0x00000200; | |
1435 | pub const ISIG: ::tcflag_t = 0x00000001; | |
1436 | pub const ICANON: ::tcflag_t = 0x00000002; | |
1437 | pub const PENDIN: ::tcflag_t = 0x00004000; | |
1438 | pub const NOFLSH: ::tcflag_t = 0x00000080; | |
1439 | pub const CBAUDEX: ::tcflag_t = 0o010000; | |
1440 | pub const VSWTC: usize = 7; | |
e74abb32 XL |
1441 | pub const OLCUC: ::tcflag_t = 0o000002; |
1442 | pub const NLDLY: ::tcflag_t = 0o000400; | |
1443 | pub const CRDLY: ::tcflag_t = 0o003000; | |
ea8adc8c | 1444 | pub const TABDLY: ::tcflag_t = 0o014000; |
e74abb32 XL |
1445 | pub const BSDLY: ::tcflag_t = 0o020000; |
1446 | pub const FFDLY: ::tcflag_t = 0o100000; | |
1447 | pub const VTDLY: ::tcflag_t = 0o040000; | |
1448 | pub const XTABS: ::tcflag_t = 0o014000; | |
ea8adc8c XL |
1449 | |
1450 | pub const B0: ::speed_t = 0o000000; | |
1451 | pub const B50: ::speed_t = 0o000001; | |
1452 | pub const B75: ::speed_t = 0o000002; | |
1453 | pub const B110: ::speed_t = 0o000003; | |
1454 | pub const B134: ::speed_t = 0o000004; | |
1455 | pub const B150: ::speed_t = 0o000005; | |
1456 | pub const B200: ::speed_t = 0o000006; | |
1457 | pub const B300: ::speed_t = 0o000007; | |
1458 | pub const B600: ::speed_t = 0o000010; | |
1459 | pub const B1200: ::speed_t = 0o000011; | |
1460 | pub const B1800: ::speed_t = 0o000012; | |
1461 | pub const B2400: ::speed_t = 0o000013; | |
1462 | pub const B4800: ::speed_t = 0o000014; | |
1463 | pub const B9600: ::speed_t = 0o000015; | |
1464 | pub const B19200: ::speed_t = 0o000016; | |
1465 | pub const B38400: ::speed_t = 0o000017; | |
1466 | pub const B57600: ::speed_t = 0o010001; | |
1467 | pub const B115200: ::speed_t = 0o010002; | |
1468 | pub const B230400: ::speed_t = 0o010003; | |
1469 | pub const B460800: ::speed_t = 0o010004; | |
1470 | pub const B500000: ::speed_t = 0o010005; | |
1471 | pub const B576000: ::speed_t = 0o010006; | |
1472 | pub const B921600: ::speed_t = 0o010007; | |
1473 | pub const B1000000: ::speed_t = 0o010010; | |
1474 | pub const B1152000: ::speed_t = 0o010011; | |
1475 | pub const B1500000: ::speed_t = 0o010012; | |
1476 | pub const B2000000: ::speed_t = 0o010013; | |
1477 | pub const B2500000: ::speed_t = 0o010014; | |
1478 | pub const B3000000: ::speed_t = 0o010015; | |
1479 | pub const B3500000: ::speed_t = 0o010016; | |
1480 | pub const B4000000: ::speed_t = 0o010017; | |
1481 | ||
1482 | pub const SO_BINDTODEVICE: ::c_int = 25; | |
1483 | pub const SO_TIMESTAMP: ::c_int = 29; | |
1484 | pub const SO_MARK: ::c_int = 36; | |
1485 | pub const SO_RXQ_OVFL: ::c_int = 40; | |
1486 | pub const SO_PEEK_OFF: ::c_int = 42; | |
1487 | pub const SO_BUSY_POLL: ::c_int = 46; | |
1488 | ||
1489 | pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 32; | |
1490 | pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 28; | |
1491 | ||
1492 | pub const O_DIRECT: ::c_int = 0x4000; | |
1493 | pub const O_DIRECTORY: ::c_int = 0x10000; | |
1494 | pub const O_NOFOLLOW: ::c_int = 0x20000; | |
1495 | pub const O_ASYNC: ::c_int = 0x2000; | |
1496 | ||
1497 | pub const FIOCLEX: ::c_int = 0x5451; | |
1498 | pub const FIONBIO: ::c_int = 0x5421; | |
1499 | ||
1500 | pub const RLIMIT_RSS: ::c_int = 5; | |
1501 | pub const RLIMIT_NOFILE: ::c_int = 7; | |
1502 | pub const RLIMIT_AS: ::c_int = 9; | |
1503 | pub const RLIMIT_NPROC: ::c_int = 6; | |
1504 | pub const RLIMIT_MEMLOCK: ::c_int = 8; | |
416331ca XL |
1505 | pub const RLIMIT_CPU: ::c_int = 0; |
1506 | pub const RLIMIT_FSIZE: ::c_int = 1; | |
1507 | pub const RLIMIT_DATA: ::c_int = 2; | |
1508 | pub const RLIMIT_STACK: ::c_int = 3; | |
1509 | pub const RLIMIT_CORE: ::c_int = 4; | |
1510 | pub const RLIMIT_LOCKS: ::c_int = 10; | |
1511 | pub const RLIMIT_SIGPENDING: ::c_int = 11; | |
1512 | pub const RLIMIT_MSGQUEUE: ::c_int = 12; | |
1513 | pub const RLIMIT_NICE: ::c_int = 13; | |
1514 | pub const RLIMIT_RTPRIO: ::c_int = 14; | |
ea8adc8c XL |
1515 | |
1516 | pub const O_APPEND: ::c_int = 1024; | |
1517 | pub const O_CREAT: ::c_int = 64; | |
1518 | pub const O_EXCL: ::c_int = 128; | |
1519 | pub const O_NOCTTY: ::c_int = 256; | |
1520 | pub const O_NONBLOCK: ::c_int = 2048; | |
1521 | pub const O_SYNC: ::c_int = 1052672; | |
1522 | pub const O_RSYNC: ::c_int = 1052672; | |
1523 | pub const O_DSYNC: ::c_int = 4096; | |
1524 | ||
1525 | pub const SOCK_NONBLOCK: ::c_int = 2048; | |
1526 | ||
1527 | pub const MAP_ANON: ::c_int = 0x0020; | |
1528 | pub const MAP_GROWSDOWN: ::c_int = 0x0100; | |
1529 | pub const MAP_DENYWRITE: ::c_int = 0x0800; | |
1530 | pub const MAP_EXECUTABLE: ::c_int = 0x01000; | |
1531 | pub const MAP_LOCKED: ::c_int = 0x02000; | |
1532 | pub const MAP_NORESERVE: ::c_int = 0x04000; | |
1533 | pub const MAP_POPULATE: ::c_int = 0x08000; | |
1534 | pub const MAP_NONBLOCK: ::c_int = 0x010000; | |
1535 | pub const MAP_STACK: ::c_int = 0x020000; | |
1536 | ||
1537 | pub const SOCK_STREAM: ::c_int = 1; | |
1538 | pub const SOCK_DGRAM: ::c_int = 2; | |
1539 | pub const SOCK_SEQPACKET: ::c_int = 5; | |
1540 | ||
fc512014 XL |
1541 | pub const IPPROTO_MAX: ::c_int = 256; |
1542 | ||
ea8adc8c XL |
1543 | pub const SOL_SOCKET: ::c_int = 1; |
1544 | ||
ea8adc8c XL |
1545 | pub const SO_REUSEADDR: ::c_int = 2; |
1546 | pub const SO_TYPE: ::c_int = 3; | |
1547 | pub const SO_ERROR: ::c_int = 4; | |
1548 | pub const SO_DONTROUTE: ::c_int = 5; | |
1549 | pub const SO_BROADCAST: ::c_int = 6; | |
1550 | pub const SO_SNDBUF: ::c_int = 7; | |
1551 | pub const SO_RCVBUF: ::c_int = 8; | |
1552 | pub const SO_KEEPALIVE: ::c_int = 9; | |
1553 | pub const SO_OOBINLINE: ::c_int = 10; | |
1554 | pub const SO_LINGER: ::c_int = 13; | |
1555 | pub const SO_REUSEPORT: ::c_int = 15; | |
1556 | pub const SO_RCVLOWAT: ::c_int = 18; | |
1557 | pub const SO_SNDLOWAT: ::c_int = 19; | |
1558 | pub const SO_RCVTIMEO: ::c_int = 20; | |
1559 | pub const SO_SNDTIMEO: ::c_int = 21; | |
1560 | pub const SO_ACCEPTCONN: ::c_int = 30; | |
1561 | ||
29967ef6 XL |
1562 | pub const IPV6_RTHDR_LOOSE: ::c_int = 0; |
1563 | pub const IPV6_RTHDR_STRICT: ::c_int = 1; | |
1564 | ||
ea8adc8c XL |
1565 | pub const SA_ONSTACK: ::c_int = 0x08000000; |
1566 | pub const SA_SIGINFO: ::c_int = 0x00000004; | |
1567 | pub const SA_NOCLDWAIT: ::c_int = 0x00000002; | |
1568 | ||
1569 | pub const SIGCHLD: ::c_int = 17; | |
1570 | pub const SIGBUS: ::c_int = 7; | |
1571 | pub const SIGTTIN: ::c_int = 21; | |
1572 | pub const SIGTTOU: ::c_int = 22; | |
1573 | pub const SIGXCPU: ::c_int = 24; | |
1574 | pub const SIGXFSZ: ::c_int = 25; | |
1575 | pub const SIGVTALRM: ::c_int = 26; | |
1576 | pub const SIGPROF: ::c_int = 27; | |
1577 | pub const SIGWINCH: ::c_int = 28; | |
1578 | pub const SIGUSR1: ::c_int = 10; | |
1579 | pub const SIGUSR2: ::c_int = 12; | |
1580 | pub const SIGCONT: ::c_int = 18; | |
1581 | pub const SIGSTOP: ::c_int = 19; | |
1582 | pub const SIGTSTP: ::c_int = 20; | |
1583 | pub const SIGURG: ::c_int = 23; | |
1584 | pub const SIGIO: ::c_int = 29; | |
1585 | pub const SIGSYS: ::c_int = 31; | |
1586 | pub const SIGSTKFLT: ::c_int = 16; | |
1587 | pub const SIGPOLL: ::c_int = 29; | |
1588 | pub const SIGPWR: ::c_int = 30; | |
1589 | pub const SIG_SETMASK: ::c_int = 2; | |
1590 | pub const SIG_BLOCK: ::c_int = 0x000000; | |
1591 | pub const SIG_UNBLOCK: ::c_int = 0x01; | |
1592 | ||
1593 | pub const EXTPROC: ::tcflag_t = 0x00010000; | |
1594 | ||
1595 | pub const MAP_HUGETLB: ::c_int = 0x040000; | |
1596 | ||
1597 | pub const F_GETLK: ::c_int = 12; | |
1598 | pub const F_GETOWN: ::c_int = 9; | |
1599 | pub const F_SETLK: ::c_int = 13; | |
1600 | pub const F_SETLKW: ::c_int = 14; | |
1601 | pub const F_SETOWN: ::c_int = 8; | |
ba9703b0 XL |
1602 | pub const F_OFD_GETLK: ::c_int = 36; |
1603 | pub const F_OFD_SETLK: ::c_int = 37; | |
1604 | pub const F_OFD_SETLKW: ::c_int = 38; | |
ea8adc8c XL |
1605 | |
1606 | pub const VEOF: usize = 4; | |
1607 | pub const VEOL: usize = 11; | |
1608 | pub const VEOL2: usize = 16; | |
1609 | pub const VMIN: usize = 6; | |
1610 | pub const IEXTEN: ::tcflag_t = 0x00008000; | |
1611 | pub const TOSTOP: ::tcflag_t = 0x00000100; | |
1612 | pub const FLUSHO: ::tcflag_t = 0x00001000; | |
1613 | ||
1614 | pub const TCGETS: ::c_int = 0x5401; | |
1615 | pub const TCSETS: ::c_int = 0x5402; | |
1616 | pub const TCSETSW: ::c_int = 0x5403; | |
1617 | pub const TCSETSF: ::c_int = 0x5404; | |
1618 | pub const TCGETA: ::c_int = 0x5405; | |
1619 | pub const TCSETA: ::c_int = 0x5406; | |
1620 | pub const TCSETAW: ::c_int = 0x5407; | |
1621 | pub const TCSETAF: ::c_int = 0x5408; | |
1622 | pub const TCSBRK: ::c_int = 0x5409; | |
1623 | pub const TCXONC: ::c_int = 0x540A; | |
1624 | pub const TCFLSH: ::c_int = 0x540B; | |
1625 | pub const TIOCGSOFTCAR: ::c_int = 0x5419; | |
1626 | pub const TIOCSSOFTCAR: ::c_int = 0x541A; | |
1627 | pub const TIOCLINUX: ::c_int = 0x541C; | |
1628 | pub const TIOCGSERIAL: ::c_int = 0x541E; | |
1629 | pub const TIOCEXCL: ::c_int = 0x540C; | |
1630 | pub const TIOCNXCL: ::c_int = 0x540D; | |
1631 | pub const TIOCSCTTY: ::c_int = 0x540E; | |
1632 | pub const TIOCGPGRP: ::c_int = 0x540F; | |
1633 | pub const TIOCSPGRP: ::c_int = 0x5410; | |
1634 | pub const TIOCOUTQ: ::c_int = 0x5411; | |
1635 | pub const TIOCSTI: ::c_int = 0x5412; | |
1636 | pub const TIOCGWINSZ: ::c_int = 0x5413; | |
1637 | pub const TIOCSWINSZ: ::c_int = 0x5414; | |
1638 | pub const TIOCMGET: ::c_int = 0x5415; | |
1639 | pub const TIOCMBIS: ::c_int = 0x5416; | |
1640 | pub const TIOCMBIC: ::c_int = 0x5417; | |
1641 | pub const TIOCMSET: ::c_int = 0x5418; | |
1642 | pub const FIONREAD: ::c_int = 0x541B; | |
1643 | pub const TIOCCONS: ::c_int = 0x541D; | |
1644 | ||
1645 | pub const SYS_gettid: ::c_long = 224; // Valid for arm (32-bit) and x86 (32-bit) | |
1646 | ||
1647 | pub const POLLWRNORM: ::c_short = 0x100; | |
1648 | pub const POLLWRBAND: ::c_short = 0x200; | |
1649 | ||
1650 | pub const TIOCM_LE: ::c_int = 0x001; | |
1651 | pub const TIOCM_DTR: ::c_int = 0x002; | |
1652 | pub const TIOCM_RTS: ::c_int = 0x004; | |
1653 | pub const TIOCM_ST: ::c_int = 0x008; | |
1654 | pub const TIOCM_SR: ::c_int = 0x010; | |
1655 | pub const TIOCM_CTS: ::c_int = 0x020; | |
1656 | pub const TIOCM_CAR: ::c_int = 0x040; | |
1657 | pub const TIOCM_RNG: ::c_int = 0x080; | |
1658 | pub const TIOCM_DSR: ::c_int = 0x100; | |
1659 | pub const TIOCM_CD: ::c_int = TIOCM_CAR; | |
1660 | pub const TIOCM_RI: ::c_int = TIOCM_RNG; | |
1661 | pub const O_TMPFILE: ::c_int = 0x400000; | |
1662 | ||
b7449926 XL |
1663 | pub const MAX_ADDR_LEN: usize = 7; |
1664 | pub const ARPD_UPDATE: ::c_ushort = 0x01; | |
1665 | pub const ARPD_LOOKUP: ::c_ushort = 0x02; | |
1666 | pub const ARPD_FLUSH: ::c_ushort = 0x03; | |
1667 | pub const ATF_MAGIC: ::c_int = 0x80; | |
1668 | ||
f035d41b XL |
1669 | pub const PRIO_PROCESS: ::c_int = 0; |
1670 | pub const PRIO_PGRP: ::c_int = 1; | |
1671 | pub const PRIO_USER: ::c_int = 2; | |
1672 | ||
f2b60f7d FG |
1673 | pub const SOMAXCONN: ::c_int = 128; |
1674 | ||
ea8adc8c | 1675 | f! { |
532ac7d7 XL |
1676 | pub fn CMSG_NXTHDR(mhdr: *const msghdr, |
1677 | cmsg: *const cmsghdr) -> *mut cmsghdr { | |
1678 | if ((*cmsg).cmsg_len as usize) < ::mem::size_of::<cmsghdr>() { | |
1679 | return 0 as *mut cmsghdr; | |
1680 | }; | |
1681 | let next = (cmsg as usize + | |
1682 | super::CMSG_ALIGN((*cmsg).cmsg_len as usize)) | |
1683 | as *mut cmsghdr; | |
1684 | let max = (*mhdr).msg_control as usize | |
1685 | + (*mhdr).msg_controllen as usize; | |
1686 | if (next.offset(1)) as usize > max { | |
1687 | 0 as *mut cmsghdr | |
1688 | } else { | |
1689 | next as *mut cmsghdr | |
1690 | } | |
1691 | } | |
1692 | ||
ea8adc8c XL |
1693 | pub fn CPU_ZERO(cpuset: &mut cpu_set_t) -> () { |
1694 | for slot in cpuset.bits.iter_mut() { | |
1695 | *slot = 0; | |
1696 | } | |
1697 | } | |
1698 | ||
1699 | pub fn CPU_SET(cpu: usize, cpuset: &mut cpu_set_t) -> () { | |
532ac7d7 XL |
1700 | let size_in_bits |
1701 | = 8 * ::mem::size_of_val(&cpuset.bits[0]); // 32, 64 etc | |
ea8adc8c XL |
1702 | let (idx, offset) = (cpu / size_in_bits, cpu % size_in_bits); |
1703 | cpuset.bits[idx] |= 1 << offset; | |
1704 | () | |
1705 | } | |
1706 | ||
1707 | pub fn CPU_CLR(cpu: usize, cpuset: &mut cpu_set_t) -> () { | |
532ac7d7 XL |
1708 | let size_in_bits |
1709 | = 8 * ::mem::size_of_val(&cpuset.bits[0]); // 32, 64 etc | |
ea8adc8c XL |
1710 | let (idx, offset) = (cpu / size_in_bits, cpu % size_in_bits); |
1711 | cpuset.bits[idx] &= !(1 << offset); | |
1712 | () | |
1713 | } | |
1714 | ||
1715 | pub fn CPU_ISSET(cpu: usize, cpuset: &cpu_set_t) -> bool { | |
532ac7d7 | 1716 | let size_in_bits = 8 * ::mem::size_of_val(&cpuset.bits[0]); |
ea8adc8c XL |
1717 | let (idx, offset) = (cpu / size_in_bits, cpu % size_in_bits); |
1718 | 0 != (cpuset.bits[idx] & (1 << offset)) | |
1719 | } | |
1720 | ||
1721 | pub fn CPU_EQUAL(set1: &cpu_set_t, set2: &cpu_set_t) -> bool { | |
1722 | set1.bits == set2.bits | |
1723 | } | |
1724 | ||
1725 | pub fn major(dev: ::dev_t) -> ::c_uint { | |
1726 | // see | |
ba9703b0 | 1727 | // https://github.com/emscripten-core/emscripten/blob/ |
353b0b11 | 1728 | // main/system/lib/libc/musl/include/sys/sysmacros.h |
ea8adc8c XL |
1729 | let mut major = 0; |
1730 | major |= (dev & 0x00000fff) >> 8; | |
1731 | major |= (dev & 0xfffff000) >> 31 >> 1; | |
1732 | major as ::c_uint | |
1733 | } | |
1734 | ||
1735 | pub fn minor(dev: ::dev_t) -> ::c_uint { | |
1736 | // see | |
ba9703b0 | 1737 | // https://github.com/emscripten-core/emscripten/blob/ |
353b0b11 | 1738 | // main/system/lib/libc/musl/include/sys/sysmacros.h |
ea8adc8c XL |
1739 | let mut minor = 0; |
1740 | minor |= (dev & 0x000000ff) >> 0; | |
1741 | minor |= (dev & 0xffffff00) >> 12; | |
1742 | minor as ::c_uint | |
1743 | } | |
2b03887a | 1744 | } |
ea8adc8c | 1745 | |
2b03887a FG |
1746 | safe_f! { |
1747 | pub {const} fn makedev(major: ::c_uint, minor: ::c_uint) -> ::dev_t { | |
ea8adc8c XL |
1748 | let major = major as ::dev_t; |
1749 | let minor = minor as ::dev_t; | |
1750 | let mut dev = 0; | |
1751 | dev |= (major & 0x00000fff) << 8; | |
1752 | dev |= (major & 0xfffff000) << 31 << 1; | |
1753 | dev |= (minor & 0x000000ff) << 0; | |
1754 | dev |= (minor & 0xffffff00) << 12; | |
1755 | dev | |
1756 | } | |
1757 | } | |
1758 | ||
e74abb32 XL |
1759 | extern "C" { |
1760 | pub fn getrlimit64(resource: ::c_int, rlim: *mut rlimit64) -> ::c_int; | |
1761 | pub fn setrlimit64(resource: ::c_int, rlim: *const rlimit64) -> ::c_int; | |
416331ca XL |
1762 | pub fn getrlimit(resource: ::c_int, rlim: *mut ::rlimit) -> ::c_int; |
1763 | pub fn setrlimit(resource: ::c_int, rlim: *const ::rlimit) -> ::c_int; | |
cdc7bbd5 | 1764 | pub fn strerror_r(errnum: ::c_int, buf: *mut c_char, buflen: ::size_t) -> ::c_int; |
416331ca | 1765 | |
69743fb6 | 1766 | pub fn abs(i: ::c_int) -> ::c_int; |
69743fb6 XL |
1767 | pub fn labs(i: ::c_long) -> ::c_long; |
1768 | pub fn rand() -> ::c_int; | |
1769 | pub fn srand(seed: ::c_uint); | |
1770 | ||
e74abb32 | 1771 | pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::c_void) -> ::c_int; |
416331ca | 1772 | |
ea8adc8c XL |
1773 | pub fn setpwent(); |
1774 | pub fn endpwent(); | |
1775 | pub fn getpwent() -> *mut passwd; | |
1776 | ||
cdc7bbd5 | 1777 | pub fn shm_open(name: *const c_char, oflag: ::c_int, mode: mode_t) -> ::c_int; |
e74abb32 | 1778 | |
cdc7bbd5 | 1779 | pub fn mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int) -> ::c_int; |
ea8adc8c XL |
1780 | pub fn __errno_location() -> *mut ::c_int; |
1781 | ||
cdc7bbd5 | 1782 | pub fn fopen64(filename: *const c_char, mode: *const c_char) -> *mut ::FILE; |
e74abb32 XL |
1783 | pub fn freopen64( |
1784 | filename: *const c_char, | |
1785 | mode: *const c_char, | |
1786 | file: *mut ::FILE, | |
1787 | ) -> *mut ::FILE; | |
ea8adc8c XL |
1788 | pub fn tmpfile64() -> *mut ::FILE; |
1789 | pub fn fgetpos64(stream: *mut ::FILE, ptr: *mut fpos64_t) -> ::c_int; | |
1790 | pub fn fsetpos64(stream: *mut ::FILE, ptr: *const fpos64_t) -> ::c_int; | |
cdc7bbd5 | 1791 | pub fn fseeko64(stream: *mut ::FILE, offset: ::off64_t, whence: ::c_int) -> ::c_int; |
ea8adc8c | 1792 | pub fn ftello64(stream: *mut ::FILE) -> ::off64_t; |
cdc7bbd5 XL |
1793 | pub fn posix_fallocate(fd: ::c_int, offset: ::off_t, len: ::off_t) -> ::c_int; |
1794 | pub fn pwritev(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t) | |
1795 | -> ::ssize_t; | |
1796 | pub fn preadv(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t) -> ::ssize_t; | |
ea8adc8c XL |
1797 | pub fn dup3(oldfd: ::c_int, newfd: ::c_int, flags: ::c_int) -> ::c_int; |
1798 | pub fn mkostemp(template: *mut ::c_char, flags: ::c_int) -> ::c_int; | |
cdc7bbd5 XL |
1799 | pub fn mkostemps(template: *mut ::c_char, suffixlen: ::c_int, flags: ::c_int) -> ::c_int; |
1800 | pub fn nl_langinfo_l(item: ::nl_item, locale: ::locale_t) -> *mut ::c_char; | |
5869c6ff XL |
1801 | pub fn accept4( |
1802 | fd: ::c_int, | |
1803 | addr: *mut ::sockaddr, | |
1804 | len: *mut ::socklen_t, | |
1805 | flg: ::c_int, | |
1806 | ) -> ::c_int; | |
e74abb32 XL |
1807 | pub fn getnameinfo( |
1808 | sa: *const ::sockaddr, | |
1809 | salen: ::socklen_t, | |
1810 | host: *mut ::c_char, | |
1811 | hostlen: ::socklen_t, | |
1812 | serv: *mut ::c_char, | |
1813 | sevlen: ::socklen_t, | |
1814 | flags: ::c_int, | |
1815 | ) -> ::c_int; | |
ea8adc8c XL |
1816 | pub fn getloadavg(loadavg: *mut ::c_double, nelem: ::c_int) -> ::c_int; |
1817 | ||
cdc7bbd5 | 1818 | pub fn mkfifoat(dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t) -> ::c_int; |
ea8adc8c XL |
1819 | pub fn if_nameindex() -> *mut if_nameindex; |
1820 | pub fn if_freenameindex(ptr: *mut if_nameindex); | |
ea8adc8c | 1821 | |
e74abb32 XL |
1822 | pub fn mremap( |
1823 | addr: *mut ::c_void, | |
1824 | len: ::size_t, | |
1825 | new_len: ::size_t, | |
1826 | flags: ::c_int, | |
1827 | ... | |
1828 | ) -> *mut ::c_void; | |
1829 | ||
1830 | pub fn glob( | |
1831 | pattern: *const c_char, | |
1832 | flags: ::c_int, | |
cdc7bbd5 | 1833 | errfunc: ::Option<extern "C" fn(epath: *const c_char, errno: ::c_int) -> ::c_int>, |
e74abb32 XL |
1834 | pglob: *mut ::glob_t, |
1835 | ) -> ::c_int; | |
ea8adc8c XL |
1836 | pub fn globfree(pglob: *mut ::glob_t); |
1837 | ||
cdc7bbd5 | 1838 | pub fn posix_madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int) -> ::c_int; |
ea8adc8c XL |
1839 | |
1840 | pub fn shm_unlink(name: *const ::c_char) -> ::c_int; | |
1841 | ||
1842 | pub fn seekdir(dirp: *mut ::DIR, loc: ::c_long); | |
1843 | ||
1844 | pub fn telldir(dirp: *mut ::DIR) -> ::c_long; | |
cdc7bbd5 | 1845 | pub fn madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int) -> ::c_int; |
e74abb32 | 1846 | |
cdc7bbd5 | 1847 | pub fn msync(addr: *mut ::c_void, len: ::size_t, flags: ::c_int) -> ::c_int; |
e74abb32 XL |
1848 | |
1849 | pub fn recvfrom( | |
1850 | socket: ::c_int, | |
1851 | buf: *mut ::c_void, | |
1852 | len: ::size_t, | |
1853 | flags: ::c_int, | |
1854 | addr: *mut ::sockaddr, | |
1855 | addrlen: *mut ::socklen_t, | |
1856 | ) -> ::ssize_t; | |
ea8adc8c XL |
1857 | pub fn mkstemps(template: *mut ::c_char, suffixlen: ::c_int) -> ::c_int; |
1858 | pub fn nl_langinfo(item: ::nl_item) -> *mut ::c_char; | |
1859 | ||
ea8adc8c XL |
1860 | pub fn getdomainname(name: *mut ::c_char, len: ::size_t) -> ::c_int; |
1861 | pub fn setdomainname(name: *const ::c_char, len: ::size_t) -> ::c_int; | |
e74abb32 XL |
1862 | pub fn sendmmsg( |
1863 | sockfd: ::c_int, | |
1864 | msgvec: *mut ::mmsghdr, | |
1865 | vlen: ::c_uint, | |
1866 | flags: ::c_uint, | |
1867 | ) -> ::c_int; | |
1868 | pub fn recvmmsg( | |
1869 | sockfd: ::c_int, | |
1870 | msgvec: *mut ::mmsghdr, | |
1871 | vlen: ::c_uint, | |
1872 | flags: ::c_uint, | |
1873 | timeout: *mut ::timespec, | |
1874 | ) -> ::c_int; | |
ea8adc8c XL |
1875 | pub fn sync(); |
1876 | pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int; | |
1877 | pub fn getpriority(which: ::c_int, who: ::id_t) -> ::c_int; | |
1878 | pub fn setpriority(which: ::c_int, who: ::id_t, prio: ::c_int) -> ::c_int; | |
e74abb32 XL |
1879 | pub fn pthread_create( |
1880 | native: *mut ::pthread_t, | |
1881 | attr: *const ::pthread_attr_t, | |
1882 | f: extern "C" fn(*mut ::c_void) -> *mut ::c_void, | |
1883 | value: *mut ::c_void, | |
1884 | ) -> ::c_int; | |
353b0b11 FG |
1885 | |
1886 | pub fn getentropy(buf: *mut ::c_void, buflen: ::size_t) -> ::c_int; | |
ea8adc8c | 1887 | } |
532ac7d7 XL |
1888 | |
1889 | cfg_if! { | |
1890 | if #[cfg(libc_align)] { | |
1891 | #[macro_use] | |
1892 | mod align; | |
1893 | } else { | |
1894 | #[macro_use] | |
1895 | mod no_align; | |
1896 | } | |
1897 | } | |
1898 | expand_align!(); |