Skip to content

Commit 5cb8ed1

Browse files
Add more items for FreeBSD
1 parent 53dfd6f commit 5cb8ed1

File tree

1 file changed

+168
-0
lines changed
  • src/unix/bsd/freebsdlike/freebsd

1 file changed

+168
-0
lines changed

src/unix/bsd/freebsdlike/freebsd/mod.rs

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

375385
s_no_extra_traits! {
@@ -1897,6 +1907,164 @@ pub const _POSIX2_EXPR_NEST_MAX: ::c_int = 32;
18971907
pub const _POSIX2_LINE_MAX: ::c_int = 2048;
18981908
pub const _POSIX2_RE_DUP_MAX: ::c_int = 255;
18991909

1910+
// sys/proc.h
1911+
pub const TDF_BORROWING: ::c_int = 0x00000001;
1912+
pub const TDF_INPANIC: ::c_int = 0x00000002;
1913+
pub const TDF_INMEM: ::c_int = 0x00000004;
1914+
pub const TDF_SINTR: ::c_int = 0x00000008;
1915+
pub const TDF_TIMEOUT: ::c_int = 0x00000010;
1916+
pub const TDF_IDLETD: ::c_int = 0x00000020;
1917+
pub const TDF_CANSWAP: ::c_int = 0x00000040;
1918+
pub const TDF_KTH_SUSP: ::c_int = 0x00000100;
1919+
pub const TDF_ALLPROCSUSP: ::c_int = 0x00000200;
1920+
pub const TDF_BOUNDARY: ::c_int = 0x00000400;
1921+
pub const TDF_ASTPENDING: ::c_int = 0x00000800;
1922+
pub const TDF_SBDRY: ::c_int = 0x00002000;
1923+
pub const TDF_UPIBLOCKED: ::c_int = 0x00004000;
1924+
pub const TDF_NEEDSUSPCHK: ::c_int = 0x00008000;
1925+
pub const TDF_NEEDRESCHED: ::c_int = 0x00010000;
1926+
pub const TDF_NEEDSIGCHK: ::c_int = 0x00020000;
1927+
pub const TDF_NOLOAD: ::c_int = 0x00040000;
1928+
pub const TDF_SERESTART: ::c_int = 0x00080000;
1929+
pub const TDF_THRWAKEUP: ::c_int = 0x00100000;
1930+
pub const TDF_SEINTR: ::c_int = 0x00200000;
1931+
pub const TDF_SWAPINREQ: ::c_int = 0x00400000;
1932+
pub const TDF_UNUSED23: ::c_int = 0x00800000;
1933+
pub const TDF_SCHED0: ::c_int = 0x01000000;
1934+
pub const TDF_SCHED1: ::c_int = 0x02000000;
1935+
pub const TDF_SCHED2: ::c_int = 0x04000000;
1936+
pub const TDF_SCHED3: ::c_int = 0x08000000;
1937+
pub const TDF_ALRMPEND: ::c_int = 0x10000000;
1938+
pub const TDF_PROFPEND: ::c_int = 0x20000000;
1939+
pub const TDF_MACPEND: ::c_int = 0x40000000;
1940+
1941+
pub const TDB_SUSPEND: ::c_int = 0x00000001;
1942+
pub const TDB_XSIG: ::c_int = 0x00000002;
1943+
pub const TDB_USERWR: ::c_int = 0x00000004;
1944+
pub const TDB_SCE: ::c_int = 0x00000008;
1945+
pub const TDB_SCX: ::c_int = 0x00000010;
1946+
pub const TDB_EXEC: ::c_int = 0x00000020;
1947+
pub const TDB_FORK: ::c_int = 0x00000040;
1948+
pub const TDB_STOPATFORK: ::c_int = 0x00000080;
1949+
pub const TDB_CHILD: ::c_int = 0x00000100;
1950+
pub const TDB_BORN: ::c_int = 0x00000200;
1951+
pub const TDB_EXIT: ::c_int = 0x00000400;
1952+
pub const TDB_VFORK: ::c_int = 0x00000800;
1953+
pub const TDB_FSTP: ::c_int = 0x00001000;
1954+
pub const TDB_STEP: ::c_int = 0x00002000;
1955+
1956+
pub const TDP_OLDMASK: ::c_int = 0x00000001;
1957+
pub const TDP_INKTR: ::c_int = 0x00000002;
1958+
pub const TDP_INKTRACE: ::c_int = 0x00000004;
1959+
pub const TDP_BUFNEED: ::c_int = 0x00000008;
1960+
pub const TDP_COWINPROGRESS: ::c_int = 0x00000010;
1961+
pub const TDP_ALTSTACK: ::c_int = 0x00000020;
1962+
pub const TDP_DEADLKTREAT: ::c_int = 0x00000040;
1963+
pub const TDP_NOFAULTING: ::c_int = 0x00000080;
1964+
pub const TDP_OWEUPC: ::c_int = 0x00000200;
1965+
pub const TDP_ITHREAD: ::c_int = 0x00000400;
1966+
pub const TDP_SYNCIO: ::c_int = 0x00000800;
1967+
pub const TDP_SCHED1: ::c_int = 0x00001000;
1968+
pub const TDP_SCHED2: ::c_int = 0x00002000;
1969+
pub const TDP_SCHED3: ::c_int = 0x00004000;
1970+
pub const TDP_SCHED4: ::c_int = 0x00008000;
1971+
pub const TDP_GEOM: ::c_int = 0x00010000;
1972+
pub const TDP_SOFTDEP: ::c_int = 0x00020000;
1973+
pub const TDP_NORUNNINGBUF: ::c_int = 0x00040000;
1974+
pub const TDP_WAKEUP: ::c_int = 0x00080000;
1975+
pub const TDP_INBDFLUSH: ::c_int = 0x00100000;
1976+
pub const TDP_KTHREAD: ::c_int = 0x00200000;
1977+
pub const TDP_CALLCHAIN: ::c_int = 0x00400000;
1978+
pub const TDP_IGNSUSP: ::c_int = 0x00800000;
1979+
pub const TDP_AUDITREC: ::c_int = 0x01000000;
1980+
pub const TDP_RFPPWAIT: ::c_int = 0x02000000;
1981+
pub const TDP_RESETSPUR: ::c_int = 0x04000000;
1982+
pub const TDP_NERRNO: ::c_int = 0x08000000;
1983+
pub const TDP_EXECVMSPC: ::c_int = 0x40000000;
1984+
1985+
pub const TDI_SUSPENDED: ::c_int = 0x0001;
1986+
pub const TDI_SLEEPING: ::c_int = 0x0002;
1987+
pub const TDI_SWAPPED: ::c_int = 0x0004;
1988+
pub const TDI_LOCK: ::c_int = 0x0008;
1989+
pub const TDI_IWAIT: ::c_int = 0x0010;
1990+
1991+
pub const P_ADVLOCK: ::c_int = 0x00000001;
1992+
pub const P_CONTROLT: ::c_int = 0x00000002;
1993+
pub const P_KPROC: ::c_int = 0x00000004;
1994+
pub const P_UNUSED3: ::c_int = 0x00000008;
1995+
pub const P_PPWAIT: ::c_int = 0x00000010;
1996+
pub const P_PROFIL: ::c_int = 0x00000020;
1997+
pub const P_STOPPROF: ::c_int = 0x00000040;
1998+
pub const P_HADTHREADS: ::c_int = 0x00000080;
1999+
pub const P_SUGID: ::c_int = 0x00000100;
2000+
pub const P_SYSTEM: ::c_int = 0x00000200;
2001+
pub const P_SINGLE_EXIT: ::c_int = 0x00000400;
2002+
pub const P_TRACED: ::c_int = 0x00000800;
2003+
pub const P_WAITED: ::c_int = 0x00001000;
2004+
pub const P_WEXIT: ::c_int = 0x00002000;
2005+
pub const P_EXEC: ::c_int = 0x00004000;
2006+
pub const P_WKILLED: ::c_int = 0x00008000;
2007+
pub const P_CONTINUED: ::c_int = 0x00010000;
2008+
pub const P_STOPPED_SIG: ::c_int = 0x00020000;
2009+
pub const P_STOPPED_TRACE: ::c_int = 0x00040000;
2010+
pub const P_STOPPED_SINGLE: ::c_int = 0x00080000;
2011+
pub const P_PROTECTED: ::c_int = 0x00100000;
2012+
pub const P_SIGEVENT: ::c_int = 0x00200000;
2013+
pub const P_SINGLE_BOUNDARY: ::c_int = 0x00400000;
2014+
pub const P_HWPMC: ::c_int = 0x00800000;
2015+
pub const P_JAILED: ::c_int = 0x01000000;
2016+
pub const P_TOTAL_STOP: ::c_int = 0x02000000;
2017+
pub const P_INEXEC: ::c_int = 0x04000000;
2018+
pub const P_STATCHILD: ::c_int = 0x08000000;
2019+
pub const P_INMEM: ::c_int = 0x10000000;
2020+
pub const P_SWAPPINGOUT: ::c_int = 0x20000000;
2021+
pub const P_SWAPPINGIN: ::c_int = 0x40000000;
2022+
pub const P_PPTRACE: ::c_int = 0x80000000;
2023+
pub const P_STOPPED: ::c_int = P_STOPPED_SIG | P_STOPPED_SINGLE | P_STOPPED_TRACE;
2024+
2025+
pub const P2_INHERIT_PROTECTED: ::c_int = 0x00000001;
2026+
pub const P2_NOTRACE: ::c_int = 0x00000002;
2027+
pub const P2_NOTRACE_EXEC: ::c_int = 0x00000004;
2028+
pub const P2_AST_SU: ::c_int = 0x00000008;
2029+
pub const P2_PTRACE_FSTP: ::c_int = 0x00000010;
2030+
pub const P2_TRAPCAP: ::c_int = 0x00000020;
2031+
pub const P2_STKGAP_DISABLE: ::c_int = 0x00000800;
2032+
pub const P2_STKGAP_DISABLE_EXEC: ::c_int = 0x00001000;
2033+
2034+
pub const P_TREE_ORPHANED: ::c_int = 0x00000001;
2035+
pub const P_TREE_FIRST_ORPHAN: ::c_int = 0x00000002;
2036+
pub const P_TREE_REAPER: ::c_int = 0x00000004;
2037+
2038+
pub const SIDL: ::c_char = 1;
2039+
pub const SRUN: ::c_char = 2;
2040+
pub const SSLEEP: ::c_char = 3;
2041+
pub const SSTOP: ::c_char = 4;
2042+
pub const SZOMB: ::c_char = 5;
2043+
pub const SWAIT: ::c_char = 6;
2044+
pub const SLOCK: ::c_char = 7;
2045+
2046+
pub const P_MAGIC: ::c_int = 0xbeefface;
2047+
2048+
cfg_if! {
2049+
if #[cfg(freebsd13)] {
2050+
pub const TDP_SIGFASTBLOCK: ::c_int = 0x00000100;
2051+
pub const TDP_UIOHELD: ::c_int = 0x10000000;
2052+
pub const TDP_SIGFASTPENDING: ::c_int = 0x80000000;
2053+
pub const TDP2_COMPAT32RB: ::c_int = 0x00000002;
2054+
pub const P2_PROTMAX_ENABLE: ::c_int = 0x00000200;
2055+
pub const P2_PROTMAX_DISABLE: ::c_int = 0x00000400;
2056+
}
2057+
}
2058+
cfg_if! {
2059+
if #[cfg(any(freebsd12, freebsd13))] {
2060+
pub const TDP2_SBPAGES: ::c_int = 0x00000001;
2061+
pub const P2_ASLR_ENABLE: ::c_int = 0x00000040;
2062+
pub const P2_ASLR_DISABLE: ::c_int = 0x00000080;
2063+
pub const P2_ASLR_IGNSTART: ::c_int = 0x00000100;
2064+
pub const P_TREE_GRPEXITED: ::c_int = 0x00000008;
2065+
}
2066+
}
2067+
19002068
const_fn! {
19012069
{const} fn _ALIGN(p: usize) -> usize {
19022070
(p + _ALIGNBYTES) & !_ALIGNBYTES

0 commit comments

Comments
 (0)