Skip to content

Commit c3e4df1

Browse files
committed
Auto merge of #2786 - Freaky:openbsd_kinfo_proc, r=Amanieu
Add OpenBSD kinfo_proc struct
2 parents a72d300 + ae7a8f8 commit c3e4df1

File tree

2 files changed

+104
-0
lines changed

2 files changed

+104
-0
lines changed

libc-test/semver/openbsd.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1042,6 +1042,7 @@ jrand48
10421042
kevent
10431043
key_t
10441044
killpg
1045+
kinfo_proc
10451046
kinfo_vmentry
10461047
kqueue
10471048
labs

src/unix/bsd/netbsdlike/openbsd/mod.rs

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,103 @@ s! {
403403
}
404404

405405
// sys/sysctl.h
406+
pub struct kinfo_proc {
407+
pub p_forw: u64,
408+
pub p_back: u64,
409+
pub p_paddr: u64,
410+
pub p_addr: u64,
411+
pub p_fd: u64,
412+
pub p_stats: u64,
413+
pub p_limit: u64,
414+
pub p_vmspace: u64,
415+
pub p_sigacts: u64,
416+
pub p_sess: u64,
417+
pub p_tsess: u64,
418+
pub p_ru: u64,
419+
pub p_eflag: i32,
420+
pub p_exitsig: i32,
421+
pub p_flag: i32,
422+
pub p_pid: i32,
423+
pub p_ppid: i32,
424+
pub p_sid: i32,
425+
pub p__pgid: i32,
426+
pub p_tpgid: i32,
427+
pub p_uid: u32,
428+
pub p_ruid: u32,
429+
pub p_gid: u32,
430+
pub p_rgid: u32,
431+
pub p_groups: [u32; KI_NGROUPS as usize],
432+
pub p_ngroups: i16,
433+
pub p_jobc: i16,
434+
pub p_tdev: u32,
435+
pub p_estcpu: u32,
436+
pub p_rtime_sec: u32,
437+
pub p_rtime_usec: u32,
438+
pub p_cpticks: i32,
439+
pub p_pctcpu: u32,
440+
pub p_swtime: u32,
441+
pub p_slptime: u32,
442+
pub p_schedflags: i32,
443+
pub p_uticks: u64,
444+
pub p_sticks: u64,
445+
pub p_iticks: u64,
446+
pub p_tracep: u64,
447+
pub p_traceflag: i32,
448+
pub p_holdcnt: i32,
449+
pub p_siglist: i32,
450+
pub p_sigmask: u32,
451+
pub p_sigignore: u32,
452+
pub p_sigcatch: u32,
453+
pub p_stat: i8,
454+
pub p_priority: u8,
455+
pub p_usrpri: u8,
456+
pub p_nice: u8,
457+
pub p_xstat: u16,
458+
pub p_spare: u16,
459+
pub p_comm: [::c_char; KI_MAXCOMLEN as usize],
460+
pub p_wmesg: [::c_char; KI_WMESGLEN as usize],
461+
pub p_wchan: u64,
462+
pub p_login: [::c_char; KI_MAXLOGNAME as usize],
463+
pub p_vm_rssize: i32,
464+
pub p_vm_tsize: i32,
465+
pub p_vm_dsize: i32,
466+
pub p_vm_ssize: i32,
467+
pub p_uvalid: i64,
468+
pub p_ustart_sec: u64,
469+
pub p_ustart_usec: u32,
470+
pub p_uutime_sec: u32,
471+
pub p_uutime_usec: u32,
472+
pub p_ustime_sec: u32,
473+
pub p_ustime_usec: u32,
474+
pub p_uru_maxrss: u64,
475+
pub p_uru_ixrss: u64,
476+
pub p_uru_idrss: u64,
477+
pub p_uru_isrss: u64,
478+
pub p_uru_minflt: u64,
479+
pub p_uru_majflt: u64,
480+
pub p_uru_nswap: u64,
481+
pub p_uru_inblock: u64,
482+
pub p_uru_oublock: u64,
483+
pub p_uru_msgsnd: u64,
484+
pub p_uru_msgrcv: u64,
485+
pub p_uru_nsignals: u64,
486+
pub p_uru_nvcsw: u64,
487+
pub p_uru_nivcsw: u64,
488+
pub p_uctime_sec: u32,
489+
pub p_uctime_usec: u32,
490+
pub p_psflags: u32,
491+
pub p_acflag: u32,
492+
pub p_svuid: u32,
493+
pub p_svgid: u32,
494+
pub p_emul: [::c_char; KI_EMULNAMELEN as usize],
495+
pub p_rlim_rss_cur: u64,
496+
pub p_cpuid: u64,
497+
pub p_vm_map_size: u64,
498+
pub p_tid: i32,
499+
pub p_rtableid: u32,
500+
pub p_pledge: u64,
501+
}
502+
406503
pub struct kinfo_vmentry {
407504
pub kve_start: ::c_ulong,
408505
pub kve_end: ::c_ulong,
@@ -1525,6 +1622,12 @@ pub const FUTEX_WAKE: ::c_int = 2;
15251622
pub const FUTEX_REQUEUE: ::c_int = 3;
15261623
pub const FUTEX_PRIVATE_FLAG: ::c_int = 128;
15271624

1625+
// sysctl.h, kinfo_proc p_eflag constants
1626+
pub const EPROC_CTTY: i32 = 0x01; // controlling tty vnode active
1627+
pub const EPROC_SLEADER: i32 = 0x02; // session leader
1628+
pub const EPROC_UNVEIL: i32 = 0x04; // has unveil settings
1629+
pub const EPROC_LKUNVEIL: i32 = 0x08; // unveil is locked
1630+
15281631
const_fn! {
15291632
{const} fn _ALIGN(p: usize) -> usize {
15301633
(p + _ALIGNBYTES) & !_ALIGNBYTES

0 commit comments

Comments
 (0)