@@ -403,6 +403,103 @@ s! {
403
403
}
404
404
405
405
// 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
+
406
503
pub struct kinfo_vmentry {
407
504
pub kve_start: :: c_ulong,
408
505
pub kve_end: :: c_ulong,
@@ -1525,6 +1622,12 @@ pub const FUTEX_WAKE: ::c_int = 2;
1525
1622
pub const FUTEX_REQUEUE : :: c_int = 3 ;
1526
1623
pub const FUTEX_PRIVATE_FLAG : :: c_int = 128 ;
1527
1624
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
+
1528
1631
const_fn ! {
1529
1632
{ const } fn _ALIGN( p: usize ) -> usize {
1530
1633
( p + _ALIGNBYTES) & !_ALIGNBYTES
0 commit comments