diff options
author | bors <bors@rust-lang.org> | 2021-08-16 11:25:13 +0000 |
---|---|---|
committer | bors <bors@rust-lang.org> | 2021-08-16 11:25:13 +0000 |
commit | 74adc7ff3e5dbd7c97ae0ab91a5c92dca55ab993 (patch) | |
tree | ba8a6bf4ab17f7aeeb2083e614739509c4424c0b | |
parent | 3c0a38cee0c96e663b9eb7fe76ba81330923cd64 (diff) | |
parent | 3d1129125915088fbf54102209d01e430a15e6dd (diff) | |
download | rust-libc-74adc7ff3e5dbd7c97ae0ab91a5c92dca55ab993.tar.gz |
Auto merge of #2337 - devnexen:fbsd_procctl, r=Amanieu
procctl api addition for freebsd/dragonflybsd
-rwxr-xr-x | libc-test/build.rs | 1 | ||||
-rw-r--r-- | libc-test/semver/dragonfly.txt | 6 | ||||
-rw-r--r-- | libc-test/semver/freebsd.txt | 14 | ||||
-rw-r--r-- | src/unix/bsd/freebsdlike/dragonfly/mod.rs | 7 | ||||
-rw-r--r-- | src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs | 3 | ||||
-rw-r--r-- | src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs | 5 | ||||
-rw-r--r-- | src/unix/bsd/freebsdlike/freebsd/mod.rs | 17 |
7 files changed, 53 insertions, 0 deletions
diff --git a/libc-test/build.rs b/libc-test/build.rs index f070e4fb51..ad9c2152dc 100755 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -1783,6 +1783,7 @@ fn test_freebsd(target: &str) { "sys/mman.h", "sys/mount.h", "sys/msg.h", + "sys/procctl.h", "sys/procdesc.h", "sys/ptrace.h", "sys/random.h", diff --git a/libc-test/semver/dragonfly.txt b/libc-test/semver/dragonfly.txt index c41c3b689b..9d1e52b643 100644 --- a/libc-test/semver/dragonfly.txt +++ b/libc-test/semver/dragonfly.txt @@ -725,6 +725,11 @@ POSIX_MADV_RANDOM POSIX_MADV_SEQUENTIAL POSIX_MADV_WILLNEED PPPDISC +PROC_PDEATHSIG_CTL +PROC_PDEATHSIG_STATUS +PROC_REAP_ACQUIRE +PROC_REAP_RELEASE +PROC_REAP_STATUS PTHREAD_CREATE_DETACHED PTHREAD_CREATE_JOINABLE PTHREAD_MUTEX_DEFAULT @@ -1307,6 +1312,7 @@ popen posix_madvise ppoll preadv +procctl pseudo_AF_HDRCMPLT pseudo_AF_KEY pseudo_AF_PIP diff --git a/libc-test/semver/freebsd.txt b/libc-test/semver/freebsd.txt index c42716b0be..497687a0e4 100644 --- a/libc-test/semver/freebsd.txt +++ b/libc-test/semver/freebsd.txt @@ -832,6 +832,19 @@ POSIX_SPAWN_SETSCHEDULER POSIX_SPAWN_SETSIGDEF POSIX_SPAWN_SETSIGMASK PPPDISC +PROC_PDEATHSIG_CTL +PROC_PDEATHSIG_STATUS +PROC_REAP_ACQUIRE +PROC_REAP_GETPIDS +PROC_REAP_RELEASE +PROC_REAP_STATUS +PROC_SPROTECT +PROC_STACKGAP_CTL +PROC_STACKGAP_STATUS +PROC_TRACE_CTL +PROC_TRACE_STATUS +PROC_TRAPCAP_CTL +PROC_TRAPCAP_STATUS PTHREAD_CREATE_DETACHED PTHREAD_CREATE_JOINABLE PTHREAD_MUTEX_ADAPTIVE_NP @@ -1561,6 +1574,7 @@ posix_spawnattr_t posix_spawnp ppoll preadv +procctl pseudo_AF_HDRCMPLT pseudo_AF_KEY pseudo_AF_PIP diff --git a/src/unix/bsd/freebsdlike/dragonfly/mod.rs b/src/unix/bsd/freebsdlike/dragonfly/mod.rs index 0eaac54010..66e6b65baa 100644 --- a/src/unix/bsd/freebsdlike/dragonfly/mod.rs +++ b/src/unix/bsd/freebsdlike/dragonfly/mod.rs @@ -820,6 +820,12 @@ pub const SO_CPUHINT: ::c_int = 0x1030; pub const PT_FIRSTMACH: ::c_int = 32; +pub const PROC_REAP_ACQUIRE: ::c_int = 0x0001; +pub const PROC_REAP_RELEASE: ::c_int = 0x0002; +pub const PROC_REAP_STATUS: ::c_int = 0x0003; +pub const PROC_PDEATHSIG_CTL: ::c_int = 0x0004; +pub const PROC_PDEATHSIG_STATUS: ::c_int = 0x0005; + // https://github.com/DragonFlyBSD/DragonFlyBSD/blob/master/sys/net/if.h#L101 pub const IFF_UP: ::c_int = 0x1; // interface is up pub const IFF_BROADCAST: ::c_int = 0x2; // broadcast address valid @@ -1301,6 +1307,7 @@ extern "C" { pub fn shmat(shmid: ::c_int, shmaddr: *const ::c_void, shmflg: ::c_int) -> *mut ::c_void; pub fn shmdt(shmaddr: *const ::c_void) -> ::c_int; pub fn shmctl(shmid: ::c_int, cmd: ::c_int, buf: *mut ::shmid_ds) -> ::c_int; + pub fn procctl(idtype: ::idtype_t, id: ::id_t, cmd: ::c_int, data: *mut ::c_void) -> ::c_int; } #[link(name = "rt")] diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs index dc91aad447..601f33d315 100644 --- a/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs @@ -202,6 +202,9 @@ pub const GRND_RANDOM: ::c_uint = 0x2; pub const RAND_MAX: ::c_int = 0x7fff_fffd; +pub const PROC_ASLR_CTL: ::c_int = 13; +pub const PROC_ASLR_STATUS: ::c_int = 14; + pub const SO_DOMAIN: ::c_int = 0x1019; pub const EINTEGRITY: ::c_int = 97; diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs index 7ed995e33c..65c377d235 100644 --- a/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs @@ -219,6 +219,11 @@ pub const EINTEGRITY: ::c_int = 97; pub const ELAST: ::c_int = 97; pub const GRND_INSECURE: ::c_uint = 0x4; +pub const PROC_ASLR_CTL: ::c_int = 13; +pub const PROC_ASLR_STATUS: ::c_int = 14; +pub const PROC_PROTMAX_CTL: ::c_int = 15; +pub const PROC_PROTMAX_STATUS: ::c_int = 16; + pub const LOCAL_CREDS_PERSISTENT: ::c_int = 3; pub const SCM_CREDS2: ::c_int = 0x08; diff --git a/src/unix/bsd/freebsdlike/freebsd/mod.rs b/src/unix/bsd/freebsdlike/freebsd/mod.rs index f5a2469174..f75970ed5c 100644 --- a/src/unix/bsd/freebsdlike/freebsd/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/mod.rs @@ -840,6 +840,21 @@ pub const PTRACE_LWP: ::c_int = 0x0010; pub const PTRACE_VFORK: ::c_int = 0x0020; pub const PTRACE_DEFAULT: ::c_int = PTRACE_EXEC; +pub const PROC_SPROTECT: ::c_int = 1; +pub const PROC_REAP_ACQUIRE: ::c_int = 2; +pub const PROC_REAP_RELEASE: ::c_int = 3; +pub const PROC_REAP_STATUS: ::c_int = 4; +pub const PROC_REAP_GETPIDS: ::c_int = 5; +pub const PROC_REAP_KILL: ::c_int = 6; +pub const PROC_TRACE_CTL: ::c_int = 7; +pub const PROC_TRACE_STATUS: ::c_int = 8; +pub const PROC_TRAPCAP_CTL: ::c_int = 9; +pub const PROC_TRAPCAP_STATUS: ::c_int = 10; +pub const PROC_PDEATHSIG_CTL: ::c_int = 11; +pub const PROC_PDEATHSIG_STATUS: ::c_int = 12; +pub const PROC_STACKGAP_CTL: ::c_int = 17; +pub const PROC_STACKGAP_STATUS: ::c_int = 18; + pub const AF_SLOW: ::c_int = 33; pub const AF_SCLUSTER: ::c_int = 34; pub const AF_ARP: ::c_int = 35; @@ -1761,6 +1776,8 @@ extern "C" { pub fn dallocx(ptr: *mut ::c_void, flags: ::c_int); pub fn sdallocx(ptr: *mut ::c_void, size: ::size_t, flags: ::c_int); pub fn nallocx(size: ::size_t, flags: ::c_int) -> ::size_t; + + pub fn procctl(idtype: ::idtype_t, id: ::id_t, cmd: ::c_int, data: *mut ::c_void) -> ::c_int; } #[link(name = "util")] |