diff options
author | bors <bors@rust-lang.org> | 2022-11-30 12:44:39 +0000 |
---|---|---|
committer | bors <bors@rust-lang.org> | 2022-11-30 12:44:39 +0000 |
commit | d6fe78238726fc23e722dc89d62b3d63acf2ff1f (patch) | |
tree | 805c782eeac847c09648ced16e8e30de966371c5 | |
parent | b8c8e13e4dd36d79537d36274fc19dd494abcfb6 (diff) | |
parent | afb665dbec82369d53916fe2e27ba4e3bcaad6c7 (diff) | |
download | rust-libc-d6fe78238726fc23e722dc89d62b3d63acf2ff1f.tar.gz |
Auto merge of #3022 - asomers:capsicum, r=JohnTitor
Add more capsicum functions for FreeBSD
These have all been available since at least FreeBSD 9.2.
-rw-r--r-- | libc-test/semver/freebsd.txt | 17 | ||||
-rw-r--r-- | src/unix/bsd/freebsdlike/freebsd/mod.rs | 6 |
2 files changed, 23 insertions, 0 deletions
diff --git a/libc-test/semver/freebsd.txt b/libc-test/semver/freebsd.txt index 8f73e027af..e3a824a874 100644 --- a/libc-test/semver/freebsd.txt +++ b/libc-test/semver/freebsd.txt @@ -1509,6 +1509,23 @@ bpf_program bpf_stat bpf_version bsearch +cap_enter +cap_getmode +cap_fcntls_get +cap_fcntls_limit +cap_ioctls_get +cap_ioctls_limit +__cap_rights_init +__cap_rights_get +__cap_rights_set +__cap_rights_clear +__cap_rights_is_set +cap_rights_is_valid +cap_rights_limit +cap_rights_merge +cap_rights_remove +cap_rights_contains +cap_sandboxed cfmakesane chflags chflagsat diff --git a/src/unix/bsd/freebsdlike/freebsd/mod.rs b/src/unix/bsd/freebsdlike/freebsd/mod.rs index 4064a3fe4e..9847030f80 100644 --- a/src/unix/bsd/freebsdlike/freebsd/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/mod.rs @@ -4292,8 +4292,13 @@ extern "C" { pub fn cpuset_setid(which: cpuwhich_t, id: ::id_t, setid: ::cpusetid_t) -> ::c_int; pub fn cap_enter() -> ::c_int; pub fn cap_getmode(modep: *mut ::c_uint) -> ::c_int; + pub fn cap_fcntls_get(fd: ::c_int, fcntlrightsp: *mut u32) -> ::c_int; + pub fn cap_fcntls_limit(fd: ::c_int, fcntlrights: u32) -> ::c_int; + pub fn cap_ioctls_get(fd: ::c_int, cmds: *mut u_long, maxcmds: usize) -> isize; + pub fn cap_ioctls_limit(fd: ::c_int, cmds: *const u_long, ncmds: usize) -> ::c_int; pub fn __cap_rights_init(version: ::c_int, rights: *mut cap_rights_t, ...) -> *mut cap_rights_t; + pub fn __cap_rights_get(version: ::c_int, fd: ::c_int, rightsp: *mut cap_rights_t) -> ::c_int; pub fn __cap_rights_set(rights: *mut cap_rights_t, ...) -> *mut cap_rights_t; pub fn __cap_rights_clear(rights: *mut cap_rights_t, ...) -> *mut cap_rights_t; pub fn __cap_rights_is_set(rights: *const cap_rights_t, ...) -> bool; @@ -4303,6 +4308,7 @@ extern "C" { pub fn cap_rights_remove(dst: *mut cap_rights_t, src: *const cap_rights_t) -> *mut cap_rights_t; pub fn cap_rights_contains(big: *const cap_rights_t, little: *const cap_rights_t) -> bool; + pub fn cap_sandboxed() -> bool; pub fn reallocarray(ptr: *mut ::c_void, nmemb: ::size_t, size: ::size_t) -> *mut ::c_void; |