Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions libc-test/semver/openbsd.txt
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,12 @@ DAY_4
DAY_5
DAY_6
DAY_7
DTYPE_DMABUF
DTYPE_KQUEUE
DTYPE_PIPE
DTYPE_SOCKET
DTYPE_SYNC
DTYPE_VNODE
DT_UNKNOWN
D_FMT
D_T_FMT
Expand Down Expand Up @@ -361,6 +367,14 @@ KERN_CPUSTATS
KERN_DOMAINNAME
KERN_EVCOUNT
KERN_FILE
KERN_FILESLOP
KERN_FILE_BYFILE
KERN_FILE_BYPID
KERN_FILE_BYUID
KERN_FILE_CDIR
KERN_FILE_RDIR
KERN_FILE_TEXT
KERN_FILE_TRACE
KERN_FORKSTAT
KERN_FSCALE
KERN_FSYNC
Expand Down Expand Up @@ -440,7 +454,9 @@ KERN_WATCHDOG
KI_EMULNAMELEN
KI_MAXCOMLEN
KI_MAXLOGNAME
KI_MNAMELEN
KI_NGROUPS
KI_UNPPATHLEN
KI_WMESGLEN
KVE_ADV_NORMAL
KVE_ADV_RANDOM
Expand Down Expand Up @@ -1182,6 +1198,7 @@ jrand48
kevent
key_t
killpg
kinfo_file
kinfo_proc
kinfo_vmentry
kqueue
Expand Down
92 changes: 92 additions & 0 deletions src/unix/bsd/netbsdlike/openbsd/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -525,6 +525,77 @@ s! {
pub p_name: [c_char; KI_MAXCOMLEN as usize],
}

pub struct kinfo_file {
pub f_fileaddr: u64,
pub f_flag: u32,
pub f_iflags: u32,
pub f_type: u32,
pub f_count: u32,
pub f_msgcount: u32,
pub f_usecount: u32,
pub f_ucred: u64,
pub f_uid: u32,
pub f_gid: u32,
pub f_ops: u64,
pub f_offset: u64,
pub f_data: u64,
pub f_rxfer: u64,
pub f_rwfer: u64,
pub f_seek: u64,
pub f_rbytes: u64,
pub f_wbytes: u64,
pub v_un: u64,
pub v_type: u32,
pub v_tag: u32,
pub v_flag: u32,
pub va_rdev: u32,
pub v_data: u64,
pub v_mount: u64,
pub va_fileid: u64,
pub va_size: u64,
pub va_mode: u32,
pub va_fsid: u32,
pub f_mntonname: [c_char; KI_MNAMELEN as usize],
pub so_type: u32,
pub so_state: u32,
pub so_pcb: u64,
pub so_protocol: u32,
pub so_family: u32,
pub inp_ppcb: u64,
pub inp_lport: u32,
pub inp_laddru: [u32; 4],
pub inp_fport: u32,
pub inp_faddru: [u32; 4],
pub unp_conn: u64,
pub pipe_peer: u64,
pub pipe_state: u32,
pub kq_count: u32,
pub kq_state: u32,
pub __unused1: u32,
pub p_pid: u32,
pub fd_fd: i32,
pub fd_ofileflags: u32,
pub p_uid: u32,
pub p_gid: u32,
pub p_tid: u32,
pub p_comm: [c_char; KI_MAXCOMLEN as usize],
pub inp_rtableid: u32,
pub so_splice: u64,
pub so_splicelen: i64,
pub so_rcv_cc: u64,
pub so_snd_cc: u64,
pub unp_refs: u64,
pub unp_nextref: u64,
pub unp_addr: u64,
pub unp_path: [c_char; KI_UNPPATHLEN as usize],
pub inp_proto: u32,
pub t_state: u32,
pub t_rcv_wnd: u64,
pub t_snd_wnd: u64,
pub t_snd_cwnd: u64,
pub va_nlink: u32,
}

pub struct kinfo_vmentry {
pub kve_start: c_ulong,
pub kve_end: c_ulong,
Expand Down Expand Up @@ -1411,6 +1482,19 @@ pub const KVE_INH_ZERO: c_int = 0x00000030;
pub const KVE_F_STATIC: c_int = 0x1;
pub const KVE_F_KMEM: c_int = 0x2;

pub const KERN_FILE_BYFILE: c_int = 1;
pub const KERN_FILE_BYPID: c_int = 2;
pub const KERN_FILE_BYUID: c_int = 3;
pub const KERN_FILESLOP: c_int = 10;

pub const KERN_FILE_TEXT: c_int = -1;
pub const KERN_FILE_CDIR: c_int = -2;
pub const KERN_FILE_RDIR: c_int = -3;
pub const KERN_FILE_TRACE: c_int = -4;

pub const KI_MNAMELEN: c_int = 96;
pub const KI_UNPPATHLEN: c_int = 104;

pub const CHWFLOW: crate::tcflag_t = crate::MDMBUF | crate::CRTSCTS;
pub const OLCUC: crate::tcflag_t = 0x20;
pub const ONOCR: crate::tcflag_t = 0x40;
Expand Down Expand Up @@ -1553,6 +1637,14 @@ pub const FUTEX_WAKE: c_int = 2;
pub const FUTEX_REQUEUE: c_int = 3;
pub const FUTEX_PRIVATE_FLAG: c_int = 128;

// sys/file.h
pub const DTYPE_VNODE: c_int = 1;
pub const DTYPE_SOCKET: c_int = 2;
pub const DTYPE_PIPE: c_int = 3;
pub const DTYPE_KQUEUE: c_int = 4;
pub const DTYPE_DMABUF: c_int = 5;
pub const DTYPE_SYNC: c_int = 6;

// sysctl.h, kinfo_proc p_eflag constants
pub const EPROC_CTTY: i32 = 0x01; // controlling tty vnode active
pub const EPROC_SLEADER: i32 = 0x02; // session leader
Expand Down