]>
git.proxmox.com Git - rustc.git/blob - vendor/libc/src/unix/bsd/netbsdlike/mod.rs
1 pub type wchar_t
= i32;
4 pub type nlink_t
= u32;
6 pub type pthread_key_t
= ::c_int
;
8 pub type speed_t
= ::c_uint
;
9 pub type tcflag_t
= ::c_uint
;
10 pub type nl_item
= c_long
;
11 pub type clockid_t
= ::c_int
;
13 pub type sem_t
= *mut sem
;
14 pub type key_t
= c_long
;
16 #[cfg_attr(feature = "extra_traits", derive(Debug))]
18 impl ::Copy
for timezone {}
19 impl ::Clone
for timezone
{
20 fn clone(&self) -> timezone
{
24 #[cfg_attr(feature = "extra_traits", derive(Debug))]
26 impl ::Copy
for sem {}
27 impl ::Clone
for sem
{
28 fn clone(&self) -> sem
{
34 pub struct sigaction
{
35 pub sa_sigaction
: ::sighandler_t
,
36 pub sa_mask
: ::sigset_t
,
37 pub sa_flags
: ::c_int
,
41 pub ss_sp
: *mut ::c_void
,
42 pub ss_size
: ::size_t
,
43 pub ss_flags
: ::c_int
,
46 pub struct in6_pktinfo
{
47 pub ipi6_addr
: ::in6_addr
,
48 pub ipi6_ifindex
: ::c_uint
,
52 pub c_iflag
: ::tcflag_t
,
53 pub c_oflag
: ::tcflag_t
,
54 pub c_cflag
: ::tcflag_t
,
55 pub c_lflag
: ::tcflag_t
,
56 pub c_cc
: [::cc_t
; ::NCCS
],
57 pub c_ispeed
: ::c_int
,
58 pub c_ospeed
: ::c_int
,
65 pub l_type
: ::c_short
,
66 pub l_whence
: ::c_short
,
75 #[cfg(target_os = "openbsd")]
77 #[cfg(target_os = "netbsd")]
79 #[cfg(target_os = "openbsd")]
81 #[cfg(target_os = "netbsd")]
85 pub struct ptrace_io_desc
{
87 pub piod_offs
: *mut ::c_void
,
88 pub piod_addr
: *mut ::c_void
,
89 pub piod_len
: ::size_t
,
93 pub const D_T_FMT
: ::nl_item
= 0;
94 pub const D_FMT
: ::nl_item
= 1;
95 pub const T_FMT
: ::nl_item
= 2;
96 pub const T_FMT_AMPM
: ::nl_item
= 3;
97 pub const AM_STR
: ::nl_item
= 4;
98 pub const PM_STR
: ::nl_item
= 5;
100 pub const DAY_1
: ::nl_item
= 6;
101 pub const DAY_2
: ::nl_item
= 7;
102 pub const DAY_3
: ::nl_item
= 8;
103 pub const DAY_4
: ::nl_item
= 9;
104 pub const DAY_5
: ::nl_item
= 10;
105 pub const DAY_6
: ::nl_item
= 11;
106 pub const DAY_7
: ::nl_item
= 12;
108 pub const ABDAY_1
: ::nl_item
= 13;
109 pub const ABDAY_2
: ::nl_item
= 14;
110 pub const ABDAY_3
: ::nl_item
= 15;
111 pub const ABDAY_4
: ::nl_item
= 16;
112 pub const ABDAY_5
: ::nl_item
= 17;
113 pub const ABDAY_6
: ::nl_item
= 18;
114 pub const ABDAY_7
: ::nl_item
= 19;
116 pub const MON_1
: ::nl_item
= 20;
117 pub const MON_2
: ::nl_item
= 21;
118 pub const MON_3
: ::nl_item
= 22;
119 pub const MON_4
: ::nl_item
= 23;
120 pub const MON_5
: ::nl_item
= 24;
121 pub const MON_6
: ::nl_item
= 25;
122 pub const MON_7
: ::nl_item
= 26;
123 pub const MON_8
: ::nl_item
= 27;
124 pub const MON_9
: ::nl_item
= 28;
125 pub const MON_10
: ::nl_item
= 29;
126 pub const MON_11
: ::nl_item
= 30;
127 pub const MON_12
: ::nl_item
= 31;
129 pub const ABMON_1
: ::nl_item
= 32;
130 pub const ABMON_2
: ::nl_item
= 33;
131 pub const ABMON_3
: ::nl_item
= 34;
132 pub const ABMON_4
: ::nl_item
= 35;
133 pub const ABMON_5
: ::nl_item
= 36;
134 pub const ABMON_6
: ::nl_item
= 37;
135 pub const ABMON_7
: ::nl_item
= 38;
136 pub const ABMON_8
: ::nl_item
= 39;
137 pub const ABMON_9
: ::nl_item
= 40;
138 pub const ABMON_10
: ::nl_item
= 41;
139 pub const ABMON_11
: ::nl_item
= 42;
140 pub const ABMON_12
: ::nl_item
= 43;
142 pub const RADIXCHAR
: ::nl_item
= 44;
143 pub const THOUSEP
: ::nl_item
= 45;
144 pub const YESSTR
: ::nl_item
= 46;
145 pub const YESEXPR
: ::nl_item
= 47;
146 pub const NOSTR
: ::nl_item
= 48;
147 pub const NOEXPR
: ::nl_item
= 49;
148 pub const CRNCYSTR
: ::nl_item
= 50;
150 pub const CODESET
: ::nl_item
= 51;
152 pub const EXIT_FAILURE
: ::c_int
= 1;
153 pub const EXIT_SUCCESS
: ::c_int
= 0;
154 pub const RAND_MAX
: ::c_int
= 2147483647;
155 pub const EOF
: ::c_int
= -1;
156 pub const SEEK_SET
: ::c_int
= 0;
157 pub const SEEK_CUR
: ::c_int
= 1;
158 pub const SEEK_END
: ::c_int
= 2;
159 pub const _IOFBF
: ::c_int
= 0;
160 pub const _IONBF
: ::c_int
= 2;
161 pub const _IOLBF
: ::c_int
= 1;
162 pub const BUFSIZ
: ::c_uint
= 1024;
163 pub const FOPEN_MAX
: ::c_uint
= 20;
164 pub const FILENAME_MAX
: ::c_uint
= 1024;
165 pub const L_tmpnam
: ::c_uint
= 1024;
166 pub const O_NOCTTY
: ::c_int
= 32768;
167 pub const S_IFIFO
: mode_t
= 4096;
168 pub const S_IFCHR
: mode_t
= 8192;
169 pub const S_IFBLK
: mode_t
= 24576;
170 pub const S_IFDIR
: mode_t
= 16384;
171 pub const S_IFREG
: mode_t
= 32768;
172 pub const S_IFLNK
: mode_t
= 40960;
173 pub const S_IFSOCK
: mode_t
= 49152;
174 pub const S_IFMT
: mode_t
= 61440;
175 pub const S_IEXEC
: mode_t
= 64;
176 pub const S_IWRITE
: mode_t
= 128;
177 pub const S_IREAD
: mode_t
= 256;
178 pub const S_IRWXU
: mode_t
= 448;
179 pub const S_IXUSR
: mode_t
= 64;
180 pub const S_IWUSR
: mode_t
= 128;
181 pub const S_IRUSR
: mode_t
= 256;
182 pub const S_IRWXG
: mode_t
= 56;
183 pub const S_IXGRP
: mode_t
= 8;
184 pub const S_IWGRP
: mode_t
= 16;
185 pub const S_IRGRP
: mode_t
= 32;
186 pub const S_IRWXO
: mode_t
= 7;
187 pub const S_IXOTH
: mode_t
= 1;
188 pub const S_IWOTH
: mode_t
= 2;
189 pub const S_IROTH
: mode_t
= 4;
190 pub const F_OK
: ::c_int
= 0;
191 pub const R_OK
: ::c_int
= 4;
192 pub const W_OK
: ::c_int
= 2;
193 pub const X_OK
: ::c_int
= 1;
194 pub const STDIN_FILENO
: ::c_int
= 0;
195 pub const STDOUT_FILENO
: ::c_int
= 1;
196 pub const STDERR_FILENO
: ::c_int
= 2;
197 pub const F_LOCK
: ::c_int
= 1;
198 pub const F_TEST
: ::c_int
= 3;
199 pub const F_TLOCK
: ::c_int
= 2;
200 pub const F_ULOCK
: ::c_int
= 0;
201 pub const F_GETLK
: ::c_int
= 7;
202 pub const F_SETLK
: ::c_int
= 8;
203 pub const F_SETLKW
: ::c_int
= 9;
204 pub const SIGHUP
: ::c_int
= 1;
205 pub const SIGINT
: ::c_int
= 2;
206 pub const SIGQUIT
: ::c_int
= 3;
207 pub const SIGILL
: ::c_int
= 4;
208 pub const SIGABRT
: ::c_int
= 6;
209 pub const SIGEMT
: ::c_int
= 7;
210 pub const SIGFPE
: ::c_int
= 8;
211 pub const SIGKILL
: ::c_int
= 9;
212 pub const SIGSEGV
: ::c_int
= 11;
213 pub const SIGPIPE
: ::c_int
= 13;
214 pub const SIGALRM
: ::c_int
= 14;
215 pub const SIGTERM
: ::c_int
= 15;
217 pub const PROT_NONE
: ::c_int
= 0;
218 pub const PROT_READ
: ::c_int
= 1;
219 pub const PROT_WRITE
: ::c_int
= 2;
220 pub const PROT_EXEC
: ::c_int
= 4;
222 pub const MAP_FILE
: ::c_int
= 0x0000;
223 pub const MAP_SHARED
: ::c_int
= 0x0001;
224 pub const MAP_PRIVATE
: ::c_int
= 0x0002;
225 pub const MAP_FIXED
: ::c_int
= 0x0010;
226 pub const MAP_ANON
: ::c_int
= 0x1000;
227 pub const MAP_ANONYMOUS
: ::c_int
= MAP_ANON
;
229 pub const MAP_FAILED
: *mut ::c_void
= !0 as *mut ::c_void
;
231 pub const IPC_CREAT
: ::c_int
= 0o001000;
232 pub const IPC_EXCL
: ::c_int
= 0o002000;
233 pub const IPC_NOWAIT
: ::c_int
= 0o004000;
235 pub const IPC_PRIVATE
: ::key_t
= 0;
237 pub const IPC_RMID
: ::c_int
= 0;
238 pub const IPC_SET
: ::c_int
= 1;
239 pub const IPC_STAT
: ::c_int
= 2;
241 pub const MCL_CURRENT
: ::c_int
= 0x0001;
242 pub const MCL_FUTURE
: ::c_int
= 0x0002;
244 pub const MS_ASYNC
: ::c_int
= 0x0001;
246 pub const EPERM
: ::c_int
= 1;
247 pub const ENOENT
: ::c_int
= 2;
248 pub const ESRCH
: ::c_int
= 3;
249 pub const EINTR
: ::c_int
= 4;
250 pub const EIO
: ::c_int
= 5;
251 pub const ENXIO
: ::c_int
= 6;
252 pub const E2BIG
: ::c_int
= 7;
253 pub const ENOEXEC
: ::c_int
= 8;
254 pub const EBADF
: ::c_int
= 9;
255 pub const ECHILD
: ::c_int
= 10;
256 pub const EDEADLK
: ::c_int
= 11;
257 pub const ENOMEM
: ::c_int
= 12;
258 pub const EACCES
: ::c_int
= 13;
259 pub const EFAULT
: ::c_int
= 14;
260 pub const ENOTBLK
: ::c_int
= 15;
261 pub const EBUSY
: ::c_int
= 16;
262 pub const EEXIST
: ::c_int
= 17;
263 pub const EXDEV
: ::c_int
= 18;
264 pub const ENODEV
: ::c_int
= 19;
265 pub const ENOTDIR
: ::c_int
= 20;
266 pub const EISDIR
: ::c_int
= 21;
267 pub const EINVAL
: ::c_int
= 22;
268 pub const ENFILE
: ::c_int
= 23;
269 pub const EMFILE
: ::c_int
= 24;
270 pub const ENOTTY
: ::c_int
= 25;
271 pub const ETXTBSY
: ::c_int
= 26;
272 pub const EFBIG
: ::c_int
= 27;
273 pub const ENOSPC
: ::c_int
= 28;
274 pub const ESPIPE
: ::c_int
= 29;
275 pub const EROFS
: ::c_int
= 30;
276 pub const EMLINK
: ::c_int
= 31;
277 pub const EPIPE
: ::c_int
= 32;
278 pub const EDOM
: ::c_int
= 33;
279 pub const ERANGE
: ::c_int
= 34;
280 pub const EAGAIN
: ::c_int
= 35;
281 pub const EWOULDBLOCK
: ::c_int
= 35;
282 pub const EINPROGRESS
: ::c_int
= 36;
283 pub const EALREADY
: ::c_int
= 37;
284 pub const ENOTSOCK
: ::c_int
= 38;
285 pub const EDESTADDRREQ
: ::c_int
= 39;
286 pub const EMSGSIZE
: ::c_int
= 40;
287 pub const EPROTOTYPE
: ::c_int
= 41;
288 pub const ENOPROTOOPT
: ::c_int
= 42;
289 pub const EPROTONOSUPPORT
: ::c_int
= 43;
290 pub const ESOCKTNOSUPPORT
: ::c_int
= 44;
291 pub const EOPNOTSUPP
: ::c_int
= 45;
292 pub const EPFNOSUPPORT
: ::c_int
= 46;
293 pub const EAFNOSUPPORT
: ::c_int
= 47;
294 pub const EADDRINUSE
: ::c_int
= 48;
295 pub const EADDRNOTAVAIL
: ::c_int
= 49;
296 pub const ENETDOWN
: ::c_int
= 50;
297 pub const ENETUNREACH
: ::c_int
= 51;
298 pub const ENETRESET
: ::c_int
= 52;
299 pub const ECONNABORTED
: ::c_int
= 53;
300 pub const ECONNRESET
: ::c_int
= 54;
301 pub const ENOBUFS
: ::c_int
= 55;
302 pub const EISCONN
: ::c_int
= 56;
303 pub const ENOTCONN
: ::c_int
= 57;
304 pub const ESHUTDOWN
: ::c_int
= 58;
305 pub const ETOOMANYREFS
: ::c_int
= 59;
306 pub const ETIMEDOUT
: ::c_int
= 60;
307 pub const ECONNREFUSED
: ::c_int
= 61;
308 pub const ELOOP
: ::c_int
= 62;
309 pub const ENAMETOOLONG
: ::c_int
= 63;
310 pub const EHOSTDOWN
: ::c_int
= 64;
311 pub const EHOSTUNREACH
: ::c_int
= 65;
312 pub const ENOTEMPTY
: ::c_int
= 66;
313 pub const EPROCLIM
: ::c_int
= 67;
314 pub const EUSERS
: ::c_int
= 68;
315 pub const EDQUOT
: ::c_int
= 69;
316 pub const ESTALE
: ::c_int
= 70;
317 pub const EREMOTE
: ::c_int
= 71;
318 pub const EBADRPC
: ::c_int
= 72;
319 pub const ERPCMISMATCH
: ::c_int
= 73;
320 pub const EPROGUNAVAIL
: ::c_int
= 74;
321 pub const EPROGMISMATCH
: ::c_int
= 75;
322 pub const EPROCUNAVAIL
: ::c_int
= 76;
323 pub const ENOLCK
: ::c_int
= 77;
324 pub const ENOSYS
: ::c_int
= 78;
325 pub const EFTYPE
: ::c_int
= 79;
326 pub const EAUTH
: ::c_int
= 80;
327 pub const ENEEDAUTH
: ::c_int
= 81;
329 pub const F_DUPFD
: ::c_int
= 0;
330 pub const F_GETFD
: ::c_int
= 1;
331 pub const F_SETFD
: ::c_int
= 2;
332 pub const F_GETFL
: ::c_int
= 3;
333 pub const F_SETFL
: ::c_int
= 4;
335 pub const SIGTRAP
: ::c_int
= 5;
337 pub const GLOB_APPEND
: ::c_int
= 0x0001;
338 pub const GLOB_DOOFFS
: ::c_int
= 0x0002;
339 pub const GLOB_ERR
: ::c_int
= 0x0004;
340 pub const GLOB_MARK
: ::c_int
= 0x0008;
341 pub const GLOB_NOCHECK
: ::c_int
= 0x0010;
342 pub const GLOB_NOSORT
: ::c_int
= 0x0020;
343 pub const GLOB_NOESCAPE
: ::c_int
= 0x1000;
345 pub const GLOB_NOSPACE
: ::c_int
= -1;
346 pub const GLOB_ABORTED
: ::c_int
= -2;
347 pub const GLOB_NOMATCH
: ::c_int
= -3;
348 pub const GLOB_NOSYS
: ::c_int
= -4;
350 pub const POSIX_MADV_NORMAL
: ::c_int
= 0;
351 pub const POSIX_MADV_RANDOM
: ::c_int
= 1;
352 pub const POSIX_MADV_SEQUENTIAL
: ::c_int
= 2;
353 pub const POSIX_MADV_WILLNEED
: ::c_int
= 3;
354 pub const POSIX_MADV_DONTNEED
: ::c_int
= 4;
356 pub const PTHREAD_CREATE_JOINABLE
: ::c_int
= 0;
357 pub const PTHREAD_CREATE_DETACHED
: ::c_int
= 1;
359 pub const PIOD_READ_D
: ::c_int
= 1;
360 pub const PIOD_WRITE_D
: ::c_int
= 2;
361 pub const PIOD_READ_I
: ::c_int
= 3;
362 pub const PIOD_WRITE_I
: ::c_int
= 4;
363 pub const PIOD_READ_AUXV
: ::c_int
= 5;
365 pub const PT_TRACE_ME
: ::c_int
= 0;
366 pub const PT_READ_I
: ::c_int
= 1;
367 pub const PT_READ_D
: ::c_int
= 2;
368 pub const PT_WRITE_I
: ::c_int
= 4;
369 pub const PT_WRITE_D
: ::c_int
= 5;
370 pub const PT_CONTINUE
: ::c_int
= 7;
371 pub const PT_KILL
: ::c_int
= 8;
372 pub const PT_ATTACH
: ::c_int
= 9;
373 pub const PT_DETACH
: ::c_int
= 10;
374 pub const PT_IO
: ::c_int
= 11;
376 // http://man.openbsd.org/OpenBSD-current/man2/clock_getres.2
377 // The man page says clock_gettime(3) can accept various values as clockid_t but
378 // http://fxr.watson.org/fxr/source/kern/kern_time.c?v=OPENBSD;im=excerpts#L161
379 // the implementation rejects anything other than the below two
381 // http://netbsd.gw.com/cgi-bin/man-cgi?clock_gettime
382 // https://github.com/jsonn/src/blob/HEAD/sys/kern/subr_time.c#L222
383 // Basically the same goes for NetBSD
384 pub const CLOCK_REALTIME
: ::clockid_t
= 0;
385 pub const CLOCK_MONOTONIC
: ::clockid_t
= 3;
387 pub const RLIMIT_CPU
: ::c_int
= 0;
388 pub const RLIMIT_FSIZE
: ::c_int
= 1;
389 pub const RLIMIT_DATA
: ::c_int
= 2;
390 pub const RLIMIT_STACK
: ::c_int
= 3;
391 pub const RLIMIT_CORE
: ::c_int
= 4;
392 pub const RLIMIT_RSS
: ::c_int
= 5;
393 pub const RLIMIT_MEMLOCK
: ::c_int
= 6;
394 pub const RLIMIT_NPROC
: ::c_int
= 7;
395 pub const RLIMIT_NOFILE
: ::c_int
= 8;
397 pub const RLIM_INFINITY
: rlim_t
= 0x7fff_ffff_ffff_ffff;
398 pub const RLIM_SAVED_MAX
: rlim_t
= RLIM_INFINITY
;
399 pub const RLIM_SAVED_CUR
: rlim_t
= RLIM_INFINITY
;
401 pub const RUSAGE_SELF
: ::c_int
= 0;
402 pub const RUSAGE_CHILDREN
: ::c_int
= -1;
404 pub const MADV_NORMAL
: ::c_int
= 0;
405 pub const MADV_RANDOM
: ::c_int
= 1;
406 pub const MADV_SEQUENTIAL
: ::c_int
= 2;
407 pub const MADV_WILLNEED
: ::c_int
= 3;
408 pub const MADV_DONTNEED
: ::c_int
= 4;
409 pub const MADV_FREE
: ::c_int
= 6;
411 pub const AF_UNSPEC
: ::c_int
= 0;
412 pub const AF_LOCAL
: ::c_int
= 1;
413 pub const AF_UNIX
: ::c_int
= AF_LOCAL
;
414 pub const AF_INET
: ::c_int
= 2;
415 pub const AF_IMPLINK
: ::c_int
= 3;
416 pub const AF_PUP
: ::c_int
= 4;
417 pub const AF_CHAOS
: ::c_int
= 5;
418 pub const AF_NS
: ::c_int
= 6;
419 pub const AF_ISO
: ::c_int
= 7;
420 pub const AF_OSI
: ::c_int
= AF_ISO
;
421 pub const AF_DATAKIT
: ::c_int
= 9;
422 pub const AF_CCITT
: ::c_int
= 10;
423 pub const AF_SNA
: ::c_int
= 11;
424 pub const AF_DECnet
: ::c_int
= 12;
425 pub const AF_DLI
: ::c_int
= 13;
426 pub const AF_LAT
: ::c_int
= 14;
427 pub const AF_HYLINK
: ::c_int
= 15;
428 pub const AF_APPLETALK
: ::c_int
= 16;
429 pub const AF_LINK
: ::c_int
= 18;
430 pub const pseudo_AF_XTP
: ::c_int
= 19;
431 pub const AF_COIP
: ::c_int
= 20;
432 pub const AF_CNT
: ::c_int
= 21;
433 pub const pseudo_AF_RTIP
: ::c_int
= 22;
434 pub const AF_IPX
: ::c_int
= 23;
435 pub const AF_INET6
: ::c_int
= 24;
436 pub const pseudo_AF_PIP
: ::c_int
= 25;
437 pub const AF_ISDN
: ::c_int
= 26;
438 pub const AF_E164
: ::c_int
= AF_ISDN
;
439 pub const AF_NATM
: ::c_int
= 27;
441 pub const PF_UNSPEC
: ::c_int
= AF_UNSPEC
;
442 pub const PF_LOCAL
: ::c_int
= AF_LOCAL
;
443 pub const PF_UNIX
: ::c_int
= PF_LOCAL
;
444 pub const PF_INET
: ::c_int
= AF_INET
;
445 pub const PF_IMPLINK
: ::c_int
= AF_IMPLINK
;
446 pub const PF_PUP
: ::c_int
= AF_PUP
;
447 pub const PF_CHAOS
: ::c_int
= AF_CHAOS
;
448 pub const PF_NS
: ::c_int
= AF_NS
;
449 pub const PF_ISO
: ::c_int
= AF_ISO
;
450 pub const PF_OSI
: ::c_int
= AF_ISO
;
451 pub const PF_DATAKIT
: ::c_int
= AF_DATAKIT
;
452 pub const PF_CCITT
: ::c_int
= AF_CCITT
;
453 pub const PF_SNA
: ::c_int
= AF_SNA
;
454 pub const PF_DECnet
: ::c_int
= AF_DECnet
;
455 pub const PF_DLI
: ::c_int
= AF_DLI
;
456 pub const PF_LAT
: ::c_int
= AF_LAT
;
457 pub const PF_HYLINK
: ::c_int
= AF_HYLINK
;
458 pub const PF_APPLETALK
: ::c_int
= AF_APPLETALK
;
459 pub const PF_LINK
: ::c_int
= AF_LINK
;
460 pub const PF_XTP
: ::c_int
= pseudo_AF_XTP
;
461 pub const PF_COIP
: ::c_int
= AF_COIP
;
462 pub const PF_CNT
: ::c_int
= AF_CNT
;
463 pub const PF_IPX
: ::c_int
= AF_IPX
;
464 pub const PF_INET6
: ::c_int
= AF_INET6
;
465 pub const PF_RTIP
: ::c_int
= pseudo_AF_RTIP
;
466 pub const PF_PIP
: ::c_int
= pseudo_AF_PIP
;
467 pub const PF_ISDN
: ::c_int
= AF_ISDN
;
468 pub const PF_NATM
: ::c_int
= AF_NATM
;
470 pub const SOCK_STREAM
: ::c_int
= 1;
471 pub const SOCK_DGRAM
: ::c_int
= 2;
472 pub const SOCK_RAW
: ::c_int
= 3;
473 pub const SOCK_RDM
: ::c_int
= 4;
474 pub const SOCK_SEQPACKET
: ::c_int
= 5;
475 pub const IP_TTL
: ::c_int
= 4;
476 pub const IP_HDRINCL
: ::c_int
= 2;
477 pub const IP_ADD_MEMBERSHIP
: ::c_int
= 12;
478 pub const IP_DROP_MEMBERSHIP
: ::c_int
= 13;
479 pub const IPV6_RECVPKTINFO
: ::c_int
= 36;
480 pub const IPV6_PKTINFO
: ::c_int
= 46;
481 pub const IPV6_RECVTCLASS
: ::c_int
= 57;
482 pub const IPV6_TCLASS
: ::c_int
= 61;
484 pub const SOL_SOCKET
: ::c_int
= 0xffff;
485 pub const SO_DEBUG
: ::c_int
= 0x01;
486 pub const SO_ACCEPTCONN
: ::c_int
= 0x0002;
487 pub const SO_REUSEADDR
: ::c_int
= 0x0004;
488 pub const SO_KEEPALIVE
: ::c_int
= 0x0008;
489 pub const SO_DONTROUTE
: ::c_int
= 0x0010;
490 pub const SO_BROADCAST
: ::c_int
= 0x0020;
491 pub const SO_USELOOPBACK
: ::c_int
= 0x0040;
492 pub const SO_LINGER
: ::c_int
= 0x0080;
493 pub const SO_OOBINLINE
: ::c_int
= 0x0100;
494 pub const SO_REUSEPORT
: ::c_int
= 0x0200;
495 pub const SO_SNDBUF
: ::c_int
= 0x1001;
496 pub const SO_RCVBUF
: ::c_int
= 0x1002;
497 pub const SO_SNDLOWAT
: ::c_int
= 0x1003;
498 pub const SO_RCVLOWAT
: ::c_int
= 0x1004;
499 pub const SO_ERROR
: ::c_int
= 0x1007;
500 pub const SO_TYPE
: ::c_int
= 0x1008;
502 pub const SOMAXCONN
: ::c_int
= 128;
504 pub const MSG_OOB
: ::c_int
= 0x1;
505 pub const MSG_PEEK
: ::c_int
= 0x2;
506 pub const MSG_DONTROUTE
: ::c_int
= 0x4;
507 pub const MSG_EOR
: ::c_int
= 0x8;
508 pub const MSG_TRUNC
: ::c_int
= 0x10;
509 pub const MSG_CTRUNC
: ::c_int
= 0x20;
510 pub const MSG_WAITALL
: ::c_int
= 0x40;
511 pub const MSG_DONTWAIT
: ::c_int
= 0x80;
512 pub const MSG_BCAST
: ::c_int
= 0x100;
513 pub const MSG_MCAST
: ::c_int
= 0x200;
514 pub const MSG_NOSIGNAL
: ::c_int
= 0x400;
515 pub const MSG_CMSG_CLOEXEC
: ::c_int
= 0x800;
517 pub const SHUT_RD
: ::c_int
= 0;
518 pub const SHUT_WR
: ::c_int
= 1;
519 pub const SHUT_RDWR
: ::c_int
= 2;
521 pub const LOCK_SH
: ::c_int
= 1;
522 pub const LOCK_EX
: ::c_int
= 2;
523 pub const LOCK_NB
: ::c_int
= 4;
524 pub const LOCK_UN
: ::c_int
= 8;
526 pub const IPPROTO_RAW
: ::c_int
= 255;
528 pub const _SC_ARG_MAX
: ::c_int
= 1;
529 pub const _SC_CHILD_MAX
: ::c_int
= 2;
530 pub const _SC_NGROUPS_MAX
: ::c_int
= 4;
531 pub const _SC_OPEN_MAX
: ::c_int
= 5;
532 pub const _SC_JOB_CONTROL
: ::c_int
= 6;
533 pub const _SC_SAVED_IDS
: ::c_int
= 7;
534 pub const _SC_VERSION
: ::c_int
= 8;
535 pub const _SC_BC_BASE_MAX
: ::c_int
= 9;
536 pub const _SC_BC_DIM_MAX
: ::c_int
= 10;
537 pub const _SC_BC_SCALE_MAX
: ::c_int
= 11;
538 pub const _SC_BC_STRING_MAX
: ::c_int
= 12;
539 pub const _SC_COLL_WEIGHTS_MAX
: ::c_int
= 13;
540 pub const _SC_EXPR_NEST_MAX
: ::c_int
= 14;
541 pub const _SC_LINE_MAX
: ::c_int
= 15;
542 pub const _SC_RE_DUP_MAX
: ::c_int
= 16;
543 pub const _SC_2_VERSION
: ::c_int
= 17;
544 pub const _SC_2_C_BIND
: ::c_int
= 18;
545 pub const _SC_2_C_DEV
: ::c_int
= 19;
546 pub const _SC_2_CHAR_TERM
: ::c_int
= 20;
547 pub const _SC_2_FORT_DEV
: ::c_int
= 21;
548 pub const _SC_2_FORT_RUN
: ::c_int
= 22;
549 pub const _SC_2_LOCALEDEF
: ::c_int
= 23;
550 pub const _SC_2_SW_DEV
: ::c_int
= 24;
551 pub const _SC_2_UPE
: ::c_int
= 25;
552 pub const _SC_STREAM_MAX
: ::c_int
= 26;
553 pub const _SC_TZNAME_MAX
: ::c_int
= 27;
554 pub const _SC_PAGESIZE
: ::c_int
= 28;
555 pub const _SC_PAGE_SIZE
: ::c_int
= _SC_PAGESIZE
;
556 pub const _SC_FSYNC
: ::c_int
= 29;
557 pub const _SC_XOPEN_SHM
: ::c_int
= 30;
559 pub const Q_GETQUOTA
: ::c_int
= 0x300;
560 pub const Q_SETQUOTA
: ::c_int
= 0x400;
562 pub const RTLD_GLOBAL
: ::c_int
= 0x100;
564 pub const LOG_NFACILITIES
: ::c_int
= 24;
566 pub const HW_NCPU
: ::c_int
= 3;
568 pub const B0
: speed_t
= 0;
569 pub const B50
: speed_t
= 50;
570 pub const B75
: speed_t
= 75;
571 pub const B110
: speed_t
= 110;
572 pub const B134
: speed_t
= 134;
573 pub const B150
: speed_t
= 150;
574 pub const B200
: speed_t
= 200;
575 pub const B300
: speed_t
= 300;
576 pub const B600
: speed_t
= 600;
577 pub const B1200
: speed_t
= 1200;
578 pub const B1800
: speed_t
= 1800;
579 pub const B2400
: speed_t
= 2400;
580 pub const B4800
: speed_t
= 4800;
581 pub const B9600
: speed_t
= 9600;
582 pub const B19200
: speed_t
= 19200;
583 pub const B38400
: speed_t
= 38400;
584 pub const B7200
: speed_t
= 7200;
585 pub const B14400
: speed_t
= 14400;
586 pub const B28800
: speed_t
= 28800;
587 pub const B57600
: speed_t
= 57600;
588 pub const B76800
: speed_t
= 76800;
589 pub const B115200
: speed_t
= 115200;
590 pub const B230400
: speed_t
= 230400;
591 pub const EXTA
: speed_t
= 19200;
592 pub const EXTB
: speed_t
= 38400;
594 pub const SEM_FAILED
: *mut sem_t
= 0 as *mut sem_t
;
596 pub const CRTSCTS
: ::tcflag_t
= 0x00010000;
597 pub const CRTS_IFLOW
: ::tcflag_t
= CRTSCTS
;
598 pub const CCTS_OFLOW
: ::tcflag_t
= CRTSCTS
;
599 pub const OCRNL
: ::tcflag_t
= 0x10;
601 pub const TIOCEXCL
: ::c_ulong
= 0x2000740d;
602 pub const TIOCNXCL
: ::c_ulong
= 0x2000740e;
603 pub const TIOCFLUSH
: ::c_ulong
= 0x80047410;
604 pub const TIOCGETA
: ::c_ulong
= 0x402c7413;
605 pub const TIOCSETA
: ::c_ulong
= 0x802c7414;
606 pub const TIOCSETAW
: ::c_ulong
= 0x802c7415;
607 pub const TIOCSETAF
: ::c_ulong
= 0x802c7416;
608 pub const TIOCGETD
: ::c_ulong
= 0x4004741a;
609 pub const TIOCSETD
: ::c_ulong
= 0x8004741b;
610 pub const TIOCMGET
: ::c_ulong
= 0x4004746a;
611 pub const TIOCMBIC
: ::c_ulong
= 0x8004746b;
612 pub const TIOCMBIS
: ::c_ulong
= 0x8004746c;
613 pub const TIOCMSET
: ::c_ulong
= 0x8004746d;
614 pub const TIOCSTART
: ::c_ulong
= 0x2000746e;
615 pub const TIOCSTOP
: ::c_ulong
= 0x2000746f;
616 pub const TIOCSCTTY
: ::c_ulong
= 0x20007461;
617 pub const TIOCGWINSZ
: ::c_ulong
= 0x40087468;
618 pub const TIOCSWINSZ
: ::c_ulong
= 0x80087467;
619 pub const TIOCM_LE
: ::c_int
= 0o0001;
620 pub const TIOCM_DTR
: ::c_int
= 0o0002;
621 pub const TIOCM_RTS
: ::c_int
= 0o0004;
622 pub const TIOCM_ST
: ::c_int
= 0o0010;
623 pub const TIOCM_SR
: ::c_int
= 0o0020;
624 pub const TIOCM_CTS
: ::c_int
= 0o0040;
625 pub const TIOCM_CAR
: ::c_int
= 0o0100;
626 pub const TIOCM_RNG
: ::c_int
= 0o0200;
627 pub const TIOCM_DSR
: ::c_int
= 0o0400;
628 pub const TIOCM_CD
: ::c_int
= TIOCM_CAR
;
629 pub const TIOCM_RI
: ::c_int
= TIOCM_RNG
;
631 // Flags for chflags(2)
632 pub const UF_SETTABLE
: ::c_ulong
= 0x0000ffff;
633 pub const UF_NODUMP
: ::c_ulong
= 0x00000001;
634 pub const UF_IMMUTABLE
: ::c_ulong
= 0x00000002;
635 pub const UF_APPEND
: ::c_ulong
= 0x00000004;
636 pub const UF_OPAQUE
: ::c_ulong
= 0x00000008;
637 pub const SF_SETTABLE
: ::c_ulong
= 0xffff0000;
638 pub const SF_ARCHIVED
: ::c_ulong
= 0x00010000;
639 pub const SF_IMMUTABLE
: ::c_ulong
= 0x00020000;
640 pub const SF_APPEND
: ::c_ulong
= 0x00040000;
642 pub const TIMER_ABSTIME
: ::c_int
= 1;
644 #[link(name = "util")]
647 pub fn sem_destroy(sem
: *mut sem_t
) -> ::c_int
;
648 pub fn sem_init(sem
: *mut sem_t
, pshared
: ::c_int
, value
: ::c_uint
) -> ::c_int
;
650 pub fn daemon(nochdir
: ::c_int
, noclose
: ::c_int
) -> ::c_int
;
653 addr
: *mut ::sockaddr
,
654 addrlen
: *mut ::socklen_t
,
657 pub fn mincore(addr
: *mut ::c_void
, len
: ::size_t
, vec
: *mut ::c_char
) -> ::c_int
;
658 #[cfg_attr(target_os = "netbsd", link_name = "__clock_getres50")]
659 pub fn clock_getres(clk_id
: ::clockid_t
, tp
: *mut ::timespec
) -> ::c_int
;
660 #[cfg_attr(target_os = "netbsd", link_name = "__clock_gettime50")]
661 pub fn clock_gettime(clk_id
: ::clockid_t
, tp
: *mut ::timespec
) -> ::c_int
;
662 #[cfg_attr(target_os = "netbsd", link_name = "__clock_settime50")]
663 pub fn clock_settime(clk_id
: ::clockid_t
, tp
: *const ::timespec
) -> ::c_int
;
664 pub fn __errno() -> *mut ::c_int
;
665 pub fn shm_open(name
: *const ::c_char
, oflag
: ::c_int
, mode
: ::mode_t
) -> ::c_int
;
666 pub fn memrchr(cx
: *const ::c_void
, c
: ::c_int
, n
: ::size_t
) -> *mut ::c_void
;
667 pub fn mkostemp(template
: *mut ::c_char
, flags
: ::c_int
) -> ::c_int
;
668 pub fn mkostemps(template
: *mut ::c_char
, suffixlen
: ::c_int
, flags
: ::c_int
) -> ::c_int
;
669 pub fn pwritev(fd
: ::c_int
, iov
: *const ::iovec
, iovcnt
: ::c_int
, offset
: ::off_t
)
671 pub fn preadv(fd
: ::c_int
, iov
: *const ::iovec
, iovcnt
: ::c_int
, offset
: ::off_t
) -> ::ssize_t
;
672 pub fn futimens(fd
: ::c_int
, times
: *const ::timespec
) -> ::c_int
;
675 path
: *const ::c_char
,
676 times
: *const ::timespec
,
679 pub fn fdatasync(fd
: ::c_int
) -> ::c_int
;
681 amaster
: *mut ::c_int
,
682 aslave
: *mut ::c_int
,
685 winp
: *mut ::winsize
,
688 amaster
: *mut ::c_int
,
691 winp
: *mut ::winsize
,
693 pub fn login_tty(fd
: ::c_int
) -> ::c_int
;
694 pub fn getpriority(which
: ::c_int
, who
: ::id_t
) -> ::c_int
;
695 pub fn setpriority(which
: ::c_int
, who
: ::id_t
, prio
: ::c_int
) -> ::c_int
;
699 pathname
: *const ::c_char
,
703 pub fn mkfifoat(dirfd
: ::c_int
, pathname
: *const ::c_char
, mode
: ::mode_t
) -> ::c_int
;
704 pub fn sem_timedwait(sem
: *mut sem_t
, abstime
: *const ::timespec
) -> ::c_int
;
705 pub fn sem_getvalue(sem
: *mut sem_t
, sval
: *mut ::c_int
) -> ::c_int
;
706 pub fn pthread_condattr_setclock(
707 attr
: *mut pthread_condattr_t
,
708 clock_id
: ::clockid_t
,
710 pub fn sethostname(name
: *const ::c_char
, len
: ::size_t
) -> ::c_int
;
711 pub fn pthread_mutex_timedlock(
712 lock
: *mut pthread_mutex_t
,
713 abstime
: *const ::timespec
,
715 pub fn pipe2(fds
: *mut ::c_int
, flags
: ::c_int
) -> ::c_int
;
718 name
: *const ::c_char
,
720 groups
: *mut ::gid_t
,
721 ngroups
: *mut ::c_int
,
723 pub fn initgroups(name
: *const ::c_char
, basegid
: ::gid_t
) -> ::c_int
;
724 pub fn getdomainname(name
: *mut ::c_char
, len
: ::size_t
) -> ::c_int
;
725 pub fn setdomainname(name
: *const ::c_char
, len
: ::size_t
) -> ::c_int
;
726 pub fn uname(buf
: *mut ::utsname
) -> ::c_int
;
728 pub fn shmget(key
: ::key_t
, size
: ::size_t
, shmflg
: ::c_int
) -> ::c_int
;
729 pub fn shmat(shmid
: ::c_int
, shmaddr
: *const ::c_void
, shmflg
: ::c_int
) -> *mut ::c_void
;
730 pub fn shmdt(shmaddr
: *const ::c_void
) -> ::c_int
;
731 pub fn shmctl(shmid
: ::c_int
, cmd
: ::c_int
, buf
: *mut ::shmid_ds
) -> ::c_int
;
735 if #[cfg(target_os = "netbsd")] {
737 pub use self::netbsd
::*;
738 } else if #[cfg(target_os = "openbsd")] {
740 pub use self::openbsd
::*;