Skip to content

Commit 474d87e

Browse files
committed
Auto merge of #2792 - Freaky:netbsd_kinfo_proc2, r=Amanieu
Add NetBSD ki_sigset_t, kinfo_proc2, and kinfo_lwp structs
2 parents 7c67179 + 22cf59f commit 474d87e

File tree

2 files changed

+147
-1
lines changed

2 files changed

+147
-1
lines changed

libc-test/semver/netbsd.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1275,8 +1275,10 @@ jrand48
12751275
kevent
12761276
key_t
12771277
killpg
1278-
kinfo_vmentry
12791278
kinfo_getvmmap
1279+
kinfo_lwp
1280+
kinfo_proc2
1281+
kinfo_vmentry
12801282
kqueue
12811283
kqueue1
12821284
labs

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

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -487,6 +487,134 @@ s! {
487487
af_arg: [[::c_char; 10]; 24],
488488
}
489489

490+
pub struct ki_sigset_t {
491+
pub __bits: [u32; 4],
492+
}
493+
494+
pub struct kinfo_proc2 {
495+
pub p_forw: u64,
496+
pub p_back: u64,
497+
pub p_paddr: u64,
498+
pub p_addr: u64,
499+
pub p_fd: u64,
500+
pub p_cwdi: u64,
501+
pub p_stats: u64,
502+
pub p_limit: u64,
503+
pub p_vmspace: u64,
504+
pub p_sigacts: u64,
505+
pub p_sess: u64,
506+
pub p_tsess: u64,
507+
pub p_ru: u64,
508+
pub p_eflag: i32,
509+
pub p_exitsig: i32,
510+
pub p_flag: i32,
511+
pub p_pid: i32,
512+
pub p_ppid: i32,
513+
pub p_sid: i32,
514+
pub p__pgid: i32,
515+
pub p_tpgid: i32,
516+
pub p_uid: u32,
517+
pub p_ruid: u32,
518+
pub p_gid: u32,
519+
pub p_rgid: u32,
520+
pub p_groups: [u32; KI_NGROUPS as usize],
521+
pub p_ngroups: i16,
522+
pub p_jobc: i16,
523+
pub p_tdev: u32,
524+
pub p_estcpu: u32,
525+
pub p_rtime_sec: u32,
526+
pub p_rtime_usec: u32,
527+
pub p_cpticks: i32,
528+
pub p_pctcpu: u32,
529+
pub p_swtime: u32,
530+
pub p_slptime: u32,
531+
pub p_schedflags: i32,
532+
pub p_uticks: u64,
533+
pub p_sticks: u64,
534+
pub p_iticks: u64,
535+
pub p_tracep: u64,
536+
pub p_traceflag: i32,
537+
pub p_holdcnt: i32,
538+
pub p_siglist: ki_sigset_t,
539+
pub p_sigmask: ki_sigset_t,
540+
pub p_sigignore: ki_sigset_t,
541+
pub p_sigcatch: ki_sigset_t,
542+
pub p_stat: i8,
543+
pub p_priority: u8,
544+
pub p_usrpri: u8,
545+
pub p_nice: u8,
546+
pub p_xstat: u16,
547+
pub p_acflag: u16,
548+
pub p_comm: [::c_char; KI_MAXCOMLEN as usize],
549+
pub p_wmesg: [::c_char; KI_WMESGLEN as usize],
550+
pub p_wchan: u64,
551+
pub p_login: [::c_char; KI_MAXLOGNAME as usize],
552+
pub p_vm_rssize: i32,
553+
pub p_vm_tsize: i32,
554+
pub p_vm_dsize: i32,
555+
pub p_vm_ssize: i32,
556+
pub p_uvalid: i64,
557+
pub p_ustart_sec: u32,
558+
pub p_ustart_usec: u32,
559+
pub p_uutime_sec: u32,
560+
pub p_uutime_usec: u32,
561+
pub p_ustime_sec: u32,
562+
pub p_ustime_usec: u32,
563+
pub p_uru_maxrss: u64,
564+
pub p_uru_ixrss: u64,
565+
pub p_uru_idrss: u64,
566+
pub p_uru_isrss: u64,
567+
pub p_uru_minflt: u64,
568+
pub p_uru_majflt: u64,
569+
pub p_uru_nswap: u64,
570+
pub p_uru_inblock: u64,
571+
pub p_uru_oublock: u64,
572+
pub p_uru_msgsnd: u64,
573+
pub p_uru_msgrcv: u64,
574+
pub p_uru_nsignals: u64,
575+
pub p_uru_nvcsw: u64,
576+
pub p_uru_nivcsw: u64,
577+
pub p_uctime_sec: u32,
578+
pub p_uctime_usec: u32,
579+
pub p_cpuid: u64,
580+
pub p_realflag: u64,
581+
pub p_nlwps: u64,
582+
pub p_nrlwps: u64,
583+
pub p_realstat: u64,
584+
pub p_svuid: u32,
585+
pub p_svgid: u32,
586+
pub p_ename: [::c_char; KI_MAXEMULLEN as usize],
587+
pub p_vm_vsize: i64,
588+
pub p_vm_msize: i64,
589+
}
590+
591+
pub struct kinfo_lwp {
592+
pub l_forw: u64,
593+
pub l_back: u64,
594+
pub l_laddr: u64,
595+
pub l_addr: u64,
596+
pub l_lid: i32,
597+
pub l_flag: i32,
598+
pub l_swtime: u32,
599+
pub l_slptime: u32,
600+
pub l_schedflags: i32,
601+
pub l_holdcnt: i32,
602+
pub l_priority: u8,
603+
pub l_usrpri: u8,
604+
pub l_stat: i8,
605+
l_pad1: i8,
606+
l_pad2: i32,
607+
pub l_wmesg: [::c_char; KI_WMESGLEN as usize],
608+
pub l_wchan: u64,
609+
pub l_cpuid: u64,
610+
pub l_rtime_sec: u32,
611+
pub l_rtime_usec: u32,
612+
pub l_cpticks: u32,
613+
pub l_pctcpu: u32,
614+
pub l_pid: u32,
615+
pub l_name: [::c_char; KI_LNAMELEN as usize],
616+
}
617+
490618
pub struct kinfo_vmentry {
491619
pub kve_start: u64,
492620
pub kve_end: u64,
@@ -2121,6 +2249,22 @@ pub const KVME_FLAG_GROWS_DOWN: ::c_int = 0x000000020;
21212249

21222250
pub const NGROUPS_MAX: ::c_int = 16;
21232251

2252+
pub const KI_NGROUPS: ::c_int = 16;
2253+
pub const KI_MAXCOMLEN: ::c_int = 24;
2254+
pub const KI_WMESGLEN: ::c_int = 8;
2255+
pub const KI_MAXLOGNAME: ::c_int = 24;
2256+
pub const KI_MAXEMULLEN: ::c_int = 16;
2257+
pub const KI_LNAMELEN: ::c_int = 20;
2258+
2259+
// sys/lwp.h
2260+
pub const LSIDL: ::c_int = 1;
2261+
pub const LSRUN: ::c_int = 2;
2262+
pub const LSSLEEP: ::c_int = 3;
2263+
pub const LSSTOP: ::c_int = 4;
2264+
pub const LSZOMB: ::c_int = 5;
2265+
pub const LSONPROC: ::c_int = 7;
2266+
pub const LSSUSPENDED: ::c_int = 8;
2267+
21242268
const_fn! {
21252269
{const} fn _ALIGN(p: usize) -> usize {
21262270
(p + _ALIGNBYTES) & !_ALIGNBYTES

0 commit comments

Comments
 (0)