@@ -370,6 +370,16 @@ s! {
370370 pub t_sw: i16 ,
371371 pub t_pad: [ u16 ; 3 ] ,
372372 }
373+
374+ pub struct rusage_ext {
375+ pub rux_runtime: u64 ,
376+ pub rux_uticks: u64 ,
377+ pub rux_sticks: u64 ,
378+ pub rux_iticks: u64 ,
379+ pub rux_uu: u64 ,
380+ pub rux_su: u64 ,
381+ pub rux_tu: u64 ,
382+ }
373383}
374384
375385s_no_extra_traits ! {
@@ -856,13 +866,67 @@ pub const CTL_HW: ::c_int = 6;
856866pub const CTL_MACHDEP : :: c_int = 7 ;
857867pub const CTL_USER : :: c_int = 8 ;
858868pub const CTL_P1003_1B : :: c_int = 9 ;
869+
870+ // sys/sysctl.h
871+ pub const CTL_MAXNAME : :: c_int = 24 ;
872+
873+ pub const CTLTYPE : :: c_int = 0xf ;
874+ pub const CTLTYPE_NODE : :: c_int = 1 ;
875+ pub const CTLTYPE_INT : :: c_int = 2 ;
876+ pub const CTLTYPE_STRING : :: c_int = 3 ;
877+ pub const CTLTYPE_S64 : :: c_int = 4 ;
878+ pub const CTLTYPE_OPAQUE : :: c_int = 5 ;
879+ pub const CTLTYPE_STRUCT : :: c_int = CTLTYPE_OPAQUE ;
880+ pub const CTLTYPE_UINT : :: c_int = 6 ;
881+ pub const CTLTYPE_LONG : :: c_int = 7 ;
882+ pub const CTLTYPE_ULONG : :: c_int = 8 ;
883+ pub const CTLTYPE_U64 : :: c_int = 9 ;
884+ pub const CTLTYPE_U8 : :: c_int = 0xa ;
885+ pub const CTLTYPE_U16 : :: c_int = 0xb ;
886+ pub const CTLTYPE_S8 : :: c_int = 0xc ;
887+ pub const CTLTYPE_S16 : :: c_int = 0xd ;
888+ pub const CTLTYPE_S32 : :: c_int = 0xe ;
889+ pub const CTLTYPE_U32 : :: c_int = 0xf ;
890+
891+ pub const CTLFLAG_RD : :: c_int = 0x80000000 ;
892+ pub const CTLFLAG_WR : :: c_int = 0x40000000 ;
893+ pub const CTLFLAG_RW : :: c_int = CTLFLAG_RD | CTLFLAG_WR ;
894+ pub const CTLFLAG_DORMANT : :: c_int = 0x20000000 ;
895+ pub const CTLFLAG_ANYBODY : :: c_int = 0x10000000 ;
896+ pub const CTLFLAG_SECURE : :: c_int = 0x08000000 ;
897+ pub const CTLFLAG_PRISON : :: c_int = 0x04000000 ;
898+ pub const CTLFLAG_DYN : :: c_int = 0x02000000 ;
899+ pub const CTLFLAG_SKIP : :: c_int = 0x01000000 ;
900+ pub const CTLMASK_SECURE : :: c_int = 0x00F00000 ;
901+ pub const CTLFLAG_TUN : :: c_int = 0x00080000 ;
902+ pub const CTLFLAG_RDTUN : :: c_int = CTLFLAG_RD | CTLFLAG_TUN ;
903+ pub const CTLFLAG_RWTUN : :: c_int = CTLFLAG_RW | CTLFLAG_TUN ;
904+ pub const CTLFLAG_MPSAFE : :: c_int = 0x00040000 ;
905+ pub const CTLFLAG_VNET : :: c_int = 0x00020000 ;
906+ pub const CTLFLAG_DYING : :: c_int = 0x00010000 ;
907+ pub const CTLFLAG_CAPRD : :: c_int = 0x00008000 ;
908+ pub const CTLFLAG_CAPWR : :: c_int = 0x00004000 ;
909+ pub const CTLFLAG_STATS : :: c_int = 0x00002000 ;
910+ pub const CTLFLAG_NOFETCH : :: c_int = 0x00001000 ;
911+ pub const CTLFLAG_CAPRW : :: c_int = CTLFLAG_CAPRD | CTLFLAG_CAPWR ;
912+ pub const CTLFLAG_NEEDGIANT : :: c_int = 0x00000800 ;
913+
914+ pub const CTLSHIFT_SECURE : :: c_int = 20 ;
915+ pub const CTLFLAG_SECURE1 : :: c_int = CTLFLAG_SECURE | ( 0 << CTLSHIFT_SECURE ) ;
916+ pub const CTLFLAG_SECURE2 : :: c_int = CTLFLAG_SECURE | ( 1 << CTLSHIFT_SECURE ) ;
917+ pub const CTLFLAG_SECURE3 : :: c_int = CTLFLAG_SECURE | ( 2 << CTLSHIFT_SECURE ) ;
918+
919+ pub const OID_AUTO : :: c_int = -1 ;
920+
859921pub const CTL_SYSCTL_DEBUG : :: c_int = 0 ;
860922pub const CTL_SYSCTL_NAME : :: c_int = 1 ;
861923pub const CTL_SYSCTL_NEXT : :: c_int = 2 ;
862924pub const CTL_SYSCTL_NAME2OID : :: c_int = 3 ;
863925pub const CTL_SYSCTL_OIDFMT : :: c_int = 4 ;
864926pub const CTL_SYSCTL_OIDDESCR : :: c_int = 5 ;
865927pub const CTL_SYSCTL_OIDLABEL : :: c_int = 6 ;
928+ pub const CTL_SYSCTL_NEXTNOSKIP : :: c_int = 7 ;
929+
866930pub const KERN_OSTYPE : :: c_int = 1 ;
867931pub const KERN_OSRELEASE : :: c_int = 2 ;
868932pub const KERN_OSREV : :: c_int = 3 ;
@@ -900,6 +964,9 @@ pub const KERN_LOGSIGEXIT: ::c_int = 34;
900964pub const KERN_IOV_MAX : :: c_int = 35 ;
901965pub const KERN_HOSTUUID : :: c_int = 36 ;
902966pub const KERN_ARND : :: c_int = 37 ;
967+ pub const KERN_MAXPHYS : :: c_int = 38 ;
968+ pub const KERN_STACKTOP : :: c_int = 39 ;
969+
903970pub const KERN_PROC_ALL : :: c_int = 0 ;
904971pub const KERN_PROC_PID : :: c_int = 1 ;
905972pub const KERN_PROC_PGRP : :: c_int = 2 ;
@@ -927,13 +994,18 @@ pub const KERN_PROC_PS_STRINGS: ::c_int = 38;
927994pub const KERN_PROC_UMASK : :: c_int = 39 ;
928995pub const KERN_PROC_OSREL : :: c_int = 40 ;
929996pub const KERN_PROC_SIGTRAMP : :: c_int = 41 ;
997+ pub const KERN_PROC_CWD : :: c_int = 42 ;
998+ pub const KERN_PROC_NFDS : :: c_int = 43 ;
999+ pub const KERN_PROC_SIGFASTBLK : :: c_int = 44 ;
1000+
9301001pub const KIPC_MAXSOCKBUF : :: c_int = 1 ;
9311002pub const KIPC_SOCKBUF_WASTE : :: c_int = 2 ;
9321003pub const KIPC_SOMAXCONN : :: c_int = 3 ;
9331004pub const KIPC_MAX_LINKHDR : :: c_int = 4 ;
9341005pub const KIPC_MAX_PROTOHDR : :: c_int = 5 ;
9351006pub const KIPC_MAX_HDR : :: c_int = 6 ;
9361007pub const KIPC_MAX_DATALEN : :: c_int = 7 ;
1008+
9371009pub const HW_MACHINE : :: c_int = 1 ;
9381010pub const HW_MODEL : :: c_int = 2 ;
9391011pub const HW_NCPU : :: c_int = 3 ;
@@ -946,6 +1018,7 @@ pub const HW_DISKSTATS: ::c_int = 9;
9461018pub const HW_FLOATINGPT : :: c_int = 10 ;
9471019pub const HW_MACHINE_ARCH : :: c_int = 11 ;
9481020pub const HW_REALMEM : :: c_int = 12 ;
1021+
9491022pub const USER_CS_PATH : :: c_int = 1 ;
9501023pub const USER_BC_BASE_MAX : :: c_int = 2 ;
9511024pub const USER_BC_DIM_MAX : :: c_int = 3 ;
@@ -966,6 +1039,8 @@ pub const USER_POSIX2_SW_DEV: ::c_int = 17;
9661039pub const USER_POSIX2_UPE : :: c_int = 18 ;
9671040pub const USER_STREAM_MAX : :: c_int = 19 ;
9681041pub const USER_TZNAME_MAX : :: c_int = 20 ;
1042+ pub const USER_LOCALBASE : :: c_int = 21 ;
1043+
9691044pub const CTL_P1003_1B_ASYNCHRONOUS_IO : :: c_int = 1 ;
9701045pub const CTL_P1003_1B_MAPPED_FILES : :: c_int = 2 ;
9711046pub const CTL_P1003_1B_MEMLOCK : :: c_int = 3 ;
@@ -991,6 +1066,7 @@ pub const CTL_P1003_1B_SEM_NSEMS_MAX: ::c_int = 22;
9911066pub const CTL_P1003_1B_SEM_VALUE_MAX : :: c_int = 23 ;
9921067pub const CTL_P1003_1B_SIGQUEUE_MAX : :: c_int = 24 ;
9931068pub const CTL_P1003_1B_TIMER_MAX : :: c_int = 25 ;
1069+
9941070pub const TIOCGPTN : :: c_uint = 0x4004740f ;
9951071pub const TIOCPTMASTER : :: c_uint = 0x2000741c ;
9961072pub const TIOCSIG : :: c_uint = 0x2004745f ;
@@ -1770,11 +1846,7 @@ pub const KVME_FLAG_NOCOREDUMP: ::c_int = 0x00000004;
17701846pub const KVME_FLAG_SUPER : :: c_int = 0x00000008 ;
17711847pub const KVME_FLAG_GROWS_UP : :: c_int = 0x00000010 ;
17721848pub const KVME_FLAG_GROWS_DOWN : :: c_int = 0x00000020 ;
1773- cfg_if ! {
1774- if #[ cfg( any( freebsd12, freebsd13, freebsd14) ) ] {
1775- pub const KVME_FLAG_USER_WIRED : :: c_int = 0x00000040 ;
1776- }
1777- }
1849+ pub const KVME_FLAG_USER_WIRED : :: c_int = 0x00000040 ;
17781850
17791851pub const KKST_MAXLEN : :: c_int = 1024 ;
17801852/// Stack is valid.
@@ -1897,6 +1969,156 @@ pub const _POSIX2_EXPR_NEST_MAX: ::c_int = 32;
18971969pub const _POSIX2_LINE_MAX: :: c_int = 2048 ;
18981970pub const _POSIX2_RE_DUP_MAX: :: c_int = 255 ;
18991971
1972+ // sys/proc.h
1973+ pub const TDF_BORROWING : :: c_int = 0x00000001 ;
1974+ pub const TDF_INPANIC : :: c_int = 0x00000002 ;
1975+ pub const TDF_INMEM : :: c_int = 0x00000004 ;
1976+ pub const TDF_SINTR : :: c_int = 0x00000008 ;
1977+ pub const TDF_TIMEOUT : :: c_int = 0x00000010 ;
1978+ pub const TDF_IDLETD : :: c_int = 0x00000020 ;
1979+ pub const TDF_CANSWAP : :: c_int = 0x00000040 ;
1980+ pub const TDF_KTH_SUSP : :: c_int = 0x00000100 ;
1981+ pub const TDF_ALLPROCSUSP : :: c_int = 0x00000200 ;
1982+ pub const TDF_BOUNDARY : :: c_int = 0x00000400 ;
1983+ pub const TDF_ASTPENDING : :: c_int = 0x00000800 ;
1984+ pub const TDF_SBDRY : :: c_int = 0x00002000 ;
1985+ pub const TDF_UPIBLOCKED : :: c_int = 0x00004000 ;
1986+ pub const TDF_NEEDSUSPCHK : :: c_int = 0x00008000 ;
1987+ pub const TDF_NEEDRESCHED : :: c_int = 0x00010000 ;
1988+ pub const TDF_NEEDSIGCHK : :: c_int = 0x00020000 ;
1989+ pub const TDF_NOLOAD : :: c_int = 0x00040000 ;
1990+ pub const TDF_SERESTART : :: c_int = 0x00080000 ;
1991+ pub const TDF_THRWAKEUP : :: c_int = 0x00100000 ;
1992+ pub const TDF_SEINTR : :: c_int = 0x00200000 ;
1993+ pub const TDF_SWAPINREQ : :: c_int = 0x00400000 ;
1994+ pub const TDF_UNUSED23 : :: c_int = 0x00800000 ;
1995+ pub const TDF_SCHED0 : :: c_int = 0x01000000 ;
1996+ pub const TDF_SCHED1 : :: c_int = 0x02000000 ;
1997+ pub const TDF_SCHED2 : :: c_int = 0x04000000 ;
1998+ pub const TDF_SCHED3 : :: c_int = 0x08000000 ;
1999+ pub const TDF_ALRMPEND : :: c_int = 0x10000000 ;
2000+ pub const TDF_PROFPEND : :: c_int = 0x20000000 ;
2001+ pub const TDF_MACPEND : :: c_int = 0x40000000 ;
2002+
2003+ pub const TDB_SUSPEND : :: c_int = 0x00000001 ;
2004+ pub const TDB_XSIG : :: c_int = 0x00000002 ;
2005+ pub const TDB_USERWR : :: c_int = 0x00000004 ;
2006+ pub const TDB_SCE : :: c_int = 0x00000008 ;
2007+ pub const TDB_SCX : :: c_int = 0x00000010 ;
2008+ pub const TDB_EXEC : :: c_int = 0x00000020 ;
2009+ pub const TDB_FORK : :: c_int = 0x00000040 ;
2010+ pub const TDB_STOPATFORK : :: c_int = 0x00000080 ;
2011+ pub const TDB_CHILD : :: c_int = 0x00000100 ;
2012+ pub const TDB_BORN : :: c_int = 0x00000200 ;
2013+ pub const TDB_EXIT : :: c_int = 0x00000400 ;
2014+ pub const TDB_VFORK : :: c_int = 0x00000800 ;
2015+ pub const TDB_FSTP : :: c_int = 0x00001000 ;
2016+ pub const TDB_STEP : :: c_int = 0x00002000 ;
2017+
2018+ pub const TDP_OLDMASK : :: c_int = 0x00000001 ;
2019+ pub const TDP_INKTR : :: c_int = 0x00000002 ;
2020+ pub const TDP_INKTRACE : :: c_int = 0x00000004 ;
2021+ pub const TDP_BUFNEED : :: c_int = 0x00000008 ;
2022+ pub const TDP_COWINPROGRESS : :: c_int = 0x00000010 ;
2023+ pub const TDP_ALTSTACK : :: c_int = 0x00000020 ;
2024+ pub const TDP_DEADLKTREAT : :: c_int = 0x00000040 ;
2025+ pub const TDP_NOFAULTING : :: c_int = 0x00000080 ;
2026+ pub const TDP_OWEUPC : :: c_int = 0x00000200 ;
2027+ pub const TDP_ITHREAD : :: c_int = 0x00000400 ;
2028+ pub const TDP_SYNCIO : :: c_int = 0x00000800 ;
2029+ pub const TDP_SCHED1 : :: c_int = 0x00001000 ;
2030+ pub const TDP_SCHED2 : :: c_int = 0x00002000 ;
2031+ pub const TDP_SCHED3 : :: c_int = 0x00004000 ;
2032+ pub const TDP_SCHED4 : :: c_int = 0x00008000 ;
2033+ pub const TDP_GEOM : :: c_int = 0x00010000 ;
2034+ pub const TDP_SOFTDEP : :: c_int = 0x00020000 ;
2035+ pub const TDP_NORUNNINGBUF : :: c_int = 0x00040000 ;
2036+ pub const TDP_WAKEUP : :: c_int = 0x00080000 ;
2037+ pub const TDP_INBDFLUSH : :: c_int = 0x00100000 ;
2038+ pub const TDP_KTHREAD : :: c_int = 0x00200000 ;
2039+ pub const TDP_CALLCHAIN : :: c_int = 0x00400000 ;
2040+ pub const TDP_IGNSUSP : :: c_int = 0x00800000 ;
2041+ pub const TDP_AUDITREC : :: c_int = 0x01000000 ;
2042+ pub const TDP_RFPPWAIT : :: c_int = 0x02000000 ;
2043+ pub const TDP_RESETSPUR : :: c_int = 0x04000000 ;
2044+ pub const TDP_NERRNO : :: c_int = 0x08000000 ;
2045+ pub const TDP_EXECVMSPC : :: c_int = 0x40000000 ;
2046+
2047+ pub const TDI_SUSPENDED : :: c_int = 0x0001 ;
2048+ pub const TDI_SLEEPING : :: c_int = 0x0002 ;
2049+ pub const TDI_SWAPPED : :: c_int = 0x0004 ;
2050+ pub const TDI_LOCK : :: c_int = 0x0008 ;
2051+ pub const TDI_IWAIT : :: c_int = 0x0010 ;
2052+
2053+ pub const P_ADVLOCK : :: c_int = 0x00000001 ;
2054+ pub const P_CONTROLT : :: c_int = 0x00000002 ;
2055+ pub const P_KPROC : :: c_int = 0x00000004 ;
2056+ pub const P_UNUSED3 : :: c_int = 0x00000008 ;
2057+ pub const P_PPWAIT : :: c_int = 0x00000010 ;
2058+ pub const P_PROFIL : :: c_int = 0x00000020 ;
2059+ pub const P_STOPPROF : :: c_int = 0x00000040 ;
2060+ pub const P_HADTHREADS : :: c_int = 0x00000080 ;
2061+ pub const P_SUGID : :: c_int = 0x00000100 ;
2062+ pub const P_SYSTEM : :: c_int = 0x00000200 ;
2063+ pub const P_SINGLE_EXIT : :: c_int = 0x00000400 ;
2064+ pub const P_TRACED : :: c_int = 0x00000800 ;
2065+ pub const P_WAITED : :: c_int = 0x00001000 ;
2066+ pub const P_WEXIT : :: c_int = 0x00002000 ;
2067+ pub const P_EXEC : :: c_int = 0x00004000 ;
2068+ pub const P_WKILLED : :: c_int = 0x00008000 ;
2069+ pub const P_CONTINUED : :: c_int = 0x00010000 ;
2070+ pub const P_STOPPED_SIG : :: c_int = 0x00020000 ;
2071+ pub const P_STOPPED_TRACE : :: c_int = 0x00040000 ;
2072+ pub const P_STOPPED_SINGLE : :: c_int = 0x00080000 ;
2073+ pub const P_PROTECTED : :: c_int = 0x00100000 ;
2074+ pub const P_SIGEVENT : :: c_int = 0x00200000 ;
2075+ pub const P_SINGLE_BOUNDARY : :: c_int = 0x00400000 ;
2076+ pub const P_HWPMC : :: c_int = 0x00800000 ;
2077+ pub const P_JAILED : :: c_int = 0x01000000 ;
2078+ pub const P_TOTAL_STOP : :: c_int = 0x02000000 ;
2079+ pub const P_INEXEC : :: c_int = 0x04000000 ;
2080+ pub const P_STATCHILD : :: c_int = 0x08000000 ;
2081+ pub const P_INMEM : :: c_int = 0x10000000 ;
2082+ pub const P_SWAPPINGOUT : :: c_int = 0x20000000 ;
2083+ pub const P_SWAPPINGIN : :: c_int = 0x40000000 ;
2084+ pub const P_PPTRACE : :: c_int = 0x80000000 ;
2085+ pub const P_STOPPED : :: c_int = P_STOPPED_SIG | P_STOPPED_SINGLE | P_STOPPED_TRACE ;
2086+
2087+ pub const P2_INHERIT_PROTECTED : :: c_int = 0x00000001 ;
2088+ pub const P2_NOTRACE : :: c_int = 0x00000002 ;
2089+ pub const P2_NOTRACE_EXEC : :: c_int = 0x00000004 ;
2090+ pub const P2_AST_SU : :: c_int = 0x00000008 ;
2091+ pub const P2_PTRACE_FSTP : :: c_int = 0x00000010 ;
2092+ pub const P2_TRAPCAP : :: c_int = 0x00000020 ;
2093+ pub const P2_STKGAP_DISABLE : :: c_int = 0x00000800 ;
2094+ pub const P2_STKGAP_DISABLE_EXEC : :: c_int = 0x00001000 ;
2095+
2096+ pub const P_TREE_ORPHANED : :: c_int = 0x00000001 ;
2097+ pub const P_TREE_FIRST_ORPHAN : :: c_int = 0x00000002 ;
2098+ pub const P_TREE_REAPER : :: c_int = 0x00000004 ;
2099+
2100+ pub const SIDL : :: c_char = 1 ;
2101+ pub const SRUN : :: c_char = 2 ;
2102+ pub const SSLEEP : :: c_char = 3 ;
2103+ pub const SSTOP : :: c_char = 4 ;
2104+ pub const SZOMB : :: c_char = 5 ;
2105+ pub const SWAIT : :: c_char = 6 ;
2106+ pub const SLOCK : :: c_char = 7 ;
2107+
2108+ pub const P_MAGIC : :: c_int = 0xbeefface ;
2109+
2110+ pub const TDP_SIGFASTBLOCK : :: c_int = 0x00000100 ;
2111+ pub const TDP_UIOHELD : :: c_int = 0x10000000 ;
2112+ pub const TDP_SIGFASTPENDING : :: c_int = 0x80000000 ;
2113+ pub const TDP2_COMPAT32RB : :: c_int = 0x00000002 ;
2114+ pub const P2_PROTMAX_ENABLE : :: c_int = 0x00000200 ;
2115+ pub const P2_PROTMAX_DISABLE : :: c_int = 0x00000400 ;
2116+ pub const TDP2_SBPAGES : :: c_int = 0x00000001 ;
2117+ pub const P2_ASLR_ENABLE : :: c_int = 0x00000040 ;
2118+ pub const P2_ASLR_DISABLE : :: c_int = 0x00000080 ;
2119+ pub const P2_ASLR_IGNSTART : :: c_int = 0x00000100 ;
2120+ pub const P_TREE_GRPEXITED : :: c_int = 0x00000008 ;
2121+
19002122const_fn ! {
19012123 { const } fn _ALIGN( p: usize ) -> usize {
19022124 ( p + _ALIGNBYTES) & !_ALIGNBYTES
0 commit comments