]>
Commit | Line | Data |
---|---|---|
3b2f2976 XL |
1 | use unix::bsd::O_SYNC; |
2 | ||
9cc50fc6 | 3 | pub type clock_t = i64; |
476ff2be | 4 | pub type suseconds_t = ::c_long; |
9cc50fc6 SL |
5 | pub type dev_t = i32; |
6 | pub type sigset_t = ::c_uint; | |
7 | pub type blksize_t = ::int32_t; | |
8 | pub type fsblkcnt_t = ::uint64_t; | |
9 | pub type fsfilcnt_t = ::uint64_t; | |
10 | pub type pthread_attr_t = *mut ::c_void; | |
11 | pub type pthread_mutex_t = *mut ::c_void; | |
12 | pub type pthread_mutexattr_t = *mut ::c_void; | |
13 | pub type pthread_cond_t = *mut ::c_void; | |
5bcae85e | 14 | pub type pthread_condattr_t = *mut ::c_void; |
9cc50fc6 | 15 | pub type pthread_rwlock_t = *mut ::c_void; |
3b2f2976 | 16 | pub type pthread_rwlockattr_t = *mut ::c_void; |
9cc50fc6 | 17 | |
92a42be0 | 18 | s! { |
9cc50fc6 SL |
19 | pub struct dirent { |
20 | pub d_fileno: ::ino_t, | |
21 | pub d_off: ::off_t, | |
22 | pub d_reclen: u16, | |
23 | pub d_type: u8, | |
24 | pub d_namlen: u8, | |
25 | __d_padding: [u8; 4], | |
26 | pub d_name: [::c_char; 256], | |
27 | } | |
28 | ||
92a42be0 SL |
29 | pub struct glob_t { |
30 | pub gl_pathc: ::c_int, | |
9e0c209e | 31 | pub gl_matchc: ::c_int, |
92a42be0 | 32 | pub gl_offs: ::c_int, |
9e0c209e | 33 | pub gl_flags: ::c_int, |
92a42be0 | 34 | pub gl_pathv: *mut *mut ::c_char, |
9e0c209e SL |
35 | __unused1: *mut ::c_void, |
36 | __unused2: *mut ::c_void, | |
92a42be0 | 37 | __unused3: *mut ::c_void, |
92a42be0 SL |
38 | __unused4: *mut ::c_void, |
39 | __unused5: *mut ::c_void, | |
40 | __unused6: *mut ::c_void, | |
41 | __unused7: *mut ::c_void, | |
9e0c209e SL |
42 | } |
43 | ||
44 | pub struct kevent { | |
45 | pub ident: ::uintptr_t, | |
46 | pub filter: ::c_short, | |
47 | pub flags: ::c_ushort, | |
48 | pub fflags: ::c_uint, | |
49 | pub data: ::int64_t, | |
50 | pub udata: *mut ::c_void, | |
92a42be0 | 51 | } |
9cc50fc6 SL |
52 | |
53 | pub struct stat { | |
54 | pub st_mode: ::mode_t, | |
55 | pub st_dev: ::dev_t, | |
56 | pub st_ino: ::ino_t, | |
57 | pub st_nlink: ::nlink_t, | |
58 | pub st_uid: ::uid_t, | |
59 | pub st_gid: ::gid_t, | |
60 | pub st_rdev: ::dev_t, | |
61 | pub st_atime: ::time_t, | |
62 | pub st_atime_nsec: ::c_long, | |
63 | pub st_mtime: ::time_t, | |
64 | pub st_mtime_nsec: ::c_long, | |
65 | pub st_ctime: ::time_t, | |
66 | pub st_ctime_nsec: ::c_long, | |
67 | pub st_size: ::off_t, | |
68 | pub st_blocks: ::blkcnt_t, | |
69 | pub st_blksize: ::blksize_t, | |
70 | pub st_flags: ::uint32_t, | |
71 | pub st_gen: ::uint32_t, | |
72 | pub st_birthtime: ::time_t, | |
73 | pub st_birthtime_nsec: ::c_long, | |
74 | } | |
75 | ||
76 | pub struct statvfs { | |
77 | pub f_bsize: ::c_ulong, | |
78 | pub f_frsize: ::c_ulong, | |
79 | pub f_blocks: ::fsblkcnt_t, | |
80 | pub f_bfree: ::fsblkcnt_t, | |
81 | pub f_bavail: ::fsblkcnt_t, | |
82 | pub f_files: ::fsfilcnt_t, | |
83 | pub f_ffree: ::fsfilcnt_t, | |
84 | pub f_favail: ::fsfilcnt_t, | |
85 | pub f_fsid: ::c_ulong, | |
86 | pub f_flag: ::c_ulong, | |
87 | pub f_namemax: ::c_ulong, | |
88 | } | |
89 | ||
90 | pub struct addrinfo { | |
91 | pub ai_flags: ::c_int, | |
92 | pub ai_family: ::c_int, | |
93 | pub ai_socktype: ::c_int, | |
94 | pub ai_protocol: ::c_int, | |
95 | pub ai_addrlen: ::socklen_t, | |
96 | pub ai_addr: *mut ::sockaddr, | |
97 | pub ai_canonname: *mut ::c_char, | |
98 | pub ai_next: *mut ::addrinfo, | |
99 | } | |
100 | ||
101 | pub struct sockaddr_storage { | |
102 | pub ss_len: u8, | |
103 | pub ss_family: ::sa_family_t, | |
104 | __ss_pad1: [u8; 6], | |
105 | __ss_pad2: i64, | |
106 | __ss_pad3: [u8; 240], | |
107 | } | |
108 | ||
109 | pub struct siginfo_t { | |
110 | pub si_signo: ::c_int, | |
111 | pub si_code: ::c_int, | |
112 | pub si_errno: ::c_int, | |
113 | pub si_addr: *mut ::c_char, | |
476ff2be SL |
114 | #[cfg(target_pointer_width = "32")] |
115 | __pad: [u8; 112], | |
116 | #[cfg(target_pointer_width = "64")] | |
9cc50fc6 SL |
117 | __pad: [u8; 108], |
118 | } | |
119 | ||
120 | pub struct Dl_info { | |
121 | pub dli_fname: *const ::c_char, | |
122 | pub dli_fbase: *mut ::c_void, | |
123 | pub dli_sname: *const ::c_char, | |
124 | pub dli_saddr: *mut ::c_void, | |
125 | } | |
54a0048b | 126 | |
9e0c209e SL |
127 | pub struct lastlog { |
128 | ll_time: ::time_t, | |
129 | ll_line: [::c_char; UT_LINESIZE], | |
130 | ll_host: [::c_char; UT_HOSTSIZE], | |
131 | } | |
132 | ||
133 | pub struct utmp { | |
134 | pub ut_line: [::c_char; UT_LINESIZE], | |
135 | pub ut_name: [::c_char; UT_NAMESIZE], | |
136 | pub ut_host: [::c_char; UT_HOSTSIZE], | |
137 | pub ut_time: ::time_t, | |
54a0048b | 138 | } |
3b2f2976 XL |
139 | |
140 | pub struct if_data { | |
141 | pub ifi_type: ::c_uchar, | |
142 | pub ifi_addrlen: ::c_uchar, | |
143 | pub ifi_hdrlen: ::c_uchar, | |
144 | pub ifi_link_state: ::c_uchar, | |
145 | pub ifi_mtu: u32, | |
146 | pub ifi_metric: u32, | |
147 | pub ifi_rdomain: u32, | |
148 | pub ifi_baudrate: u64, | |
149 | pub ifi_ipackets: u64, | |
150 | pub ifi_ierrors: u64, | |
151 | pub ifi_opackets: u64, | |
152 | pub ifi_oerrors: u64, | |
153 | pub ifi_collisions: u64, | |
154 | pub ifi_ibytes: u64, | |
155 | pub ifi_obytes: u64, | |
156 | pub ifi_imcasts: u64, | |
157 | pub ifi_omcasts: u64, | |
158 | pub ifi_iqdrops: u64, | |
159 | pub ifi_oqdrops: u64, | |
160 | pub ifi_noproto: u64, | |
161 | pub ifi_capabilities: u32, | |
162 | pub ifi_lastchange: ::timeval, | |
163 | } | |
164 | ||
165 | pub struct if_msghdr { | |
166 | pub ifm_msglen: ::c_ushort, | |
167 | pub ifm_version: ::c_uchar, | |
168 | pub ifm_type: ::c_uchar, | |
169 | pub ifm_hdrlen: ::c_ushort, | |
170 | pub ifm_index: ::c_ushort, | |
171 | pub ifm_tableid: ::c_ushort, | |
172 | pub ifm_pad1: ::c_uchar, | |
173 | pub ifm_pad2: ::c_uchar, | |
174 | pub ifm_addrs: ::c_int, | |
175 | pub ifm_flags: ::c_int, | |
176 | pub ifm_xflags: ::c_int, | |
177 | pub ifm_data: if_data, | |
178 | } | |
ff7c6d11 XL |
179 | |
180 | pub struct sockaddr_dl { | |
181 | pub sdl_len: ::c_uchar, | |
182 | pub sdl_family: ::c_uchar, | |
183 | pub sdl_index: ::c_ushort, | |
184 | pub sdl_type: ::c_uchar, | |
185 | pub sdl_nlen: ::c_uchar, | |
186 | pub sdl_alen: ::c_uchar, | |
187 | pub sdl_slen: ::c_uchar, | |
188 | pub sdl_data: [::c_char; 24], | |
189 | } | |
83c7162d XL |
190 | |
191 | pub struct sockpeercred { | |
192 | pub uid: ::uid_t, | |
193 | pub gid: ::gid_t, | |
194 | pub pid: ::pid_t, | |
195 | } | |
92a42be0 SL |
196 | } |
197 | ||
9e0c209e SL |
198 | pub const UT_NAMESIZE: usize = 32; |
199 | pub const UT_LINESIZE: usize = 8; | |
200 | pub const UT_HOSTSIZE: usize = 256; | |
201 | ||
9cc50fc6 | 202 | pub const O_CLOEXEC: ::c_int = 0x10000; |
3b2f2976 XL |
203 | pub const O_DIRECTORY: ::c_int = 0x20000; |
204 | pub const O_RSYNC: ::c_int = O_SYNC; | |
9cc50fc6 SL |
205 | |
206 | pub const MS_SYNC : ::c_int = 0x0002; | |
207 | pub const MS_INVALIDATE : ::c_int = 0x0004; | |
208 | ||
209 | pub const PTHREAD_STACK_MIN : ::size_t = 2048; | |
210 | ||
3b2f2976 XL |
211 | pub const POLLNORM: ::c_short = ::POLLRDNORM; |
212 | ||
9cc50fc6 SL |
213 | pub const ENOATTR : ::c_int = 83; |
214 | pub const EILSEQ : ::c_int = 84; | |
215 | pub const EOVERFLOW : ::c_int = 87; | |
216 | pub const ECANCELED : ::c_int = 88; | |
217 | pub const EIDRM : ::c_int = 89; | |
218 | pub const ENOMSG : ::c_int = 90; | |
219 | pub const ENOTSUP : ::c_int = 91; | |
ff7c6d11 XL |
220 | pub const EBADMSG : ::c_int = 92; |
221 | pub const ENOTRECOVERABLE : ::c_int = 93; | |
222 | pub const EOWNERDEAD : ::c_int = 94; | |
223 | pub const EPROTO : ::c_int = 95; | |
224 | pub const ELAST : ::c_int = 95; | |
9cc50fc6 SL |
225 | |
226 | pub const F_DUPFD_CLOEXEC : ::c_int = 10; | |
227 | ||
cc61c64b XL |
228 | pub const AT_FDCWD: ::c_int = -100; |
229 | pub const AT_EACCESS: ::c_int = 0x01; | |
230 | pub const AT_SYMLINK_NOFOLLOW: ::c_int = 0x02; | |
231 | pub const AT_SYMLINK_FOLLOW: ::c_int = 0x04; | |
232 | pub const AT_REMOVEDIR: ::c_int = 0x08; | |
233 | ||
9cc50fc6 SL |
234 | pub const RLIM_NLIMITS: ::c_int = 9; |
235 | ||
3b2f2976 | 236 | pub const SO_TIMESTAMP: ::c_int = 0x0800; |
9cc50fc6 SL |
237 | pub const SO_SNDTIMEO: ::c_int = 0x1005; |
238 | pub const SO_RCVTIMEO: ::c_int = 0x1006; | |
cc61c64b XL |
239 | pub const SO_BINDANY: ::c_int = 0x1000; |
240 | pub const SO_NETPROC: ::c_int = 0x1020; | |
241 | pub const SO_RTABLE: ::c_int = 0x1021; | |
242 | pub const SO_PEERCRED: ::c_int = 0x1022; | |
243 | pub const SO_SPLICE: ::c_int = 0x1023; | |
244 | ||
3b2f2976 XL |
245 | // sys/netinet/in.h |
246 | // Protocols (RFC 1700) | |
247 | // NOTE: These are in addition to the constants defined in src/unix/mod.rs | |
248 | ||
249 | // IPPROTO_IP defined in src/unix/mod.rs | |
250 | /// Hop-by-hop option header | |
251 | pub const IPPROTO_HOPOPTS: ::c_int = 0; | |
252 | // IPPROTO_ICMP defined in src/unix/mod.rs | |
253 | /// group mgmt protocol | |
254 | pub const IPPROTO_IGMP: ::c_int = 2; | |
255 | /// gateway^2 (deprecated) | |
256 | pub const IPPROTO_GGP: ::c_int = 3; | |
257 | /// for compatibility | |
258 | pub const IPPROTO_IPIP: ::c_int = 4; | |
259 | // IPPROTO_TCP defined in src/unix/mod.rs | |
260 | /// exterior gateway protocol | |
261 | pub const IPPROTO_EGP: ::c_int = 8; | |
262 | /// pup | |
263 | pub const IPPROTO_PUP: ::c_int = 12; | |
264 | // IPPROTO_UDP defined in src/unix/mod.rs | |
265 | /// xns idp | |
266 | pub const IPPROTO_IDP: ::c_int = 22; | |
267 | /// tp-4 w/ class negotiation | |
268 | pub const IPPROTO_TP: ::c_int = 29; | |
269 | // IPPROTO_IPV6 defined in src/unix/mod.rs | |
270 | /// IP6 routing header | |
271 | pub const IPPROTO_ROUTING: ::c_int = 43; | |
272 | /// IP6 fragmentation header | |
273 | pub const IPPROTO_FRAGMENT: ::c_int = 44; | |
274 | /// resource reservation | |
275 | pub const IPPROTO_RSVP: ::c_int = 46; | |
276 | /// General Routing Encap. | |
277 | pub const IPPROTO_GRE: ::c_int = 47; | |
278 | /// IP6 Encap Sec. Payload | |
279 | pub const IPPROTO_ESP: ::c_int = 50; | |
280 | /// IP6 Auth Header | |
281 | pub const IPPROTO_AH: ::c_int = 51; | |
282 | /// IP Mobility RFC 2004 | |
283 | pub const IPPROTO_MOBILE: ::c_int = 55; | |
284 | // IPPROTO_ICMPV6 defined in src/unix/mod.rs | |
285 | /// IP6 no next header | |
286 | pub const IPPROTO_NONE: ::c_int = 59; | |
287 | /// IP6 destination option | |
288 | pub const IPPROTO_DSTOPTS: ::c_int = 60; | |
289 | /// ISO cnlp | |
290 | pub const IPPROTO_EON: ::c_int = 80; | |
291 | /// Ethernet-in-IP | |
292 | pub const IPPROTO_ETHERIP: ::c_int = 97; | |
293 | /// encapsulation header | |
294 | pub const IPPROTO_ENCAP: ::c_int = 98; | |
295 | /// Protocol indep. multicast | |
296 | pub const IPPROTO_PIM: ::c_int = 103; | |
297 | /// IP Payload Comp. Protocol | |
298 | pub const IPPROTO_IPCOMP: ::c_int = 108; | |
299 | /// CARP | |
300 | pub const IPPROTO_CARP: ::c_int = 112; | |
301 | /// unicast MPLS packet | |
302 | pub const IPPROTO_MPLS: ::c_int = 137; | |
303 | /// PFSYNC | |
304 | pub const IPPROTO_PFSYNC: ::c_int = 240; | |
305 | pub const IPPROTO_MAX: ::c_int = 256; | |
306 | ||
307 | /* Only used internally, so it can be outside the range of valid IP protocols */ | |
308 | /// Divert sockets | |
309 | pub const IPPROTO_DIVERT: ::c_int = 258; | |
310 | ||
cc61c64b XL |
311 | pub const AF_ECMA: ::c_int = 8; |
312 | pub const AF_ROUTE: ::c_int = 17; | |
313 | pub const AF_ENCAP: ::c_int = 28; | |
314 | pub const AF_SIP: ::c_int = 29; | |
315 | pub const AF_KEY: ::c_int = 30; | |
316 | pub const pseudo_AF_HDRCMPLT: ::c_int = 31; | |
317 | pub const AF_BLUETOOTH: ::c_int = 32; | |
318 | pub const AF_MPLS: ::c_int = 33; | |
319 | pub const pseudo_AF_PFLOW: ::c_int = 34; | |
320 | pub const pseudo_AF_PIPEX: ::c_int = 35; | |
321 | #[doc(hidden)] | |
322 | pub const AF_MAX: ::c_int = 36; | |
323 | ||
324 | #[doc(hidden)] | |
325 | pub const NET_MAXID: ::c_int = AF_MAX; | |
326 | pub const NET_RT_DUMP: ::c_int = 1; | |
327 | pub const NET_RT_FLAGS: ::c_int = 2; | |
328 | pub const NET_RT_IFLIST: ::c_int = 3; | |
329 | pub const NET_RT_STATS: ::c_int = 4; | |
330 | pub const NET_RT_TABLE: ::c_int = 5; | |
331 | pub const NET_RT_IFNAMES: ::c_int = 6; | |
332 | #[doc(hidden)] | |
333 | pub const NET_RT_MAXID: ::c_int = 7; | |
9cc50fc6 | 334 | |
7453a54e SL |
335 | pub const IPV6_JOIN_GROUP: ::c_int = 12; |
336 | pub const IPV6_LEAVE_GROUP: ::c_int = 13; | |
337 | ||
cc61c64b XL |
338 | pub const PF_ROUTE: ::c_int = AF_ROUTE; |
339 | pub const PF_ECMA: ::c_int = AF_ECMA; | |
340 | pub const PF_ENCAP: ::c_int = AF_ENCAP; | |
341 | pub const PF_SIP: ::c_int = AF_SIP; | |
342 | pub const PF_KEY: ::c_int = AF_KEY; | |
343 | pub const PF_BPF: ::c_int = pseudo_AF_HDRCMPLT; | |
344 | pub const PF_BLUETOOTH: ::c_int = AF_BLUETOOTH; | |
345 | pub const PF_MPLS: ::c_int = AF_MPLS; | |
346 | pub const PF_PFLOW: ::c_int = pseudo_AF_PFLOW; | |
347 | pub const PF_PIPEX: ::c_int = pseudo_AF_PIPEX; | |
348 | #[doc(hidden)] | |
349 | pub const PF_MAX: ::c_int = AF_MAX; | |
350 | ||
351 | pub const SCM_TIMESTAMP: ::c_int = 0x04; | |
352 | ||
9cc50fc6 SL |
353 | pub const O_DSYNC : ::c_int = 128; |
354 | ||
355 | pub const MAP_RENAME : ::c_int = 0x0000; | |
356 | pub const MAP_NORESERVE : ::c_int = 0x0000; | |
357 | pub const MAP_HASSEMAPHORE : ::c_int = 0x0000; | |
358 | ||
359 | pub const EIPSEC : ::c_int = 82; | |
360 | pub const ENOMEDIUM : ::c_int = 85; | |
361 | pub const EMEDIUMTYPE : ::c_int = 86; | |
362 | ||
ff7c6d11 XL |
363 | pub const EAI_BADFLAGS: ::c_int = -1; |
364 | pub const EAI_NONAME: ::c_int = -2; | |
365 | pub const EAI_AGAIN: ::c_int = -3; | |
366 | pub const EAI_FAIL: ::c_int = -4; | |
367 | pub const EAI_NODATA: ::c_int = -5; | |
368 | pub const EAI_FAMILY: ::c_int = -6; | |
369 | pub const EAI_SOCKTYPE: ::c_int = -7; | |
370 | pub const EAI_SERVICE: ::c_int = -8; | |
371 | pub const EAI_MEMORY: ::c_int = -10; | |
9e0c209e | 372 | pub const EAI_SYSTEM: ::c_int = -11; |
ff7c6d11 | 373 | pub const EAI_OVERFLOW: ::c_int = -14; |
9e0c209e | 374 | |
9cc50fc6 SL |
375 | pub const RUSAGE_THREAD: ::c_int = 1; |
376 | ||
377 | pub const MAP_COPY : ::c_int = 0x0002; | |
378 | pub const MAP_NOEXTEND : ::c_int = 0x0000; | |
379 | ||
3b2f2976 XL |
380 | pub const _PC_LINK_MAX : ::c_int = 1; |
381 | pub const _PC_MAX_CANON : ::c_int = 2; | |
382 | pub const _PC_MAX_INPUT : ::c_int = 3; | |
383 | pub const _PC_NAME_MAX : ::c_int = 4; | |
384 | pub const _PC_PATH_MAX : ::c_int = 5; | |
385 | pub const _PC_PIPE_BUF : ::c_int = 6; | |
386 | pub const _PC_CHOWN_RESTRICTED : ::c_int = 7; | |
387 | pub const _PC_NO_TRUNC : ::c_int = 8; | |
388 | pub const _PC_VDISABLE : ::c_int = 9; | |
389 | pub const _PC_2_SYMLINKS : ::c_int = 10; | |
390 | pub const _PC_ALLOC_SIZE_MIN : ::c_int = 11; | |
391 | pub const _PC_ASYNC_IO : ::c_int = 12; | |
392 | pub const _PC_FILESIZEBITS : ::c_int = 13; | |
393 | pub const _PC_PRIO_IO : ::c_int = 14; | |
394 | pub const _PC_REC_INCR_XFER_SIZE : ::c_int = 15; | |
395 | pub const _PC_REC_MAX_XFER_SIZE : ::c_int = 16; | |
396 | pub const _PC_REC_MIN_XFER_SIZE : ::c_int = 17; | |
397 | pub const _PC_REC_XFER_ALIGN : ::c_int = 18; | |
398 | pub const _PC_SYMLINK_MAX : ::c_int = 19; | |
399 | pub const _PC_SYNC_IO : ::c_int = 20; | |
400 | pub const _PC_TIMESTAMP_RESOLUTION : ::c_int = 21; | |
401 | ||
9cc50fc6 | 402 | pub const _SC_CLK_TCK : ::c_int = 3; |
3b2f2976 XL |
403 | pub const _SC_SEM_NSEMS_MAX : ::c_int = 31; |
404 | pub const _SC_SEM_VALUE_MAX : ::c_int = 32; | |
405 | pub const _SC_HOST_NAME_MAX : ::c_int = 33; | |
406 | pub const _SC_MONOTONIC_CLOCK : ::c_int = 34; | |
407 | pub const _SC_2_PBS : ::c_int = 35; | |
408 | pub const _SC_2_PBS_ACCOUNTING : ::c_int = 36; | |
409 | pub const _SC_2_PBS_CHECKPOINT : ::c_int = 37; | |
410 | pub const _SC_2_PBS_LOCATE : ::c_int = 38; | |
411 | pub const _SC_2_PBS_MESSAGE : ::c_int = 39; | |
412 | pub const _SC_2_PBS_TRACK : ::c_int = 40; | |
413 | pub const _SC_ADVISORY_INFO : ::c_int = 41; | |
9cc50fc6 SL |
414 | pub const _SC_AIO_LISTIO_MAX : ::c_int = 42; |
415 | pub const _SC_AIO_MAX : ::c_int = 43; | |
3b2f2976 | 416 | pub const _SC_AIO_PRIO_DELTA_MAX : ::c_int = 44; |
9cc50fc6 | 417 | pub const _SC_ASYNCHRONOUS_IO : ::c_int = 45; |
3b2f2976 XL |
418 | pub const _SC_ATEXIT_MAX : ::c_int = 46; |
419 | pub const _SC_BARRIERS : ::c_int = 47; | |
420 | pub const _SC_CLOCK_SELECTION : ::c_int = 48; | |
421 | pub const _SC_CPUTIME : ::c_int = 49; | |
422 | pub const _SC_DELAYTIMER_MAX : ::c_int = 50; | |
423 | pub const _SC_IOV_MAX : ::c_int = 51; | |
424 | pub const _SC_IPV6 : ::c_int = 52; | |
9cc50fc6 SL |
425 | pub const _SC_MAPPED_FILES : ::c_int = 53; |
426 | pub const _SC_MEMLOCK : ::c_int = 54; | |
427 | pub const _SC_MEMLOCK_RANGE : ::c_int = 55; | |
428 | pub const _SC_MEMORY_PROTECTION : ::c_int = 56; | |
429 | pub const _SC_MESSAGE_PASSING : ::c_int = 57; | |
430 | pub const _SC_MQ_OPEN_MAX : ::c_int = 58; | |
3b2f2976 XL |
431 | pub const _SC_MQ_PRIO_MAX : ::c_int = 59; |
432 | pub const _SC_PRIORITIZED_IO : ::c_int = 60; | |
9cc50fc6 | 433 | pub const _SC_PRIORITY_SCHEDULING : ::c_int = 61; |
3b2f2976 XL |
434 | pub const _SC_RAW_SOCKETS : ::c_int = 62; |
435 | pub const _SC_READER_WRITER_LOCKS : ::c_int = 63; | |
436 | pub const _SC_REALTIME_SIGNALS : ::c_int = 64; | |
437 | pub const _SC_REGEXP : ::c_int = 65; | |
438 | pub const _SC_RTSIG_MAX : ::c_int = 66; | |
9cc50fc6 SL |
439 | pub const _SC_SEMAPHORES : ::c_int = 67; |
440 | pub const _SC_SHARED_MEMORY_OBJECTS : ::c_int = 68; | |
3b2f2976 XL |
441 | pub const _SC_SHELL : ::c_int = 69; |
442 | pub const _SC_SIGQUEUE_MAX : ::c_int = 70; | |
443 | pub const _SC_SPAWN : ::c_int = 71; | |
444 | pub const _SC_SPIN_LOCKS : ::c_int = 72; | |
445 | pub const _SC_SPORADIC_SERVER : ::c_int = 73; | |
446 | pub const _SC_SS_REPL_MAX : ::c_int = 74; | |
9cc50fc6 | 447 | pub const _SC_SYNCHRONIZED_IO : ::c_int = 75; |
3b2f2976 XL |
448 | pub const _SC_SYMLOOP_MAX : ::c_int = 76; |
449 | pub const _SC_THREAD_ATTR_STACKADDR : ::c_int = 77; | |
450 | pub const _SC_THREAD_ATTR_STACKSIZE : ::c_int = 78; | |
451 | pub const _SC_THREAD_CPUTIME : ::c_int = 79; | |
452 | pub const _SC_THREAD_DESTRUCTOR_ITERATIONS : ::c_int = 80; | |
453 | pub const _SC_THREAD_KEYS_MAX : ::c_int = 81; | |
454 | pub const _SC_THREAD_PRIO_INHERIT : ::c_int = 82; | |
455 | pub const _SC_THREAD_PRIO_PROTECT : ::c_int = 83; | |
456 | pub const _SC_THREAD_PRIORITY_SCHEDULING : ::c_int = 84; | |
457 | pub const _SC_THREAD_PROCESS_SHARED : ::c_int = 85; | |
458 | pub const _SC_THREAD_ROBUST_PRIO_INHERIT : ::c_int = 86; | |
459 | pub const _SC_THREAD_ROBUST_PRIO_PROTECT : ::c_int = 87; | |
460 | pub const _SC_THREAD_SPORADIC_SERVER : ::c_int = 88; | |
461 | pub const _SC_THREAD_STACK_MIN : ::c_int = 89; | |
462 | pub const _SC_THREAD_THREADS_MAX : ::c_int = 90; | |
463 | pub const _SC_THREADS : ::c_int = 91; | |
464 | pub const _SC_TIMEOUTS : ::c_int = 92; | |
465 | pub const _SC_TIMER_MAX : ::c_int = 93; | |
9cc50fc6 | 466 | pub const _SC_TIMERS : ::c_int = 94; |
3b2f2976 XL |
467 | pub const _SC_TRACE : ::c_int = 95; |
468 | pub const _SC_TRACE_EVENT_FILTER : ::c_int = 96; | |
469 | pub const _SC_TRACE_EVENT_NAME_MAX : ::c_int = 97; | |
470 | pub const _SC_TRACE_INHERIT : ::c_int = 98; | |
471 | pub const _SC_TRACE_LOG : ::c_int = 99; | |
472 | pub const _SC_GETGR_R_SIZE_MAX : ::c_int = 100; | |
473 | pub const _SC_GETPW_R_SIZE_MAX : ::c_int = 101; | |
474 | pub const _SC_LOGIN_NAME_MAX : ::c_int = 102; | |
475 | pub const _SC_THREAD_SAFE_FUNCTIONS : ::c_int = 103; | |
476 | pub const _SC_TRACE_NAME_MAX : ::c_int = 104; | |
477 | pub const _SC_TRACE_SYS_MAX : ::c_int = 105; | |
478 | pub const _SC_TRACE_USER_EVENT_MAX : ::c_int = 106; | |
479 | pub const _SC_TTY_NAME_MAX : ::c_int = 107; | |
480 | pub const _SC_TYPED_MEMORY_OBJECTS : ::c_int = 108; | |
481 | pub const _SC_V6_ILP32_OFF32 : ::c_int = 109; | |
482 | pub const _SC_V6_ILP32_OFFBIG : ::c_int = 110; | |
483 | pub const _SC_V6_LP64_OFF64 : ::c_int = 111; | |
484 | pub const _SC_V6_LPBIG_OFFBIG : ::c_int = 112; | |
485 | pub const _SC_V7_ILP32_OFF32 : ::c_int = 113; | |
486 | pub const _SC_V7_ILP32_OFFBIG : ::c_int = 114; | |
487 | pub const _SC_V7_LP64_OFF64 : ::c_int = 115; | |
488 | pub const _SC_V7_LPBIG_OFFBIG : ::c_int = 116; | |
9cc50fc6 SL |
489 | pub const _SC_XOPEN_CRYPT : ::c_int = 117; |
490 | pub const _SC_XOPEN_ENH_I18N : ::c_int = 118; | |
491 | pub const _SC_XOPEN_LEGACY : ::c_int = 119; | |
492 | pub const _SC_XOPEN_REALTIME : ::c_int = 120; | |
493 | pub const _SC_XOPEN_REALTIME_THREADS : ::c_int = 121; | |
3b2f2976 | 494 | pub const _SC_XOPEN_STREAMS : ::c_int = 122; |
9cc50fc6 | 495 | pub const _SC_XOPEN_UNIX : ::c_int = 123; |
3b2f2976 | 496 | pub const _SC_XOPEN_UUCP : ::c_int = 124; |
9cc50fc6 | 497 | pub const _SC_XOPEN_VERSION : ::c_int = 125; |
3b2f2976 XL |
498 | pub const _SC_PHYS_PAGES : ::c_int = 500; |
499 | pub const _SC_AVPHYS_PAGES : ::c_int = 501; | |
500 | pub const _SC_NPROCESSORS_CONF : ::c_int = 502; | |
501 | pub const _SC_NPROCESSORS_ONLN : ::c_int = 503; | |
9cc50fc6 | 502 | |
9cc50fc6 SL |
503 | pub const FD_SETSIZE: usize = 1024; |
504 | ||
505 | pub const ST_NOSUID: ::c_ulong = 2; | |
506 | ||
507 | pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = 0 as *mut _; | |
508 | pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = 0 as *mut _; | |
509 | pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = 0 as *mut _; | |
3157f602 XL |
510 | |
511 | pub const PTHREAD_MUTEX_ERRORCHECK: ::c_int = 1; | |
9cc50fc6 | 512 | pub const PTHREAD_MUTEX_RECURSIVE: ::c_int = 2; |
3157f602 XL |
513 | pub const PTHREAD_MUTEX_NORMAL: ::c_int = 3; |
514 | pub const PTHREAD_MUTEX_STRICT_NP: ::c_int = 4; | |
515 | pub const PTHREAD_MUTEX_DEFAULT: ::c_int = PTHREAD_MUTEX_STRICT_NP; | |
9cc50fc6 | 516 | |
9e0c209e SL |
517 | pub const EVFILT_AIO: ::int16_t = -3; |
518 | pub const EVFILT_PROC: ::int16_t = -5; | |
519 | pub const EVFILT_READ: ::int16_t = -1; | |
520 | pub const EVFILT_SIGNAL: ::int16_t = -6; | |
521 | pub const EVFILT_TIMER: ::int16_t = -7; | |
522 | pub const EVFILT_VNODE: ::int16_t = -4; | |
523 | pub const EVFILT_WRITE: ::int16_t = -2; | |
524 | ||
525 | pub const EV_ADD: ::uint16_t = 0x1; | |
526 | pub const EV_DELETE: ::uint16_t = 0x2; | |
527 | pub const EV_ENABLE: ::uint16_t = 0x4; | |
528 | pub const EV_DISABLE: ::uint16_t = 0x8; | |
529 | pub const EV_ONESHOT: ::uint16_t = 0x10; | |
530 | pub const EV_CLEAR: ::uint16_t = 0x20; | |
3b2f2976 XL |
531 | pub const EV_RECEIPT: ::uint16_t = 0x40; |
532 | pub const EV_DISPATCH: ::uint16_t = 0x80; | |
9e0c209e SL |
533 | pub const EV_FLAG1: ::uint16_t = 0x2000; |
534 | pub const EV_ERROR: ::uint16_t = 0x4000; | |
535 | pub const EV_EOF: ::uint16_t = 0x8000; | |
536 | pub const EV_SYSFLAGS: ::uint16_t = 0xf000; | |
537 | ||
538 | pub const NOTE_LOWAT: ::uint32_t = 0x00000001; | |
539 | pub const NOTE_EOF: ::uint32_t = 0x00000002; | |
540 | pub const NOTE_DELETE: ::uint32_t = 0x00000001; | |
541 | pub const NOTE_WRITE: ::uint32_t = 0x00000002; | |
542 | pub const NOTE_EXTEND: ::uint32_t = 0x00000004; | |
543 | pub const NOTE_ATTRIB: ::uint32_t = 0x00000008; | |
544 | pub const NOTE_LINK: ::uint32_t = 0x00000010; | |
545 | pub const NOTE_RENAME: ::uint32_t = 0x00000020; | |
546 | pub const NOTE_REVOKE: ::uint32_t = 0x00000040; | |
547 | pub const NOTE_TRUNCATE: ::uint32_t = 0x00000080; | |
548 | pub const NOTE_EXIT: ::uint32_t = 0x80000000; | |
549 | pub const NOTE_FORK: ::uint32_t = 0x40000000; | |
550 | pub const NOTE_EXEC: ::uint32_t = 0x20000000; | |
551 | pub const NOTE_PDATAMASK: ::uint32_t = 0x000fffff; | |
552 | pub const NOTE_PCTRLMASK: ::uint32_t = 0xf0000000; | |
553 | pub const NOTE_TRACK: ::uint32_t = 0x00000001; | |
554 | pub const NOTE_TRACKERR: ::uint32_t = 0x00000002; | |
555 | pub const NOTE_CHILD: ::uint32_t = 0x00000004; | |
556 | ||
9cc50fc6 SL |
557 | pub const TMP_MAX : ::c_uint = 0x7fffffff; |
558 | ||
559 | pub const NI_MAXHOST: ::size_t = 256; | |
560 | ||
7453a54e | 561 | pub const RTLD_LOCAL: ::c_int = 0; |
a7813a04 XL |
562 | pub const CTL_MAXNAME: ::c_int = 12; |
563 | pub const CTLTYPE_NODE: ::c_int = 1; | |
564 | pub const CTLTYPE_INT: ::c_int = 2; | |
565 | pub const CTLTYPE_STRING: ::c_int = 3; | |
566 | pub const CTLTYPE_QUAD: ::c_int = 4; | |
567 | pub const CTLTYPE_STRUCT: ::c_int = 5; | |
568 | pub const CTL_UNSPEC: ::c_int = 0; | |
569 | pub const CTL_KERN: ::c_int = 1; | |
570 | pub const CTL_VM: ::c_int = 2; | |
571 | pub const CTL_FS: ::c_int = 3; | |
572 | pub const CTL_NET: ::c_int = 4; | |
573 | pub const CTL_DEBUG: ::c_int = 5; | |
574 | pub const CTL_HW: ::c_int = 6; | |
575 | pub const CTL_MACHDEP: ::c_int = 7; | |
576 | pub const CTL_DDB: ::c_int = 9; | |
577 | pub const CTL_VFS: ::c_int = 10; | |
578 | pub const CTL_MAXID: ::c_int = 11; | |
579 | pub const KERN_OSTYPE: ::c_int = 1; | |
580 | pub const KERN_OSRELEASE: ::c_int = 2; | |
581 | pub const KERN_OSREV: ::c_int = 3; | |
582 | pub const KERN_VERSION: ::c_int = 4; | |
583 | pub const KERN_MAXVNODES: ::c_int = 5; | |
584 | pub const KERN_MAXPROC: ::c_int = 6; | |
585 | pub const KERN_MAXFILES: ::c_int = 7; | |
586 | pub const KERN_ARGMAX: ::c_int = 8; | |
587 | pub const KERN_SECURELVL: ::c_int = 9; | |
588 | pub const KERN_HOSTNAME: ::c_int = 10; | |
589 | pub const KERN_HOSTID: ::c_int = 11; | |
590 | pub const KERN_CLOCKRATE: ::c_int = 12; | |
591 | pub const KERN_PROF: ::c_int = 16; | |
592 | pub const KERN_POSIX1: ::c_int = 17; | |
593 | pub const KERN_NGROUPS: ::c_int = 18; | |
594 | pub const KERN_JOB_CONTROL: ::c_int = 19; | |
595 | pub const KERN_SAVED_IDS: ::c_int = 20; | |
596 | pub const KERN_BOOTTIME: ::c_int = 21; | |
597 | pub const KERN_DOMAINNAME: ::c_int = 22; | |
598 | pub const KERN_MAXPARTITIONS: ::c_int = 23; | |
599 | pub const KERN_RAWPARTITION: ::c_int = 24; | |
600 | pub const KERN_MAXTHREAD: ::c_int = 25; | |
601 | pub const KERN_NTHREADS: ::c_int = 26; | |
602 | pub const KERN_OSVERSION: ::c_int = 27; | |
603 | pub const KERN_SOMAXCONN: ::c_int = 28; | |
604 | pub const KERN_SOMINCONN: ::c_int = 29; | |
605 | pub const KERN_USERMOUNT: ::c_int = 30; | |
a7813a04 XL |
606 | pub const KERN_NOSUIDCOREDUMP: ::c_int = 32; |
607 | pub const KERN_FSYNC: ::c_int = 33; | |
608 | pub const KERN_SYSVMSG: ::c_int = 34; | |
609 | pub const KERN_SYSVSEM: ::c_int = 35; | |
610 | pub const KERN_SYSVSHM: ::c_int = 36; | |
611 | pub const KERN_ARND: ::c_int = 37; | |
612 | pub const KERN_MSGBUFSIZE: ::c_int = 38; | |
613 | pub const KERN_MALLOCSTATS: ::c_int = 39; | |
614 | pub const KERN_CPTIME: ::c_int = 40; | |
615 | pub const KERN_NCHSTATS: ::c_int = 41; | |
616 | pub const KERN_FORKSTAT: ::c_int = 42; | |
617 | pub const KERN_NSELCOLL: ::c_int = 43; | |
618 | pub const KERN_TTY: ::c_int = 44; | |
619 | pub const KERN_CCPU: ::c_int = 45; | |
620 | pub const KERN_FSCALE: ::c_int = 46; | |
621 | pub const KERN_NPROCS: ::c_int = 47; | |
622 | pub const KERN_MSGBUF: ::c_int = 48; | |
623 | pub const KERN_POOL: ::c_int = 49; | |
624 | pub const KERN_STACKGAPRANDOM: ::c_int = 50; | |
625 | pub const KERN_SYSVIPC_INFO: ::c_int = 51; | |
626 | pub const KERN_SPLASSERT: ::c_int = 54; | |
627 | pub const KERN_PROC_ARGS: ::c_int = 55; | |
628 | pub const KERN_NFILES: ::c_int = 56; | |
629 | pub const KERN_TTYCOUNT: ::c_int = 57; | |
630 | pub const KERN_NUMVNODES: ::c_int = 58; | |
631 | pub const KERN_MBSTAT: ::c_int = 59; | |
632 | pub const KERN_SEMINFO: ::c_int = 61; | |
633 | pub const KERN_SHMINFO: ::c_int = 62; | |
634 | pub const KERN_INTRCNT: ::c_int = 63; | |
635 | pub const KERN_WATCHDOG: ::c_int = 64; | |
636 | pub const KERN_PROC: ::c_int = 66; | |
637 | pub const KERN_MAXCLUSTERS: ::c_int = 67; | |
638 | pub const KERN_EVCOUNT: ::c_int = 68; | |
639 | pub const KERN_TIMECOUNTER: ::c_int = 69; | |
640 | pub const KERN_MAXLOCKSPERUID: ::c_int = 70; | |
641 | pub const KERN_CPTIME2: ::c_int = 71; | |
642 | pub const KERN_CACHEPCT: ::c_int = 72; | |
643 | pub const KERN_FILE: ::c_int = 73; | |
644 | pub const KERN_CONSDEV: ::c_int = 75; | |
645 | pub const KERN_NETLIVELOCKS: ::c_int = 76; | |
646 | pub const KERN_POOL_DEBUG: ::c_int = 77; | |
647 | pub const KERN_PROC_CWD: ::c_int = 78; | |
648 | pub const KERN_PROC_NOBROADCASTKILL: ::c_int = 79; | |
649 | pub const KERN_PROC_VMMAP: ::c_int = 80; | |
650 | pub const KERN_GLOBAL_PTRACE: ::c_int = 81; | |
651 | pub const KERN_CONSBUFSIZE: ::c_int = 82; | |
652 | pub const KERN_CONSBUF: ::c_int = 83; | |
653 | pub const KERN_MAXID: ::c_int = 84; | |
654 | pub const KERN_PROC_ALL: ::c_int = 0; | |
655 | pub const KERN_PROC_PID: ::c_int = 1; | |
656 | pub const KERN_PROC_PGRP: ::c_int = 2; | |
657 | pub const KERN_PROC_SESSION: ::c_int = 3; | |
658 | pub const KERN_PROC_TTY: ::c_int = 4; | |
659 | pub const KERN_PROC_UID: ::c_int = 5; | |
660 | pub const KERN_PROC_RUID: ::c_int = 6; | |
661 | pub const KERN_PROC_KTHREAD: ::c_int = 7; | |
662 | pub const KERN_PROC_SHOW_THREADS: ::c_int = 0x40000000; | |
663 | pub const KERN_SYSVIPC_MSG_INFO: ::c_int = 1; | |
664 | pub const KERN_SYSVIPC_SEM_INFO: ::c_int = 2; | |
665 | pub const KERN_SYSVIPC_SHM_INFO: ::c_int = 3; | |
666 | pub const KERN_PROC_ARGV: ::c_int = 1; | |
667 | pub const KERN_PROC_NARGV: ::c_int = 2; | |
668 | pub const KERN_PROC_ENV: ::c_int = 3; | |
669 | pub const KERN_PROC_NENV: ::c_int = 4; | |
670 | pub const KI_NGROUPS: ::c_int = 16; | |
671 | pub const KI_MAXCOMLEN: ::c_int = 24; | |
672 | pub const KI_WMESGLEN: ::c_int = 8; | |
673 | pub const KI_MAXLOGNAME: ::c_int = 32; | |
674 | pub const KI_EMULNAMELEN: ::c_int = 8; | |
7453a54e | 675 | |
3b2f2976 XL |
676 | pub const CHWFLOW: ::tcflag_t = ::MDMBUF | ::CRTSCTS; |
677 | pub const OLCUC: ::tcflag_t = 0x20; | |
678 | pub const ONOCR: ::tcflag_t = 0x40; | |
679 | pub const ONLRET: ::tcflag_t = 0x80; | |
680 | ||
681 | pub const SOCK_CLOEXEC: ::c_int = 0x8000; | |
682 | pub const SOCK_NONBLOCK: ::c_int = 0x4000; | |
683 | pub const SOCK_DNS: ::c_int = 0x1000; | |
684 | ||
abe05a73 XL |
685 | pub const WCONTINUED: ::c_int = 8; |
686 | ||
3b2f2976 XL |
687 | f! { |
688 | pub fn WIFCONTINUED(status: ::c_int) -> bool { | |
689 | status & 0o177777 == 0o177777 | |
690 | } | |
691 | } | |
692 | ||
92a42be0 | 693 | extern { |
041b39d2 | 694 | pub fn dirfd(dirp: *mut ::DIR) -> ::c_int; |
9cc50fc6 SL |
695 | pub fn getnameinfo(sa: *const ::sockaddr, |
696 | salen: ::socklen_t, | |
697 | host: *mut ::c_char, | |
698 | hostlen: ::size_t, | |
699 | serv: *mut ::c_char, | |
700 | servlen: ::size_t, | |
701 | flags: ::c_int) -> ::c_int; | |
9e0c209e SL |
702 | pub fn kevent(kq: ::c_int, |
703 | changelist: *const ::kevent, | |
704 | nchanges: ::c_int, | |
705 | eventlist: *mut ::kevent, | |
706 | nevents: ::c_int, | |
707 | timeout: *const ::timespec) -> ::c_int; | |
9cc50fc6 SL |
708 | pub fn mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int) |
709 | -> ::c_int; | |
54a0048b SL |
710 | pub fn pthread_main_np() -> ::c_int; |
711 | pub fn pthread_set_name_np(tid: ::pthread_t, name: *const ::c_char); | |
712 | pub fn pthread_stackseg_np(thread: ::pthread_t, | |
713 | sinfo: *mut ::stack_t) -> ::c_int; | |
9cc50fc6 SL |
714 | pub fn sysctl(name: *const ::c_int, |
715 | namelen: ::c_uint, | |
716 | oldp: *mut ::c_void, | |
717 | oldlenp: *mut ::size_t, | |
718 | newp: *mut ::c_void, | |
719 | newlen: ::size_t) | |
720 | -> ::c_int; | |
721 | pub fn getentropy(buf: *mut ::c_void, buflen: ::size_t) -> ::c_int; | |
3b2f2976 XL |
722 | pub fn setresgid(rgid: ::gid_t, egid: ::gid_t, sgid: ::gid_t) -> ::c_int; |
723 | pub fn setresuid(ruid: ::uid_t, euid: ::uid_t, suid: ::uid_t) -> ::c_int; | |
9cc50fc6 | 724 | } |
9e0c209e SL |
725 | |
726 | cfg_if! { | |
727 | if #[cfg(target_os = "openbsd")] { | |
728 | mod openbsd; | |
729 | pub use self::openbsd::*; | |
730 | } else if #[cfg(target_os = "bitrig")] { | |
731 | mod bitrig; | |
732 | pub use self::bitrig::*; | |
733 | } else { | |
734 | // Unknown target_os | |
735 | } | |
736 | } |