Skip to content

Commit 1132113

Browse files
committed
freebsd adding capsicum api set
1 parent 2261e1a commit 1132113

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

libc-test/build.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1724,6 +1724,7 @@ fn test_freebsd(target: &str) {
17241724
"stdio.h",
17251725
"stdlib.h",
17261726
"string.h",
1727+
"sys/capsicum.h",
17271728
"sys/cpuset.h",
17281729
"sys/event.h",
17291730
"sys/extattr.h",

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,10 @@ s! {
131131
#[cfg(target_pointer_width = "32")]
132132
__bits: [::c_long; 8],
133133
}
134+
135+
pub struct cap_rights_t {
136+
cr_rights: [u64; 2],
137+
}
134138
}
135139

136140
s_no_extra_traits! {
@@ -1583,6 +1587,19 @@ extern "C" {
15831587
setsize: ::size_t,
15841588
mask: *const cpuset_t,
15851589
) -> ::c_int;
1590+
pub fn cap_enter() -> ::c_int;
1591+
pub fn cap_getmode(modep: *mut ::c_uint) -> ::c_int;
1592+
pub fn __cap_rights_init(version: ::c_int, rights: *mut cap_rights_t, ...)
1593+
-> *mut cap_rights_t;
1594+
pub fn __cap_rights_set(rights: *mut cap_rights_t, ...) -> *mut cap_rights_t;
1595+
pub fn __cap_rights_clear(rights: *mut cap_rights_t, ...) -> *mut cap_rights_t;
1596+
pub fn __cap_rights_is_set(rights: *const cap_rights_t, ...) -> bool;
1597+
pub fn cap_rights_is_valid(rights: *const cap_rights_t) -> bool;
1598+
pub fn cap_rights_limit(fd: ::c_int, rights: *const cap_rights_t) -> ::c_int;
1599+
pub fn cap_rights_merge(dst: *mut cap_rights_t, src: *const cap_rights_t) -> *mut cap_rights_t;
1600+
pub fn cap_rights_remove(dst: *mut cap_rights_t, src: *const cap_rights_t)
1601+
-> *mut cap_rights_t;
1602+
pub fn cap_rights_contains(big: *const cap_rights_t, little: *const cap_rights_t) -> bool;
15861603
}
15871604

15881605
#[link(name = "util")]

0 commit comments

Comments
 (0)