4 pub type clock_t
= ::c_uint
;
5 pub type suseconds_t
= ::c_int
;
7 pub type blksize_t
= ::int32_t
;
8 pub type fsblkcnt_t
= ::uint64_t
;
9 pub type fsfilcnt_t
= ::uint64_t
;
10 pub type idtype_t
= ::c_int
;
11 pub type mqd_t
= ::c_int
;
15 pub aio_offset
: ::off_t
,
16 pub aio_buf
: *mut ::c_void
,
17 pub aio_nbytes
: ::size_t
,
18 pub aio_fildes
: ::c_int
,
19 pub aio_lio_opcode
: ::c_int
,
20 pub aio_reqprio
: ::c_int
,
21 pub aio_sigevent
: ::sigevent
,
28 pub d_fileno
: ::ino_t
,
32 pub d_name
: [::c_char
; 512],
36 pub gl_pathc
: ::size_t
,
37 pub gl_matchc
: ::size_t
,
38 pub gl_offs
: ::size_t
,
39 pub gl_flags
: ::c_int
,
40 pub gl_pathv
: *mut *mut ::c_char
,
42 __unused3
: *mut ::c_void
,
44 __unused4
: *mut ::c_void
,
45 __unused5
: *mut ::c_void
,
46 __unused6
: *mut ::c_void
,
47 __unused7
: *mut ::c_void
,
48 __unused8
: *mut ::c_void
,
52 pub mq_flags
: ::c_long
,
53 pub mq_maxmsg
: ::c_long
,
54 pub mq_msgsize
: ::c_long
,
55 pub mq_curmsgs
: ::c_long
,
59 pub sigev_notify
: ::c_int
,
60 pub sigev_signo
: ::c_int
,
61 pub sigev_value
: ::sigval
,
62 __unused1
: *mut ::c_void
, //actually a function pointer
63 pub sigev_notify_attributes
: *mut ::c_void
72 pub st_mode
: ::mode_t
,
74 pub st_nlink
: ::nlink_t
,
78 pub st_atime
: ::time_t
,
79 pub st_atimensec
: ::c_long
,
80 pub st_mtime
: ::time_t
,
81 pub st_mtimensec
: ::c_long
,
82 pub st_ctime
: ::time_t
,
83 pub st_ctimensec
: ::c_long
,
84 pub st_birthtime
: ::time_t
,
85 pub st_birthtimensec
: ::c_long
,
87 pub st_blocks
: ::blkcnt_t
,
88 pub st_blksize
: ::blksize_t
,
89 pub st_flags
: ::uint32_t
,
90 pub st_gen
: ::uint32_t
,
91 pub st_spare
: [::uint32_t
; 2],
95 pub f_flag
: ::c_ulong
,
96 pub f_bsize
: ::c_ulong
,
97 pub f_frsize
: ::c_ulong
,
98 pub f_iosize
: ::c_ulong
,
100 pub f_blocks
: ::fsblkcnt_t
,
101 pub f_bfree
: ::fsblkcnt_t
,
102 pub f_bavail
: ::fsblkcnt_t
,
103 pub f_bresvd
: ::fsblkcnt_t
,
105 pub f_files
: ::fsfilcnt_t
,
106 pub f_ffree
: ::fsfilcnt_t
,
107 pub f_favail
: ::fsfilcnt_t
,
108 pub f_fresvd
: ::fsfilcnt_t
,
110 pub f_syncreads
: ::uint64_t
,
111 pub f_syncwrites
: ::uint64_t
,
113 pub f_asyncreads
: ::uint64_t
,
114 pub f_asyncwrites
: ::uint64_t
,
116 pub f_fsidx
: ::fsid_t
,
117 pub f_fsid
: ::c_ulong
,
118 pub f_namemax
: ::c_ulong
,
119 pub f_owner
: ::uid_t
,
121 pub f_spare
: [::uint32_t
; 4],
123 pub f_fstypename
: [::c_char
; 32],
124 pub f_mntonname
: [::c_char
; 1024],
125 pub f_mntfromname
: [::c_char
; 1024],
128 pub struct addrinfo
{
129 pub ai_flags
: ::c_int
,
130 pub ai_family
: ::c_int
,
131 pub ai_socktype
: ::c_int
,
132 pub ai_protocol
: ::c_int
,
133 pub ai_addrlen
: ::socklen_t
,
134 pub ai_canonname
: *mut ::c_char
,
135 pub ai_addr
: *mut ::sockaddr
,
136 pub ai_next
: *mut ::addrinfo
,
139 pub struct sockaddr_storage
{
141 pub ss_family
: ::sa_family_t
,
144 __ss_pad3
: [u8; 112],
147 pub struct siginfo_t
{
148 pub si_signo
: ::c_int
,
149 pub si_code
: ::c_int
,
150 pub si_errno
: ::c_int
,
152 pub si_addr
: *mut ::c_void
,
156 pub struct pthread_attr_t
{
159 pta_private
: *mut ::c_void
,
162 pub struct pthread_mutex_t
{
164 ptm_errorcheck
: ::c_uchar
,
166 ptm_interlock
: ::c_uchar
,
168 ptm_owner
: ::pthread_t
,
169 ptm_waiters
: *mut u8,
170 ptm_recursed
: ::c_uint
,
171 ptm_spare2
: *mut ::c_void
,
174 pub struct pthread_mutexattr_t
{
175 ptma_magic
: ::c_uint
,
176 ptma_private
: *mut ::c_void
,
179 pub struct pthread_rwlockattr_t
{
180 ptra_magic
: ::c_uint
,
181 ptra_private
: *mut ::c_void
,
184 pub struct pthread_cond_t
{
187 ptc_waiters_first
: *mut u8,
188 ptc_waiters_last
: *mut u8,
189 ptc_mutex
: *mut ::pthread_mutex_t
,
190 ptc_private
: *mut ::c_void
,
193 pub struct pthread_condattr_t
{
194 ptca_magic
: ::c_uint
,
195 ptca_private
: *mut ::c_void
,
198 pub struct pthread_rwlock_t
{
200 ptr_interlock
: ::c_uchar
,
201 ptr_rblocked_first
: *mut u8,
202 ptr_rblocked_last
: *mut u8,
203 ptr_wblocked_first
: *mut u8,
204 ptr_wblocked_last
: *mut u8,
205 ptr_nreaders
: ::c_uint
,
206 ptr_owner
: ::pthread_t
,
207 ptr_private
: *mut ::c_void
,
211 pub ident
: ::uintptr_t
,
212 pub filter
: ::uint32_t
,
213 pub flags
: ::uint32_t
,
214 pub fflags
: ::uint32_t
,
216 pub udata
: ::intptr_t
,
220 pub dqb_bhardlimit
: ::uint32_t
,
221 pub dqb_bsoftlimit
: ::uint32_t
,
222 pub dqb_curblocks
: ::uint32_t
,
223 pub dqb_ihardlimit
: ::uint32_t
,
224 pub dqb_isoftlimit
: ::uint32_t
,
225 pub dqb_curinodes
: ::uint32_t
,
226 pub dqb_btime
: ::int32_t
,
227 pub dqb_itime
: ::int32_t
,
231 pub dli_fname
: *const ::c_char
,
232 pub dli_fbase
: *mut ::c_void
,
233 pub dli_sname
: *const ::c_char
,
234 pub dli_saddr
: *const ::c_void
,
238 pub decimal_point
: *mut ::c_char
,
239 pub thousands_sep
: *mut ::c_char
,
240 pub grouping
: *mut ::c_char
,
241 pub int_curr_symbol
: *mut ::c_char
,
242 pub currency_symbol
: *mut ::c_char
,
243 pub mon_decimal_point
: *mut ::c_char
,
244 pub mon_thousands_sep
: *mut ::c_char
,
245 pub mon_grouping
: *mut ::c_char
,
246 pub positive_sign
: *mut ::c_char
,
247 pub negative_sign
: *mut ::c_char
,
248 pub int_frac_digits
: ::c_char
,
249 pub frac_digits
: ::c_char
,
250 pub p_cs_precedes
: ::c_char
,
251 pub p_sep_by_space
: ::c_char
,
252 pub n_cs_precedes
: ::c_char
,
253 pub n_sep_by_space
: ::c_char
,
254 pub p_sign_posn
: ::c_char
,
255 pub n_sign_posn
: ::c_char
,
256 pub int_p_cs_precedes
: ::c_char
,
257 pub int_n_cs_precedes
: ::c_char
,
258 pub int_p_sep_by_space
: ::c_char
,
259 pub int_n_sep_by_space
: ::c_char
,
260 pub int_p_sign_posn
: ::c_char
,
261 pub int_n_sign_posn
: ::c_char
,
265 pub ifi_type
: ::c_uchar
,
266 pub ifi_addrlen
: ::c_uchar
,
267 pub ifi_hdrlen
: ::c_uchar
,
268 pub ifi_link_state
: ::c_int
,
271 pub ifi_baudrate
: u64,
272 pub ifi_ipackets
: u64,
273 pub ifi_ierrors
: u64,
274 pub ifi_opackets
: u64,
275 pub ifi_oerrors
: u64,
276 pub ifi_collisions
: u64,
279 pub ifi_imcasts
: u64,
280 pub ifi_omcasts
: u64,
281 pub ifi_iqdrops
: u64,
282 pub ifi_noproto
: u64,
283 pub ifi_lastchange
: ::timespec
,
286 pub struct if_msghdr
{
287 pub ifm_msglen
: ::c_ushort
,
288 pub ifm_version
: ::c_uchar
,
289 pub ifm_type
: ::c_uchar
,
290 pub ifm_addrs
: ::c_int
,
291 pub ifm_flags
: ::c_int
,
292 pub ifm_index
: ::c_ushort
,
293 pub ifm_data
: if_data
,
296 pub struct sockcred
{
299 pub sc_euid
: ::uid_t
,
301 pub sc_egid
: ::gid_t
,
302 pub sc_ngroups
: ::c_int
,
303 pub sc_groups
: [::gid_t
; 1],
306 pub struct sockaddr_dl
{
307 pub sdl_len
: ::c_uchar
,
308 pub sdl_family
: ::c_uchar
,
309 pub sdl_index
: ::c_ushort
,
310 pub sdl_type
: ::uint8_t
,
311 pub sdl_nlen
: ::uint8_t
,
312 pub sdl_alen
: ::uint8_t
,
313 pub sdl_slen
: ::uint8_t
,
314 pub sdl_data
: [::c_char
; 12],
318 pub const AT_FDCWD
: ::c_int
= -100;
319 pub const AT_EACCESS
: ::c_int
= 0x100;
320 pub const AT_SYMLINK_NOFOLLOW
: ::c_int
= 0x200;
321 pub const AT_SYMLINK_FOLLOW
: ::c_int
= 0x400;
322 pub const AT_REMOVEDIR
: ::c_int
= 0x800;
324 pub const LC_COLLATE_MASK
: ::c_int
= (1 << ::LC_COLLATE
);
325 pub const LC_CTYPE_MASK
: ::c_int
= (1 << ::LC_CTYPE
);
326 pub const LC_MONETARY_MASK
: ::c_int
= (1 << ::LC_MONETARY
);
327 pub const LC_NUMERIC_MASK
: ::c_int
= (1 << ::LC_NUMERIC
);
328 pub const LC_TIME_MASK
: ::c_int
= (1 << ::LC_TIME
);
329 pub const LC_MESSAGES_MASK
: ::c_int
= (1 << ::LC_MESSAGES
);
330 pub const LC_ALL_MASK
: ::c_int
= !0;
332 pub const ERA
: ::nl_item
= 52;
333 pub const ERA_D_FMT
: ::nl_item
= 53;
334 pub const ERA_D_T_FMT
: ::nl_item
= 54;
335 pub const ERA_T_FMT
: ::nl_item
= 55;
336 pub const ALT_DIGITS
: ::nl_item
= 56;
338 pub const O_CLOEXEC
: ::c_int
= 0x400000;
339 pub const O_ALT_IO
: ::c_int
= 0x40000;
340 pub const O_NOSIGPIPE
: ::c_int
= 0x1000000;
341 pub const O_SEARCH
: ::c_int
= 0x800000;
342 pub const O_DIRECTORY
: ::c_int
= 0x200000;
343 pub const O_DIRECT
: ::c_int
= 0x00080000;
344 pub const O_RSYNC
: ::c_int
= 0x00020000;
346 pub const MS_SYNC
: ::c_int
= 0x4;
347 pub const MS_INVALIDATE
: ::c_int
= 0x2;
349 pub const RLIM_NLIMITS
: ::c_int
= 12;
351 pub const EIDRM
: ::c_int
= 82;
352 pub const ENOMSG
: ::c_int
= 83;
353 pub const EOVERFLOW
: ::c_int
= 84;
354 pub const EILSEQ
: ::c_int
= 85;
355 pub const ENOTSUP
: ::c_int
= 86;
356 pub const ECANCELED
: ::c_int
= 87;
357 pub const EBADMSG
: ::c_int
= 88;
358 pub const ENODATA
: ::c_int
= 89;
359 pub const ENOSR
: ::c_int
= 90;
360 pub const ENOSTR
: ::c_int
= 91;
361 pub const ETIME
: ::c_int
= 92;
362 pub const ENOATTR
: ::c_int
= 93;
363 pub const EMULTIHOP
: ::c_int
= 94;
364 pub const ENOLINK
: ::c_int
= 95;
365 pub const EPROTO
: ::c_int
= 96;
366 pub const ELAST
: ::c_int
= 96;
368 pub const F_DUPFD_CLOEXEC
: ::c_int
= 12;
369 pub const F_CLOSEM
: ::c_int
= 10;
370 pub const F_GETNOSIGPIPE
: ::c_int
= 13;
371 pub const F_SETNOSIGPIPE
: ::c_int
= 14;
372 pub const F_MAXFD
: ::c_int
= 11;
374 pub const IPV6_JOIN_GROUP
: ::c_int
= 12;
375 pub const IPV6_LEAVE_GROUP
: ::c_int
= 13;
377 pub const SOCK_CONN_DGRAM
: ::c_int
= 6;
378 pub const SOCK_DCCP
: ::c_int
= SOCK_CONN_DGRAM
;
379 pub const SOCK_NOSIGPIPE
: ::c_int
= 0x40000000;
380 pub const SOCK_FLAGS_MASK
: ::c_int
= 0xf0000000;
382 pub const SO_SNDTIMEO
: ::c_int
= 0x100b;
383 pub const SO_RCVTIMEO
: ::c_int
= 0x100c;
384 pub const SO_ACCEPTFILTER
: ::c_int
= 0x1000;
385 pub const SO_TIMESTAMP
: ::c_int
= 0x2000;
386 pub const SO_OVERFLOWED
: ::c_int
= 0x1009;
387 pub const SO_NOHEADER
: ::c_int
= 0x100a;
389 // https://github.com/NetBSD/src/blob/trunk/sys/net/if.h#L373
390 pub const IFF_UP
: ::c_int
= 0x0001; // interface is up
391 pub const IFF_BROADCAST
: ::c_int
= 0x0002; // broadcast address valid
392 pub const IFF_DEBUG
: ::c_int
= 0x0004; // turn on debugging
393 pub const IFF_LOOPBACK
: ::c_int
= 0x0008; // is a loopback net
394 pub const IFF_POINTOPOINT
: ::c_int
= 0x0010; // interface is point-to-point link
395 pub const IFF_NOTRAILERS
: ::c_int
= 0x0020; // avoid use of trailers
396 pub const IFF_RUNNING
: ::c_int
= 0x0040; // resources allocated
397 pub const IFF_NOARP
: ::c_int
= 0x0080; // no address resolution protocol
398 pub const IFF_PROMISC
: ::c_int
= 0x0100; // receive all packets
399 pub const IFF_ALLMULTI
: ::c_int
= 0x0200; // receive all multicast packets
400 pub const IFF_OACTIVE
: ::c_int
= 0x0400; // transmission in progress
401 pub const IFF_SIMPLEX
: ::c_int
= 0x0800; // can't hear own transmissions
402 pub const IFF_LINK0
: ::c_int
= 0x1000; // per link layer defined bit
403 pub const IFF_LINK1
: ::c_int
= 0x2000; // per link layer defined bit
404 pub const IFF_LINK2
: ::c_int
= 0x4000; // per link layer defined bit
405 pub const IFF_MULTICAST
: ::c_int
= 0x8000; // supports multicast
408 // Protocols (RFC 1700)
409 // NOTE: These are in addition to the constants defined in src/unix/mod.rs
411 // IPPROTO_IP defined in src/unix/mod.rs
412 /// Hop-by-hop option header
413 pub const IPPROTO_HOPOPTS
: ::c_int
= 0;
414 // IPPROTO_ICMP defined in src/unix/mod.rs
415 /// group mgmt protocol
416 pub const IPPROTO_IGMP
: ::c_int
= 2;
417 /// gateway^2 (deprecated)
418 pub const IPPROTO_GGP
: ::c_int
= 3;
419 /// for compatibility
420 pub const IPPROTO_IPIP
: ::c_int
= 4;
421 // IPPROTO_TCP defined in src/unix/mod.rs
422 /// exterior gateway protocol
423 pub const IPPROTO_EGP
: ::c_int
= 8;
425 pub const IPPROTO_PUP
: ::c_int
= 12;
426 // IPPROTO_UDP defined in src/unix/mod.rs
428 pub const IPPROTO_IDP
: ::c_int
= 22;
429 /// tp-4 w/ class negotiation
430 pub const IPPROTO_TP
: ::c_int
= 29;
432 pub const IPPROTO_DCCP
: ::c_int
= 33;
433 // IPPROTO_IPV6 defined in src/unix/mod.rs
434 /// IP6 routing header
435 pub const IPPROTO_ROUTING
: ::c_int
= 43;
436 /// IP6 fragmentation header
437 pub const IPPROTO_FRAGMENT
: ::c_int
= 44;
438 /// resource reservation
439 pub const IPPROTO_RSVP
: ::c_int
= 46;
440 /// General Routing Encap.
441 pub const IPPROTO_GRE
: ::c_int
= 47;
442 /// IP6 Encap Sec. Payload
443 pub const IPPROTO_ESP
: ::c_int
= 50;
445 pub const IPPROTO_AH
: ::c_int
= 51;
446 /// IP Mobility RFC 2004
447 pub const IPPROTO_MOBILE
: ::c_int
= 55;
449 pub const IPPROTO_IPV6_ICMP
: ::c_int
= 58;
450 // IPPROTO_ICMPV6 defined in src/unix/mod.rs
451 /// IP6 no next header
452 pub const IPPROTO_NONE
: ::c_int
= 59;
453 /// IP6 destination option
454 pub const IPPROTO_DSTOPTS
: ::c_int
= 60;
456 pub const IPPROTO_EON
: ::c_int
= 80;
458 pub const IPPROTO_ETHERIP
: ::c_int
= 97;
459 /// encapsulation header
460 pub const IPPROTO_ENCAP
: ::c_int
= 98;
461 /// Protocol indep. multicast
462 pub const IPPROTO_PIM
: ::c_int
= 103;
463 /// IP Payload Comp. Protocol
464 pub const IPPROTO_IPCOMP
: ::c_int
= 108;
466 pub const IPPROTO_VRRP
: ::c_int
= 112;
467 /// Common Address Resolution Protocol
468 pub const IPPROTO_CARP
: ::c_int
= 112;
470 // TEMP: Disabled for now; this constant was added to NetBSD on 2017-02-16,
471 // but isn't yet supported by the NetBSD rumprun kernel image used for
473 //pub const IPPROTO_L2TP: ::c_int = 115;
475 pub const IPPROTO_SCTP
: ::c_int
= 132;
477 pub const IPPROTO_PFSYNC
: ::c_int
= 240;
478 pub const IPPROTO_MAX
: ::c_int
= 256;
480 /// last return value of *_input(), meaning "all job for this pkt is done".
481 pub const IPPROTO_DONE
: ::c_int
= 257;
483 /// sysctl placeholder for (FAST_)IPSEC
484 pub const CTL_IPPROTO_IPSEC
: ::c_int
= 258;
486 pub const AF_OROUTE
: ::c_int
= 17;
487 pub const AF_ARP
: ::c_int
= 28;
488 pub const pseudo_AF_KEY
: ::c_int
= 29;
489 pub const pseudo_AF_HDRCMPLT
: ::c_int
= 30;
490 pub const AF_BLUETOOTH
: ::c_int
= 31;
491 pub const AF_IEEE80211
: ::c_int
= 32;
492 pub const AF_MPLS
: ::c_int
= 33;
493 pub const AF_ROUTE
: ::c_int
= 34;
494 pub const AF_MAX
: ::c_int
= 35;
496 pub const NET_MAXID
: ::c_int
= AF_MAX
;
497 pub const NET_RT_DUMP
: ::c_int
= 1;
498 pub const NET_RT_FLAGS
: ::c_int
= 2;
499 pub const NET_RT_OOIFLIST
: ::c_int
= 3;
500 pub const NET_RT_OIFLIST
: ::c_int
= 4;
501 pub const NET_RT_IFLIST
: ::c_int
= 5;
502 pub const NET_RT_MAXID
: ::c_int
= 6;
504 pub const PF_OROUTE
: ::c_int
= AF_OROUTE
;
505 pub const PF_ARP
: ::c_int
= AF_ARP
;
506 pub const PF_KEY
: ::c_int
= pseudo_AF_KEY
;
507 pub const PF_BLUETOOTH
: ::c_int
= AF_BLUETOOTH
;
508 pub const PF_MPLS
: ::c_int
= AF_MPLS
;
509 pub const PF_ROUTE
: ::c_int
= AF_ROUTE
;
510 pub const PF_MAX
: ::c_int
= AF_MAX
;
512 pub const MSG_NBIO
: ::c_int
= 0x1000;
513 pub const MSG_WAITFORONE
: ::c_int
= 0x2000;
514 pub const MSG_NOTIFICATION
: ::c_int
= 0x4000;
516 pub const SCM_TIMESTAMP
: ::c_int
= 0x08;
517 pub const SCM_CREDS
: ::c_int
= 0x10;
519 pub const O_DSYNC
: ::c_int
= 0x10000;
521 pub const MAP_RENAME
: ::c_int
= 0x20;
522 pub const MAP_NORESERVE
: ::c_int
= 0x40;
523 pub const MAP_HASSEMAPHORE
: ::c_int
= 0x200;
524 pub const MAP_WIRED
: ::c_int
= 0x800;
526 pub const DCCP_TYPE_REQUEST
: ::c_int
= 0;
527 pub const DCCP_TYPE_RESPONSE
: ::c_int
= 1;
528 pub const DCCP_TYPE_DATA
: ::c_int
= 2;
529 pub const DCCP_TYPE_ACK
: ::c_int
= 3;
530 pub const DCCP_TYPE_DATAACK
: ::c_int
= 4;
531 pub const DCCP_TYPE_CLOSEREQ
: ::c_int
= 5;
532 pub const DCCP_TYPE_CLOSE
: ::c_int
= 6;
533 pub const DCCP_TYPE_RESET
: ::c_int
= 7;
534 pub const DCCP_TYPE_MOVE
: ::c_int
= 8;
536 pub const DCCP_FEATURE_CC
: ::c_int
= 1;
537 pub const DCCP_FEATURE_ECN
: ::c_int
= 2;
538 pub const DCCP_FEATURE_ACKRATIO
: ::c_int
= 3;
539 pub const DCCP_FEATURE_ACKVECTOR
: ::c_int
= 4;
540 pub const DCCP_FEATURE_MOBILITY
: ::c_int
= 5;
541 pub const DCCP_FEATURE_LOSSWINDOW
: ::c_int
= 6;
542 pub const DCCP_FEATURE_CONN_NONCE
: ::c_int
= 8;
543 pub const DCCP_FEATURE_IDENTREG
: ::c_int
= 7;
545 pub const DCCP_OPT_PADDING
: ::c_int
= 0;
546 pub const DCCP_OPT_DATA_DISCARD
: ::c_int
= 1;
547 pub const DCCP_OPT_SLOW_RECV
: ::c_int
= 2;
548 pub const DCCP_OPT_BUF_CLOSED
: ::c_int
= 3;
549 pub const DCCP_OPT_CHANGE_L
: ::c_int
= 32;
550 pub const DCCP_OPT_CONFIRM_L
: ::c_int
= 33;
551 pub const DCCP_OPT_CHANGE_R
: ::c_int
= 34;
552 pub const DCCP_OPT_CONFIRM_R
: ::c_int
= 35;
553 pub const DCCP_OPT_INIT_COOKIE
: ::c_int
= 36;
554 pub const DCCP_OPT_NDP_COUNT
: ::c_int
= 37;
555 pub const DCCP_OPT_ACK_VECTOR0
: ::c_int
= 38;
556 pub const DCCP_OPT_ACK_VECTOR1
: ::c_int
= 39;
557 pub const DCCP_OPT_RECV_BUF_DROPS
: ::c_int
= 40;
558 pub const DCCP_OPT_TIMESTAMP
: ::c_int
= 41;
559 pub const DCCP_OPT_TIMESTAMP_ECHO
: ::c_int
= 42;
560 pub const DCCP_OPT_ELAPSEDTIME
: ::c_int
= 43;
561 pub const DCCP_OPT_DATACHECKSUM
: ::c_int
= 44;
563 pub const DCCP_REASON_UNSPEC
: ::c_int
= 0;
564 pub const DCCP_REASON_CLOSED
: ::c_int
= 1;
565 pub const DCCP_REASON_INVALID
: ::c_int
= 2;
566 pub const DCCP_REASON_OPTION_ERR
: ::c_int
= 3;
567 pub const DCCP_REASON_FEA_ERR
: ::c_int
= 4;
568 pub const DCCP_REASON_CONN_REF
: ::c_int
= 5;
569 pub const DCCP_REASON_BAD_SNAME
: ::c_int
= 6;
570 pub const DCCP_REASON_BAD_COOKIE
: ::c_int
= 7;
571 pub const DCCP_REASON_INV_MOVE
: ::c_int
= 8;
572 pub const DCCP_REASON_UNANSW_CH
: ::c_int
= 10;
573 pub const DCCP_REASON_FRUITLESS_NEG
: ::c_int
= 11;
575 pub const DCCP_CCID
: ::c_int
= 1;
576 pub const DCCP_CSLEN
: ::c_int
= 2;
577 pub const DCCP_MAXSEG
: ::c_int
= 4;
578 pub const DCCP_SERVICE
: ::c_int
= 8;
580 pub const DCCP_NDP_LIMIT
: ::c_int
= 16;
581 pub const DCCP_SEQ_NUM_LIMIT
: ::c_int
= 16777216;
582 pub const DCCP_MAX_OPTIONS
: ::c_int
= 32;
583 pub const DCCP_MAX_PKTS
: ::c_int
= 100;
585 pub const _PC_LINK_MAX
: ::c_int
= 1;
586 pub const _PC_MAX_CANON
: ::c_int
= 2;
587 pub const _PC_MAX_INPUT
: ::c_int
= 3;
588 pub const _PC_NAME_MAX
: ::c_int
= 4;
589 pub const _PC_PATH_MAX
: ::c_int
= 5;
590 pub const _PC_PIPE_BUF
: ::c_int
= 6;
591 pub const _PC_CHOWN_RESTRICTED
: ::c_int
= 7;
592 pub const _PC_NO_TRUNC
: ::c_int
= 8;
593 pub const _PC_VDISABLE
: ::c_int
= 9;
594 pub const _PC_SYNC_IO
: ::c_int
= 10;
595 pub const _PC_FILESIZEBITS
: ::c_int
= 11;
596 pub const _PC_SYMLINK_MAX
: ::c_int
= 12;
597 pub const _PC_2_SYMLINKS
: ::c_int
= 13;
598 pub const _PC_ACL_EXTENDED
: ::c_int
= 14;
599 pub const _PC_MIN_HOLE_SIZE
: ::c_int
= 15;
601 pub const _SC_SYNCHRONIZED_IO
: ::c_int
= 31;
602 pub const _SC_IOV_MAX
: ::c_int
= 32;
603 pub const _SC_MAPPED_FILES
: ::c_int
= 33;
604 pub const _SC_MEMLOCK
: ::c_int
= 34;
605 pub const _SC_MEMLOCK_RANGE
: ::c_int
= 35;
606 pub const _SC_MEMORY_PROTECTION
: ::c_int
= 36;
607 pub const _SC_LOGIN_NAME_MAX
: ::c_int
= 37;
608 pub const _SC_MONOTONIC_CLOCK
: ::c_int
= 38;
609 pub const _SC_CLK_TCK
: ::c_int
= 39;
610 pub const _SC_ATEXIT_MAX
: ::c_int
= 40;
611 pub const _SC_THREADS
: ::c_int
= 41;
612 pub const _SC_SEMAPHORES
: ::c_int
= 42;
613 pub const _SC_BARRIERS
: ::c_int
= 43;
614 pub const _SC_TIMERS
: ::c_int
= 44;
615 pub const _SC_SPIN_LOCKS
: ::c_int
= 45;
616 pub const _SC_READER_WRITER_LOCKS
: ::c_int
= 46;
617 pub const _SC_GETGR_R_SIZE_MAX
: ::c_int
= 47;
618 pub const _SC_GETPW_R_SIZE_MAX
: ::c_int
= 48;
619 pub const _SC_CLOCK_SELECTION
: ::c_int
= 49;
620 pub const _SC_ASYNCHRONOUS_IO
: ::c_int
= 50;
621 pub const _SC_AIO_LISTIO_MAX
: ::c_int
= 51;
622 pub const _SC_AIO_MAX
: ::c_int
= 52;
623 pub const _SC_MESSAGE_PASSING
: ::c_int
= 53;
624 pub const _SC_MQ_OPEN_MAX
: ::c_int
= 54;
625 pub const _SC_MQ_PRIO_MAX
: ::c_int
= 55;
626 pub const _SC_PRIORITY_SCHEDULING
: ::c_int
= 56;
627 pub const _SC_THREAD_DESTRUCTOR_ITERATIONS
: ::c_int
= 57;
628 pub const _SC_THREAD_KEYS_MAX
: ::c_int
= 58;
629 pub const _SC_THREAD_STACK_MIN
: ::c_int
= 59;
630 pub const _SC_THREAD_THREADS_MAX
: ::c_int
= 60;
631 pub const _SC_THREAD_ATTR_STACKADDR
: ::c_int
= 61;
632 pub const _SC_THREAD_ATTR_STACKSIZE
: ::c_int
= 62;
633 pub const _SC_THREAD_PRIORITY_SCHEDULING
: ::c_int
= 63;
634 pub const _SC_THREAD_PRIO_INHERIT
: ::c_int
= 64;
635 pub const _SC_THREAD_PRIO_PROTECT
: ::c_int
= 65;
636 pub const _SC_THREAD_PROCESS_SHARED
: ::c_int
= 66;
637 pub const _SC_THREAD_SAFE_FUNCTIONS
: ::c_int
= 67;
638 pub const _SC_TTY_NAME_MAX
: ::c_int
= 68;
639 pub const _SC_HOST_NAME_MAX
: ::c_int
= 69;
640 pub const _SC_PASS_MAX
: ::c_int
= 70;
641 pub const _SC_REGEXP
: ::c_int
= 71;
642 pub const _SC_SHELL
: ::c_int
= 72;
643 pub const _SC_SYMLOOP_MAX
: ::c_int
= 73;
644 pub const _SC_V6_ILP32_OFF32
: ::c_int
= 74;
645 pub const _SC_V6_ILP32_OFFBIG
: ::c_int
= 75;
646 pub const _SC_V6_LP64_OFF64
: ::c_int
= 76;
647 pub const _SC_V6_LPBIG_OFFBIG
: ::c_int
= 77;
648 pub const _SC_2_PBS
: ::c_int
= 80;
649 pub const _SC_2_PBS_ACCOUNTING
: ::c_int
= 81;
650 pub const _SC_2_PBS_CHECKPOINT
: ::c_int
= 82;
651 pub const _SC_2_PBS_LOCATE
: ::c_int
= 83;
652 pub const _SC_2_PBS_MESSAGE
: ::c_int
= 84;
653 pub const _SC_2_PBS_TRACK
: ::c_int
= 85;
654 pub const _SC_SPAWN
: ::c_int
= 86;
655 pub const _SC_SHARED_MEMORY_OBJECTS
: ::c_int
= 87;
656 pub const _SC_TIMER_MAX
: ::c_int
= 88;
657 pub const _SC_SEM_NSEMS_MAX
: ::c_int
= 89;
658 pub const _SC_CPUTIME
: ::c_int
= 90;
659 pub const _SC_THREAD_CPUTIME
: ::c_int
= 91;
660 pub const _SC_DELAYTIMER_MAX
: ::c_int
= 92;
661 // These two variables will be supported in NetBSD 8.0
662 // pub const _SC_SIGQUEUE_MAX : ::c_int = 93;
663 // pub const _SC_REALTIME_SIGNALS : ::c_int = 94;
664 pub const _SC_PHYS_PAGES
: ::c_int
= 121;
665 pub const _SC_NPROCESSORS_CONF
: ::c_int
= 1001;
666 pub const _SC_NPROCESSORS_ONLN
: ::c_int
= 1002;
667 pub const _SC_SCHED_RT_TS
: ::c_int
= 2001;
668 pub const _SC_SCHED_PRI_MIN
: ::c_int
= 2002;
669 pub const _SC_SCHED_PRI_MAX
: ::c_int
= 2003;
671 pub const FD_SETSIZE
: usize = 0x100;
673 pub const ST_NOSUID
: ::c_ulong
= 8;
675 pub const PTHREAD_MUTEX_INITIALIZER
: pthread_mutex_t
= pthread_mutex_t
{
676 ptm_magic
: 0x33330003,
679 ptm_waiters
: 0 as *mut _
,
684 ptm_spare2
: 0 as *mut _
,
686 pub const PTHREAD_COND_INITIALIZER
: pthread_cond_t
= pthread_cond_t
{
687 ptc_magic
: 0x55550005,
689 ptc_waiters_first
: 0 as *mut _
,
690 ptc_waiters_last
: 0 as *mut _
,
691 ptc_mutex
: 0 as *mut _
,
692 ptc_private
: 0 as *mut _
,
694 pub const PTHREAD_RWLOCK_INITIALIZER
: pthread_rwlock_t
= pthread_rwlock_t
{
695 ptr_magic
: 0x99990009,
697 ptr_rblocked_first
: 0 as *mut _
,
698 ptr_rblocked_last
: 0 as *mut _
,
699 ptr_wblocked_first
: 0 as *mut _
,
700 ptr_wblocked_last
: 0 as *mut _
,
703 ptr_private
: 0 as *mut _
,
705 pub const PTHREAD_MUTEX_NORMAL
: ::c_int
= 0;
706 pub const PTHREAD_MUTEX_ERRORCHECK
: ::c_int
= 1;
707 pub const PTHREAD_MUTEX_RECURSIVE
: ::c_int
= 2;
708 pub const PTHREAD_MUTEX_DEFAULT
: ::c_int
= PTHREAD_MUTEX_NORMAL
;
710 pub const EVFILT_AIO
: ::uint32_t
= 2;
711 pub const EVFILT_PROC
: ::uint32_t
= 4;
712 pub const EVFILT_READ
: ::uint32_t
= 0;
713 pub const EVFILT_SIGNAL
: ::uint32_t
= 5;
714 pub const EVFILT_TIMER
: ::uint32_t
= 6;
715 pub const EVFILT_VNODE
: ::uint32_t
= 3;
716 pub const EVFILT_WRITE
: ::uint32_t
= 1;
718 pub const EV_ADD
: ::uint32_t
= 0x1;
719 pub const EV_DELETE
: ::uint32_t
= 0x2;
720 pub const EV_ENABLE
: ::uint32_t
= 0x4;
721 pub const EV_DISABLE
: ::uint32_t
= 0x8;
722 pub const EV_ONESHOT
: ::uint32_t
= 0x10;
723 pub const EV_CLEAR
: ::uint32_t
= 0x20;
724 pub const EV_RECEIPT
: ::uint32_t
= 0x40;
725 pub const EV_DISPATCH
: ::uint32_t
= 0x80;
726 pub const EV_FLAG1
: ::uint32_t
= 0x2000;
727 pub const EV_ERROR
: ::uint32_t
= 0x4000;
728 pub const EV_EOF
: ::uint32_t
= 0x8000;
729 pub const EV_SYSFLAGS
: ::uint32_t
= 0xf000;
731 pub const NOTE_LOWAT
: ::uint32_t
= 0x00000001;
732 pub const NOTE_DELETE
: ::uint32_t
= 0x00000001;
733 pub const NOTE_WRITE
: ::uint32_t
= 0x00000002;
734 pub const NOTE_EXTEND
: ::uint32_t
= 0x00000004;
735 pub const NOTE_ATTRIB
: ::uint32_t
= 0x00000008;
736 pub const NOTE_LINK
: ::uint32_t
= 0x00000010;
737 pub const NOTE_RENAME
: ::uint32_t
= 0x00000020;
738 pub const NOTE_REVOKE
: ::uint32_t
= 0x00000040;
739 pub const NOTE_EXIT
: ::uint32_t
= 0x80000000;
740 pub const NOTE_FORK
: ::uint32_t
= 0x40000000;
741 pub const NOTE_EXEC
: ::uint32_t
= 0x20000000;
742 pub const NOTE_PDATAMASK
: ::uint32_t
= 0x000fffff;
743 pub const NOTE_PCTRLMASK
: ::uint32_t
= 0xf0000000;
744 pub const NOTE_TRACK
: ::uint32_t
= 0x00000001;
745 pub const NOTE_TRACKERR
: ::uint32_t
= 0x00000002;
746 pub const NOTE_CHILD
: ::uint32_t
= 0x00000004;
748 pub const TMP_MAX
: ::c_uint
= 308915776;
750 pub const NI_MAXHOST
: ::socklen_t
= 1025;
752 pub const RTLD_NOLOAD
: ::c_int
= 0x2000;
753 pub const RTLD_LOCAL
: ::c_int
= 0x200;
755 pub const CTL_MAXNAME
: ::c_int
= 12;
756 pub const SYSCTL_NAMELEN
: ::c_int
= 32;
757 pub const SYSCTL_DEFSIZE
: ::c_int
= 8;
758 pub const CTLTYPE_NODE
: ::c_int
= 1;
759 pub const CTLTYPE_INT
: ::c_int
= 2;
760 pub const CTLTYPE_STRING
: ::c_int
= 3;
761 pub const CTLTYPE_QUAD
: ::c_int
= 4;
762 pub const CTLTYPE_STRUCT
: ::c_int
= 5;
763 pub const CTLTYPE_BOOL
: ::c_int
= 6;
764 pub const CTLFLAG_READONLY
: ::c_int
= 0x00000000;
765 pub const CTLFLAG_READWRITE
: ::c_int
= 0x00000070;
766 pub const CTLFLAG_ANYWRITE
: ::c_int
= 0x00000080;
767 pub const CTLFLAG_PRIVATE
: ::c_int
= 0x00000100;
768 pub const CTLFLAG_PERMANENT
: ::c_int
= 0x00000200;
769 pub const CTLFLAG_OWNDATA
: ::c_int
= 0x00000400;
770 pub const CTLFLAG_IMMEDIATE
: ::c_int
= 0x00000800;
771 pub const CTLFLAG_HEX
: ::c_int
= 0x00001000;
772 pub const CTLFLAG_ROOT
: ::c_int
= 0x00002000;
773 pub const CTLFLAG_ANYNUMBER
: ::c_int
= 0x00004000;
774 pub const CTLFLAG_HIDDEN
: ::c_int
= 0x00008000;
775 pub const CTLFLAG_ALIAS
: ::c_int
= 0x00010000;
776 pub const CTLFLAG_MMAP
: ::c_int
= 0x00020000;
777 pub const CTLFLAG_OWNDESC
: ::c_int
= 0x00040000;
778 pub const CTLFLAG_UNSIGNED
: ::c_int
= 0x00080000;
779 pub const SYSCTL_VERS_MASK
: ::c_int
= 0xff000000;
780 pub const SYSCTL_VERS_0
: ::c_int
= 0x00000000;
781 pub const SYSCTL_VERS_1
: ::c_int
= 0x01000000;
782 pub const SYSCTL_VERSION
: ::c_int
= SYSCTL_VERS_1
;
783 pub const CTL_EOL
: ::c_int
= -1;
784 pub const CTL_QUERY
: ::c_int
= -2;
785 pub const CTL_CREATE
: ::c_int
= -3;
786 pub const CTL_CREATESYM
: ::c_int
= -4;
787 pub const CTL_DESTROY
: ::c_int
= -5;
788 pub const CTL_MMAP
: ::c_int
= -6;
789 pub const CTL_DESCRIBE
: ::c_int
= -7;
790 pub const CTL_UNSPEC
: ::c_int
= 0;
791 pub const CTL_KERN
: ::c_int
= 1;
792 pub const CTL_VM
: ::c_int
= 2;
793 pub const CTL_VFS
: ::c_int
= 3;
794 pub const CTL_NET
: ::c_int
= 4;
795 pub const CTL_DEBUG
: ::c_int
= 5;
796 pub const CTL_HW
: ::c_int
= 6;
797 pub const CTL_MACHDEP
: ::c_int
= 7;
798 pub const CTL_USER
: ::c_int
= 8;
799 pub const CTL_DDB
: ::c_int
= 9;
800 pub const CTL_PROC
: ::c_int
= 10;
801 pub const CTL_VENDOR
: ::c_int
= 11;
802 pub const CTL_EMUL
: ::c_int
= 12;
803 pub const CTL_SECURITY
: ::c_int
= 13;
804 pub const CTL_MAXID
: ::c_int
= 14;
805 pub const KERN_OSTYPE
: ::c_int
= 1;
806 pub const KERN_OSRELEASE
: ::c_int
= 2;
807 pub const KERN_OSREV
: ::c_int
= 3;
808 pub const KERN_VERSION
: ::c_int
= 4;
809 pub const KERN_MAXVNODES
: ::c_int
= 5;
810 pub const KERN_MAXPROC
: ::c_int
= 6;
811 pub const KERN_MAXFILES
: ::c_int
= 7;
812 pub const KERN_ARGMAX
: ::c_int
= 8;
813 pub const KERN_SECURELVL
: ::c_int
= 9;
814 pub const KERN_HOSTNAME
: ::c_int
= 10;
815 pub const KERN_HOSTID
: ::c_int
= 11;
816 pub const KERN_CLOCKRATE
: ::c_int
= 12;
817 pub const KERN_VNODE
: ::c_int
= 13;
818 pub const KERN_PROC
: ::c_int
= 14;
819 pub const KERN_FILE
: ::c_int
= 15;
820 pub const KERN_PROF
: ::c_int
= 16;
821 pub const KERN_POSIX1
: ::c_int
= 17;
822 pub const KERN_NGROUPS
: ::c_int
= 18;
823 pub const KERN_JOB_CONTROL
: ::c_int
= 19;
824 pub const KERN_SAVED_IDS
: ::c_int
= 20;
825 pub const KERN_OBOOTTIME
: ::c_int
= 21;
826 pub const KERN_DOMAINNAME
: ::c_int
= 22;
827 pub const KERN_MAXPARTITIONS
: ::c_int
= 23;
828 pub const KERN_RAWPARTITION
: ::c_int
= 24;
829 pub const KERN_NTPTIME
: ::c_int
= 25;
830 pub const KERN_TIMEX
: ::c_int
= 26;
831 pub const KERN_AUTONICETIME
: ::c_int
= 27;
832 pub const KERN_AUTONICEVAL
: ::c_int
= 28;
833 pub const KERN_RTC_OFFSET
: ::c_int
= 29;
834 pub const KERN_ROOT_DEVICE
: ::c_int
= 30;
835 pub const KERN_MSGBUFSIZE
: ::c_int
= 31;
836 pub const KERN_FSYNC
: ::c_int
= 32;
837 pub const KERN_OLDSYSVMSG
: ::c_int
= 33;
838 pub const KERN_OLDSYSVSEM
: ::c_int
= 34;
839 pub const KERN_OLDSYSVSHM
: ::c_int
= 35;
840 pub const KERN_OLDSHORTCORENAME
: ::c_int
= 36;
841 pub const KERN_SYNCHRONIZED_IO
: ::c_int
= 37;
842 pub const KERN_IOV_MAX
: ::c_int
= 38;
843 pub const KERN_MBUF
: ::c_int
= 39;
844 pub const KERN_MAPPED_FILES
: ::c_int
= 40;
845 pub const KERN_MEMLOCK
: ::c_int
= 41;
846 pub const KERN_MEMLOCK_RANGE
: ::c_int
= 42;
847 pub const KERN_MEMORY_PROTECTION
: ::c_int
= 43;
848 pub const KERN_LOGIN_NAME_MAX
: ::c_int
= 44;
849 pub const KERN_DEFCORENAME
: ::c_int
= 45;
850 pub const KERN_LOGSIGEXIT
: ::c_int
= 46;
851 pub const KERN_PROC2
: ::c_int
= 47;
852 pub const KERN_PROC_ARGS
: ::c_int
= 48;
853 pub const KERN_FSCALE
: ::c_int
= 49;
854 pub const KERN_CCPU
: ::c_int
= 50;
855 pub const KERN_CP_TIME
: ::c_int
= 51;
856 pub const KERN_OLDSYSVIPC_INFO
: ::c_int
= 52;
857 pub const KERN_MSGBUF
: ::c_int
= 53;
858 pub const KERN_CONSDEV
: ::c_int
= 54;
859 pub const KERN_MAXPTYS
: ::c_int
= 55;
860 pub const KERN_PIPE
: ::c_int
= 56;
861 pub const KERN_MAXPHYS
: ::c_int
= 57;
862 pub const KERN_SBMAX
: ::c_int
= 58;
863 pub const KERN_TKSTAT
: ::c_int
= 59;
864 pub const KERN_MONOTONIC_CLOCK
: ::c_int
= 60;
865 pub const KERN_URND
: ::c_int
= 61;
866 pub const KERN_LABELSECTOR
: ::c_int
= 62;
867 pub const KERN_LABELOFFSET
: ::c_int
= 63;
868 pub const KERN_LWP
: ::c_int
= 64;
869 pub const KERN_FORKFSLEEP
: ::c_int
= 65;
870 pub const KERN_POSIX_THREADS
: ::c_int
= 66;
871 pub const KERN_POSIX_SEMAPHORES
: ::c_int
= 67;
872 pub const KERN_POSIX_BARRIERS
: ::c_int
= 68;
873 pub const KERN_POSIX_TIMERS
: ::c_int
= 69;
874 pub const KERN_POSIX_SPIN_LOCKS
: ::c_int
= 70;
875 pub const KERN_POSIX_READER_WRITER_LOCKS
: ::c_int
= 71;
876 pub const KERN_DUMP_ON_PANIC
: ::c_int
= 72;
877 pub const KERN_SOMAXKVA
: ::c_int
= 73;
878 pub const KERN_ROOT_PARTITION
: ::c_int
= 74;
879 pub const KERN_DRIVERS
: ::c_int
= 75;
880 pub const KERN_BUF
: ::c_int
= 76;
881 pub const KERN_FILE2
: ::c_int
= 77;
882 pub const KERN_VERIEXEC
: ::c_int
= 78;
883 pub const KERN_CP_ID
: ::c_int
= 79;
884 pub const KERN_HARDCLOCK_TICKS
: ::c_int
= 80;
885 pub const KERN_ARND
: ::c_int
= 81;
886 pub const KERN_SYSVIPC
: ::c_int
= 82;
887 pub const KERN_BOOTTIME
: ::c_int
= 83;
888 pub const KERN_EVCNT
: ::c_int
= 84;
889 pub const KERN_MAXID
: ::c_int
= 85;
890 pub const KERN_PROC_ALL
: ::c_int
= 0;
891 pub const KERN_PROC_PID
: ::c_int
= 1;
892 pub const KERN_PROC_PGRP
: ::c_int
= 2;
893 pub const KERN_PROC_SESSION
: ::c_int
= 3;
894 pub const KERN_PROC_TTY
: ::c_int
= 4;
895 pub const KERN_PROC_UID
: ::c_int
= 5;
896 pub const KERN_PROC_RUID
: ::c_int
= 6;
897 pub const KERN_PROC_GID
: ::c_int
= 7;
898 pub const KERN_PROC_RGID
: ::c_int
= 8;
899 pub const KERN_PROC_ARGV
: ::c_int
= 1;
900 pub const KERN_PROC_NARGV
: ::c_int
= 2;
901 pub const KERN_PROC_ENV
: ::c_int
= 3;
902 pub const KERN_PROC_NENV
: ::c_int
= 4;
903 pub const KERN_PROC_PATHNAME
: ::c_int
= 5;
905 pub const EAI_AGAIN
: ::c_int
= 2;
906 pub const EAI_BADFLAGS
: ::c_int
= 3;
907 pub const EAI_FAIL
: ::c_int
= 4;
908 pub const EAI_FAMILY
: ::c_int
= 5;
909 pub const EAI_MEMORY
: ::c_int
= 6;
910 pub const EAI_NODATA
: ::c_int
= 7;
911 pub const EAI_NONAME
: ::c_int
= 8;
912 pub const EAI_SERVICE
: ::c_int
= 9;
913 pub const EAI_SOCKTYPE
: ::c_int
= 10;
914 pub const EAI_SYSTEM
: ::c_int
= 11;
915 pub const EAI_OVERFLOW
: ::c_int
= 14;
917 pub const AIO_CANCELED
: ::c_int
= 1;
918 pub const AIO_NOTCANCELED
: ::c_int
= 2;
919 pub const AIO_ALLDONE
: ::c_int
= 3;
920 pub const LIO_NOP
: ::c_int
= 0;
921 pub const LIO_WRITE
: ::c_int
= 1;
922 pub const LIO_READ
: ::c_int
= 2;
923 pub const LIO_WAIT
: ::c_int
= 1;
924 pub const LIO_NOWAIT
: ::c_int
= 0;
926 pub const SIGEV_NONE
: ::c_int
= 0;
927 pub const SIGEV_SIGNAL
: ::c_int
= 1;
928 pub const SIGEV_THREAD
: ::c_int
= 2;
930 pub const WSTOPPED
: ::c_int
= 0x00000002; // same as WUNTRACED
931 pub const WCONTINUED
: ::c_int
= 0x00000010;
932 pub const WEXITED
: ::c_int
= 0x000000020;
933 pub const WNOWAIT
: ::c_int
= 0x00010000;
935 pub const P_ALL
: idtype_t
= 0;
936 pub const P_PID
: idtype_t
= 1;
937 pub const P_PGID
: idtype_t
= 4;
939 pub const B460800
: ::speed_t
= 460800;
940 pub const B921600
: ::speed_t
= 921600;
942 pub const ONOCR
: ::tcflag_t
= 0x20;
943 pub const ONLRET
: ::tcflag_t
= 0x40;
944 pub const CDTRCTS
: ::tcflag_t
= 0x00020000;
945 pub const CHWFLOW
: ::tcflag_t
= ::MDMBUF
| ::CRTSCTS
| ::CDTRCTS
;
947 pub const SOCK_CLOEXEC
: ::c_int
= 0x10000000;
948 pub const SOCK_NONBLOCK
: ::c_int
= 0x20000000;
950 // dirfd() is a macro on netbsd to access
951 // the first field of the struct where dirp points to:
952 // http://cvsweb.netbsd.org/bsdweb.cgi/src/include/dirent.h?rev=1.36
954 pub fn dirfd(dirp
: *mut ::DIR
) -> ::c_int
{
955 *(dirp
as *const ::c_int
)
958 pub fn WIFCONTINUED(status
: ::c_int
) -> bool
{
962 pub fn SOCKCREDSIZE(ngrps
: usize) -> usize {
963 let ngrps
= if ngrps
> 0 {
968 mem
::size_of
::<sockcred
>() + mem
::size_of
::<::gid_t
>() * ngrps
973 pub fn aio_read(aiocbp
: *mut aiocb
) -> ::c_int
;
974 pub fn aio_write(aiocbp
: *mut aiocb
) -> ::c_int
;
975 pub fn aio_fsync(op
: ::c_int
, aiocbp
: *mut aiocb
) -> ::c_int
;
976 pub fn aio_error(aiocbp
: *const aiocb
) -> ::c_int
;
977 pub fn aio_return(aiocbp
: *mut aiocb
) -> ::ssize_t
;
978 #[link_name = "__aio_suspend50"]
979 pub fn aio_suspend(aiocb_list
: *const *const aiocb
, nitems
: ::c_int
,
980 timeout
: *const ::timespec
) -> ::c_int
;
981 pub fn aio_cancel(fd
: ::c_int
, aiocbp
: *mut aiocb
) -> ::c_int
;
982 pub fn lio_listio(mode
: ::c_int
, aiocb_list
: *const *mut aiocb
,
983 nitems
: ::c_int
, sevp
: *mut sigevent
) -> ::c_int
;
985 pub fn lutimes(file
: *const ::c_char
, times
: *const ::timeval
) -> ::c_int
;
986 pub fn getnameinfo(sa
: *const ::sockaddr
,
989 hostlen
: ::socklen_t
,
992 flags
: ::c_int
) -> ::c_int
;
993 pub fn mprotect(addr
: *mut ::c_void
, len
: ::size_t
, prot
: ::c_int
)
995 pub fn sysctl(name
: *const ::c_int
,
998 oldlenp
: *mut ::size_t
,
999 newp
: *const ::c_void
,
1002 pub fn sysctlbyname(name
: *const ::c_char
,
1003 oldp
: *mut ::c_void
,
1004 oldlenp
: *mut ::size_t
,
1005 newp
: *const ::c_void
,
1008 #[link_name = "__kevent50"]
1009 pub fn kevent(kq
: ::c_int
,
1010 changelist
: *const ::kevent
,
1012 eventlist
: *mut ::kevent
,
1014 timeout
: *const ::timespec
) -> ::c_int
;
1015 #[link_name = "__mount50"]
1016 pub fn mount(src
: *const ::c_char
,
1017 target
: *const ::c_char
,
1019 data
: *mut ::c_void
,
1020 size
: ::size_t
) -> ::c_int
;
1021 pub fn mq_open(name
: *const ::c_char
, oflag
: ::c_int
, ...) -> ::mqd_t
;
1022 pub fn mq_close(mqd
: ::mqd_t
) -> ::c_int
;
1023 pub fn mq_getattr(mqd
: ::mqd_t
, attr
: *mut ::mq_attr
) -> ::c_int
;
1024 pub fn mq_notify(mqd
: ::mqd_t
, notification
: *const ::sigevent
) -> ::c_int
;
1025 pub fn mq_receive(mqd
: ::mqd_t
,
1026 msg_ptr
: *mut ::c_char
,
1028 msq_prio
: *mut ::c_uint
) -> ::ssize_t
;
1029 pub fn mq_send(mqd
: ::mqd_t
,
1030 msg_ptr
: *const ::c_char
,
1032 msq_prio
: ::c_uint
) -> ::c_int
;
1033 pub fn mq_setattr(mqd
: ::mqd_t
,
1034 newattr
: *const ::mq_attr
,
1035 oldattr
: *mut ::mq_attr
) -> ::c_int
;
1036 pub fn mq_timedreceive(mqd
: ::mqd_t
,
1037 msg_ptr
: *mut ::c_char
,
1039 msq_prio
: *mut ::c_uint
,
1040 abs_timeout
: *const ::timespec
) -> ::ssize_t
;
1041 pub fn mq_timedsend(mqd
: ::mqd_t
,
1042 msg_ptr
: *const ::c_char
,
1045 abs_timeout
: *const ::timespec
) -> ::c_int
;
1046 pub fn mq_unlink(name
: *const ::c_char
) -> ::c_int
;
1047 pub fn ptrace(request
: ::c_int
,
1049 addr
: *mut ::c_void
,
1050 data
: ::c_int
) -> ::c_int
;
1051 pub fn pthread_setname_np(t
: ::pthread_t
,
1052 name
: *const ::c_char
,
1053 arg
: *mut ::c_void
) -> ::c_int
;
1054 pub fn pthread_getattr_np(native
: ::pthread_t
,
1055 attr
: *mut ::pthread_attr_t
) -> ::c_int
;
1056 pub fn pthread_attr_getguardsize(attr
: *const ::pthread_attr_t
,
1057 guardsize
: *mut ::size_t
) -> ::c_int
;
1058 pub fn pthread_attr_getstack(attr
: *const ::pthread_attr_t
,
1059 stackaddr
: *mut *mut ::c_void
,
1060 stacksize
: *mut ::size_t
) -> ::c_int
;
1061 #[link_name = "__sigtimedwait50"]
1062 pub fn sigtimedwait(set
: *const sigset_t
,
1063 info
: *mut siginfo_t
,
1064 timeout
: *const ::timespec
) -> ::c_int
;
1065 pub fn sigwaitinfo(set
: *const sigset_t
,
1066 info
: *mut siginfo_t
) -> ::c_int
;
1067 pub fn duplocale(base
: ::locale_t
) -> ::locale_t
;
1068 pub fn freelocale(loc
: ::locale_t
);
1069 pub fn localeconv_l(loc
: ::locale_t
) -> *mut lconv
;
1070 pub fn newlocale(mask
: ::c_int
,
1071 locale
: *const ::c_char
,
1072 base
: ::locale_t
) -> ::locale_t
;
1073 #[link_name = "__settimeofday50"]
1074 pub fn settimeofday(tv
: *const ::timeval
, tz
: *const ::c_void
) -> ::c_int
;
1077 #[link(name = "util")]
1079 #[cfg_attr(target_os = "netbsd", link_name = "__getpwent_r50")]
1080 pub fn getpwent_r(pwd
: *mut ::passwd
,
1083 result
: *mut *mut ::passwd
) -> ::c_int
;
1084 pub fn getgrent_r(grp
: *mut ::group
,
1087 result
: *mut *mut ::group
) -> ::c_int
;
1091 pub use self::other
::*;