pub const ENOENT: u32 = 2; pub const ENOMEM: u32 = 12; pub const EINVAL: u32 = 22; pub const ERANGE: u32 = 34; pub const ENOTSUP: u32 = 95; pub const ACL_READ: u32 = 4; pub const ACL_WRITE: u32 = 2; pub const ACL_EXECUTE: u32 = 1; pub const ACL_UNDEFINED_TAG: u32 = 0; pub const ACL_USER_OBJ: u32 = 1; pub const ACL_USER: u32 = 2; pub const ACL_GROUP_OBJ: u32 = 4; pub const ACL_GROUP: u32 = 8; pub const ACL_MASK: u32 = 16; pub const ACL_OTHER: u32 = 32; pub const ACL_TYPE_ACCESS: u32 = 32768; pub const ACL_TYPE_DEFAULT: u32 = 16384; pub const ACL_FIRST_ENTRY: u32 = 0; pub const ACL_NEXT_ENTRY: u32 = 1; pub const ACL_MULTI_ERROR: u32 = 4096; pub const ACL_DUPLICATE_ERROR: u32 = 8192; pub const ACL_MISS_ERROR: u32 = 12288; pub const ACL_ENTRY_ERROR: u32 = 16384; pub type __uid_t = ::std::os::raw::c_uint; pub type __gid_t = ::std::os::raw::c_uint; pub type __mode_t = ::std::os::raw::c_uint; pub type gid_t = __gid_t; pub type mode_t = __mode_t; pub type uid_t = __uid_t; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __acl_ext { _unused: [u8; 0], } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __acl_entry_ext { _unused: [u8; 0], } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __acl_permset_ext { _unused: [u8; 0], } pub type acl_type_t = ::std::os::raw::c_uint; pub type acl_tag_t = ::std::os::raw::c_int; pub type acl_perm_t = ::std::os::raw::c_uint; pub type acl_t = *mut __acl_ext; pub type acl_entry_t = *mut __acl_entry_ext; pub type acl_permset_t = *mut __acl_permset_ext; extern "C" { pub fn acl_init(count: ::std::os::raw::c_int) -> acl_t; } extern "C" { pub fn acl_dup(acl: acl_t) -> acl_t; } extern "C" { pub fn acl_free(obj_p: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_valid(acl: acl_t) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_copy_entry(dest_d: acl_entry_t, src_d: acl_entry_t) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_create_entry(acl_p: *mut acl_t, entry_p: *mut acl_entry_t) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_delete_entry(acl: acl_t, entry_d: acl_entry_t) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_get_entry( acl: acl_t, entry_id: ::std::os::raw::c_int, entry_p: *mut acl_entry_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_add_perm(permset_d: acl_permset_t, perm: acl_perm_t) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_calc_mask(acl_p: *mut acl_t) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_clear_perms(permset_d: acl_permset_t) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_delete_perm(permset_d: acl_permset_t, perm: acl_perm_t) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_get_permset( entry_d: acl_entry_t, permset_p: *mut acl_permset_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_set_permset(entry_d: acl_entry_t, permset_d: acl_permset_t) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_get_qualifier(entry_d: acl_entry_t) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn acl_get_tag_type( entry_d: acl_entry_t, tag_type_p: *mut acl_tag_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_set_qualifier( entry_d: acl_entry_t, tag_qualifier_p: *const ::std::os::raw::c_void, ) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_set_tag_type(entry_d: acl_entry_t, tag_type: acl_tag_t) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_copy_ext(buf_p: *mut ::std::os::raw::c_void, acl: acl_t, size: isize) -> isize; } extern "C" { pub fn acl_copy_int(buf_p: *const ::std::os::raw::c_void) -> acl_t; } extern "C" { pub fn acl_from_text(buf_p: *const ::std::os::raw::c_char) -> acl_t; } extern "C" { pub fn acl_size(acl: acl_t) -> isize; } extern "C" { pub fn acl_to_text(acl: acl_t, len_p: *mut isize) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn acl_delete_def_file(path_p: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_get_fd(fd: ::std::os::raw::c_int) -> acl_t; } extern "C" { pub fn acl_get_file(path_p: *const ::std::os::raw::c_char, type_: acl_type_t) -> acl_t; } extern "C" { pub fn acl_set_fd(fd: ::std::os::raw::c_int, acl: acl_t) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_set_file( path_p: *const ::std::os::raw::c_char, type_: acl_type_t, acl: acl_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_to_any_text( acl: acl_t, prefix: *const ::std::os::raw::c_char, separator: ::std::os::raw::c_char, options: ::std::os::raw::c_int, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn acl_cmp(acl1: acl_t, acl2: acl_t) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_check(acl: acl_t, last: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_from_mode(mode: mode_t) -> acl_t; } extern "C" { pub fn acl_equiv_mode(acl: acl_t, mode_p: *mut mode_t) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_extended_file(path_p: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_extended_file_nofollow( path_p: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_extended_fd(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_entries(acl: acl_t) -> ::std::os::raw::c_int; } extern "C" { pub fn acl_error(code: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char; } extern "C" { pub fn acl_get_perm(permset_d: acl_permset_t, perm: acl_perm_t) -> ::std::os::raw::c_int; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct group { pub gr_name: *mut ::std::os::raw::c_char, pub gr_passwd: *mut ::std::os::raw::c_char, pub gr_gid: __gid_t, pub gr_mem: *mut *mut ::std::os::raw::c_char, } extern "C" { pub fn getgrgid_r( __gid: __gid_t, __resultbuf: *mut group, __buffer: *mut ::std::os::raw::c_char, __buflen: usize, __result: *mut *mut group, ) -> ::std::os::raw::c_int; } extern "C" { pub fn getgrnam_r( __name: *const ::std::os::raw::c_char, __resultbuf: *mut group, __buffer: *mut ::std::os::raw::c_char, __buflen: usize, __result: *mut *mut group, ) -> ::std::os::raw::c_int; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct passwd { pub pw_name: *mut ::std::os::raw::c_char, pub pw_passwd: *mut ::std::os::raw::c_char, pub pw_uid: __uid_t, pub pw_gid: __gid_t, pub pw_gecos: *mut ::std::os::raw::c_char, pub pw_dir: *mut ::std::os::raw::c_char, pub pw_shell: *mut ::std::os::raw::c_char, } extern "C" { pub fn getpwuid_r( __uid: __uid_t, __resultbuf: *mut passwd, __buffer: *mut ::std::os::raw::c_char, __buflen: usize, __result: *mut *mut passwd, ) -> ::std::os::raw::c_int; } extern "C" { pub fn getpwnam_r( __name: *const ::std::os::raw::c_char, __resultbuf: *mut passwd, __buffer: *mut ::std::os::raw::c_char, __buflen: usize, __result: *mut *mut passwd, ) -> ::std::os::raw::c_int; }