@@ -370,6 +370,16 @@ s! {
370
370
pub t_sw: i16 ,
371
371
pub t_pad: [ u16 ; 3 ] ,
372
372
}
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
+ }
373
383
}
374
384
375
385
s_no_extra_traits ! {
@@ -856,13 +866,67 @@ pub const CTL_HW: ::c_int = 6;
856
866
pub const CTL_MACHDEP : :: c_int = 7 ;
857
867
pub const CTL_USER : :: c_int = 8 ;
858
868
pub 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
+
859
921
pub const CTL_SYSCTL_DEBUG : :: c_int = 0 ;
860
922
pub const CTL_SYSCTL_NAME : :: c_int = 1 ;
861
923
pub const CTL_SYSCTL_NEXT : :: c_int = 2 ;
862
924
pub const CTL_SYSCTL_NAME2OID : :: c_int = 3 ;
863
925
pub const CTL_SYSCTL_OIDFMT : :: c_int = 4 ;
864
926
pub const CTL_SYSCTL_OIDDESCR : :: c_int = 5 ;
865
927
pub const CTL_SYSCTL_OIDLABEL : :: c_int = 6 ;
928
+ pub const CTL_SYSCTL_NEXTNOSKIP : :: c_int = 7 ;
929
+
866
930
pub const KERN_OSTYPE : :: c_int = 1 ;
867
931
pub const KERN_OSRELEASE : :: c_int = 2 ;
868
932
pub const KERN_OSREV : :: c_int = 3 ;
@@ -900,6 +964,9 @@ pub const KERN_LOGSIGEXIT: ::c_int = 34;
900
964
pub const KERN_IOV_MAX : :: c_int = 35 ;
901
965
pub const KERN_HOSTUUID : :: c_int = 36 ;
902
966
pub const KERN_ARND : :: c_int = 37 ;
967
+ pub const KERN_MAXPHYS : :: c_int = 38 ;
968
+ pub const KERN_STACKTOP : :: c_int = 39 ;
969
+
903
970
pub const KERN_PROC_ALL : :: c_int = 0 ;
904
971
pub const KERN_PROC_PID : :: c_int = 1 ;
905
972
pub const KERN_PROC_PGRP : :: c_int = 2 ;
@@ -927,13 +994,18 @@ pub const KERN_PROC_PS_STRINGS: ::c_int = 38;
927
994
pub const KERN_PROC_UMASK : :: c_int = 39 ;
928
995
pub const KERN_PROC_OSREL : :: c_int = 40 ;
929
996
pub 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
+
930
1001
pub const KIPC_MAXSOCKBUF : :: c_int = 1 ;
931
1002
pub const KIPC_SOCKBUF_WASTE : :: c_int = 2 ;
932
1003
pub const KIPC_SOMAXCONN : :: c_int = 3 ;
933
1004
pub const KIPC_MAX_LINKHDR : :: c_int = 4 ;
934
1005
pub const KIPC_MAX_PROTOHDR : :: c_int = 5 ;
935
1006
pub const KIPC_MAX_HDR : :: c_int = 6 ;
936
1007
pub const KIPC_MAX_DATALEN : :: c_int = 7 ;
1008
+
937
1009
pub const HW_MACHINE : :: c_int = 1 ;
938
1010
pub const HW_MODEL : :: c_int = 2 ;
939
1011
pub const HW_NCPU : :: c_int = 3 ;
@@ -946,6 +1018,7 @@ pub const HW_DISKSTATS: ::c_int = 9;
946
1018
pub const HW_FLOATINGPT : :: c_int = 10 ;
947
1019
pub const HW_MACHINE_ARCH : :: c_int = 11 ;
948
1020
pub const HW_REALMEM : :: c_int = 12 ;
1021
+
949
1022
pub const USER_CS_PATH : :: c_int = 1 ;
950
1023
pub const USER_BC_BASE_MAX : :: c_int = 2 ;
951
1024
pub const USER_BC_DIM_MAX : :: c_int = 3 ;
@@ -966,6 +1039,8 @@ pub const USER_POSIX2_SW_DEV: ::c_int = 17;
966
1039
pub const USER_POSIX2_UPE : :: c_int = 18 ;
967
1040
pub const USER_STREAM_MAX : :: c_int = 19 ;
968
1041
pub const USER_TZNAME_MAX : :: c_int = 20 ;
1042
+ pub const USER_LOCALBASE : :: c_int = 21 ;
1043
+
969
1044
pub const CTL_P1003_1B_ASYNCHRONOUS_IO : :: c_int = 1 ;
970
1045
pub const CTL_P1003_1B_MAPPED_FILES : :: c_int = 2 ;
971
1046
pub const CTL_P1003_1B_MEMLOCK : :: c_int = 3 ;
@@ -991,6 +1066,7 @@ pub const CTL_P1003_1B_SEM_NSEMS_MAX: ::c_int = 22;
991
1066
pub const CTL_P1003_1B_SEM_VALUE_MAX : :: c_int = 23 ;
992
1067
pub const CTL_P1003_1B_SIGQUEUE_MAX : :: c_int = 24 ;
993
1068
pub const CTL_P1003_1B_TIMER_MAX : :: c_int = 25 ;
1069
+
994
1070
pub const TIOCGPTN : :: c_uint = 0x4004740f ;
995
1071
pub const TIOCPTMASTER : :: c_uint = 0x2000741c ;
996
1072
pub const TIOCSIG : :: c_uint = 0x2004745f ;
@@ -1770,11 +1846,7 @@ pub const KVME_FLAG_NOCOREDUMP: ::c_int = 0x00000004;
1770
1846
pub const KVME_FLAG_SUPER : :: c_int = 0x00000008 ;
1771
1847
pub const KVME_FLAG_GROWS_UP : :: c_int = 0x00000010 ;
1772
1848
pub 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 ;
1778
1850
1779
1851
pub const KKST_MAXLEN : :: c_int = 1024 ;
1780
1852
/// Stack is valid.
@@ -1897,6 +1969,156 @@ pub const _POSIX2_EXPR_NEST_MAX: ::c_int = 32;
1897
1969
pub const _POSIX2_LINE_MAX: :: c_int = 2048 ;
1898
1970
pub const _POSIX2_RE_DUP_MAX: :: c_int = 255 ;
1899
1971
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
+
1900
2122
const_fn ! {
1901
2123
{ const } fn _ALIGN( p: usize ) -> usize {
1902
2124
( p + _ALIGNBYTES) & !_ALIGNBYTES
0 commit comments