File tree Expand file tree Collapse file tree 7 files changed +115
-1
lines changed
unix/bsd/netbsdlike/netbsd Expand file tree Collapse file tree 7 files changed +115
-1
lines changed Original file line number Diff line number Diff line change @@ -1521,6 +1521,8 @@ fn test_netbsd(target: &str) {
15211521 ( "ifreq" , "ifr_ifru" ) => true ,
15221522 ( "utmpx" , "ut_exit" ) => true ,
15231523 ( "posix_spawn_file_actions_entry_t" , "fae_data" ) => true ,
1524+ ( "kinfo_pcb" , "ki_s" ) => true ,
1525+ ( "kinfo_pcb" , "ki_d" ) => true ,
15241526
15251527 _ => false ,
15261528 }
Original file line number Diff line number Diff line change @@ -235,6 +235,16 @@ DCCP_TYPE_RESET
235235DCCP_TYPE_RESPONSE
236236DEAD_PROCESS
237237DOWN_TIME
238+ DTYPE_CRYPTO
239+ DTYPE_EVENTFD
240+ DTYPE_KQUEUE
241+ DTYPE_MISC
242+ DTYPE_MQUEUE
243+ DTYPE_PIPE
244+ DTYPE_SEM
245+ DTYPE_SOCKET
246+ DTYPE_TIMERFD
247+ DTYPE_VNODE
238248DT_UNKNOWN
239249D_FMT
240250D_T_FMT
@@ -499,6 +509,9 @@ KERN_DUMP_ON_PANIC
499509KERN_EVCNT
500510KERN_FILE
501511KERN_FILE2
512+ KERN_FILESLOP
513+ KERN_FILE_BYFILE
514+ KERN_FILE_BYPID
502515KERN_FORKFSLEEP
503516KERN_FSCALE
504517KERN_FSYNC
@@ -767,6 +780,8 @@ O_RSYNC
767780O_SEARCH
768781O_SHLOCK
769782O_SYNC
783+ PCB_ALL
784+ PCB_SLOP
770785PENDIN
771786PF_APPLETALK
772787PF_ARP
@@ -1381,8 +1396,10 @@ jrand48
13811396kevent
13821397key_t
13831398killpg
1399+ kinfo_file
13841400kinfo_getvmmap
13851401kinfo_lwp
1402+ kinfo_pcb
13861403kinfo_proc2
13871404kinfo_vmentry
13881405kqueue
@@ -1629,4 +1646,4 @@ utmpxname
16291646utrace
16301647uucred
16311648wait4
1632- waitid
1649+ waitid
Original file line number Diff line number Diff line change @@ -195,7 +195,9 @@ cfg_if! {
195195 pub use signal:: * ;
196196 } else if #[ cfg( target_os = "netbsd" ) ] {
197197 pub use net:: if_:: * ;
198+ pub use sys:: file:: * ;
198199 pub use sys:: ipc:: * ;
200+ pub use sys:: socket:: * ;
199201 pub use sys:: statvfs:: * ;
200202 pub use sys:: time:: * ;
201203 pub use sys:: timex:: * ;
Original file line number Diff line number Diff line change 1+ //! Header: `sys/file.h`
2+ //!
3+ //! <https://github.com/NetBSD/src/blob/trunk/sys/sys/file.h>
4+
5+ use crate :: prelude:: * ;
6+
7+ pub const DTYPE_VNODE : c_int = 1 ;
8+ pub const DTYPE_SOCKET : c_int = 2 ;
9+ pub const DTYPE_PIPE : c_int = 3 ;
10+ pub const DTYPE_KQUEUE : c_int = 4 ;
11+ pub const DTYPE_MISC : c_int = 5 ;
12+ pub const DTYPE_CRYPTO : c_int = 6 ;
13+ pub const DTYPE_MQUEUE : c_int = 7 ;
14+ pub const DTYPE_SEM : c_int = 8 ;
15+ pub const DTYPE_EVENTFD : c_int = 9 ;
16+ pub const DTYPE_TIMERFD : c_int = 10 ;
Original file line number Diff line number Diff line change 22//!
33//! https://github.com/NetBSD/src/tree/trunk/sys/sys
44
5+ pub ( crate ) mod file;
56pub ( crate ) mod ipc;
7+ pub ( crate ) mod socket;
68pub ( crate ) mod statvfs;
79pub ( crate ) mod time;
810pub ( crate ) mod timex;
Original file line number Diff line number Diff line change 1+ //! Header: `sys/socket.h`
2+ //!
3+ //! <https://github.com/NetBSD/src/blob/trunk/sys/sys/socket.h>
4+ //!
5+
6+ use crate :: prelude:: * ;
7+
8+ s_no_extra_traits ! {
9+ pub union __c_anonymous_pcb_sockaddr_src {
10+ pub _kis_src: crate :: sockaddr,
11+ _kis_pad: Padding <[ c_char; 256 + 8 ] >,
12+ }
13+
14+ pub union __c_anonymous_pcb_sockaddr_dst {
15+ pub _kid_dst: crate :: sockaddr,
16+ _kid_pad: Padding <[ c_char; 256 + 8 ] >,
17+ }
18+
19+ pub struct kinfo_pcb {
20+ pub ki_pcbaddr: u64 ,
21+ pub ki_ppcbaddr: u64 ,
22+ pub ki_sockaddr: u64 ,
23+ pub ki_family: u32 ,
24+ pub ki_type: u32 ,
25+ pub ki_protocol: u32 ,
26+ pub ki_pflags: u32 ,
27+ pub ki_sostate: u32 ,
28+ pub ki_prstate: u32 ,
29+ pub ki_tstate: i32 ,
30+ pub ki_tflags: u32 ,
31+ pub ki_rcvq: u64 ,
32+ pub ki_sndq: u64 ,
33+ pub ki_s: __c_anonymous_pcb_sockaddr_src,
34+ pub ki_d: __c_anonymous_pcb_sockaddr_dst,
35+ pub ki_inode: u64 ,
36+ pub ki_vnode: u64 ,
37+ pub ki_conn: u64 ,
38+ pub ki_refs: u64 ,
39+ pub ki_nextref: u64 ,
40+ }
41+ }
42+
43+ pub const PCB_SLOP : c_int = 20 ;
44+ pub const PCB_ALL : c_int = 0 ;
Original file line number Diff line number Diff line change @@ -443,6 +443,33 @@ s! {
443443 pub a_v: Elf64_Xword ,
444444 }
445445
446+ // sys/sysctl.h
447+
448+ pub struct kinfo_file {
449+ pub ki_fileaddr: u64 ,
450+ pub ki_flag: u32 ,
451+ pub ki_iflags: u32 ,
452+ pub ki_ftype: u32 ,
453+ pub ki_count: u32 ,
454+ pub ki_msgcount: u32 ,
455+ pub ki_usecount: u32 ,
456+ pub ki_fucred: u64 ,
457+ pub ki_fuid: u32 ,
458+ pub ki_fgid: u32 ,
459+ pub ki_fops: u64 ,
460+ pub ki_foffset: u64 ,
461+ pub ki_fdata: u64 ,
462+ pub ki_vun: u64 ,
463+ pub ki_vsize: u64 ,
464+ pub ki_vtype: u32 ,
465+ pub ki_vtag: u32 ,
466+ pub ki_vdata: u64 ,
467+ pub ki_pid: u32 ,
468+ pub ki_fd: i32 ,
469+ pub ki_ofileflags: u32 ,
470+ _ki_padto64bits: Padding <u32 >,
471+ }
472+
446473 // link.h
447474
448475 pub struct dl_phdr_info {
@@ -1698,6 +1725,10 @@ pub const KI_MAXLOGNAME: c_int = 24;
16981725pub const KI_MAXEMULLEN : c_int = 16 ;
16991726pub const KI_LNAMELEN : c_int = 20 ;
17001727
1728+ pub const KERN_FILE_BYFILE : c_int = 1 ;
1729+ pub const KERN_FILE_BYPID : c_int = 2 ;
1730+ pub const KERN_FILESLOP : c_int = 10 ;
1731+
17011732// sys/lwp.h
17021733pub const LSIDL : c_int = 1 ;
17031734pub const LSRUN : c_int = 2 ;
You can’t perform that action at this time.
0 commit comments