summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbeetrees <b@beetr.ee>2022-09-05 20:07:05 +0100
committerbeetrees <b@beetr.ee>2022-09-06 07:14:19 +0100
commitc77ee006fcc60fb263c5f43d3ac1d7a6fa3305ac (patch)
treed525784913c02a5b3632b756101420065fe5beb7
parentaec8514342e2b03924f4d17198ce77eb0a12fda5 (diff)
downloadrust-libc-c77ee006fcc60fb263c5f43d3ac1d7a6fa3305ac.tar.gz
apple: Add the attrlist set of functions
-rw-r--r--libc-test/build.rs2
-rw-r--r--libc-test/semver/apple.txt151
-rw-r--r--src/unix/bsd/apple/mod.rs227
3 files changed, 379 insertions, 1 deletions
diff --git a/libc-test/build.rs b/libc-test/build.rs
index da808cc767..840de21713 100644
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -387,7 +387,7 @@ fn test_apple(target: &str) {
// FIXME: this type has the wrong ABI
"max_align_t" if i686 => true,
// Can't return an array from a C function.
- "uuid_t" => true,
+ "uuid_t" | "vol_capabilities_set_t" => true,
_ => false,
});
cfg.generate("../src/lib.rs", "main.rs");
diff --git a/libc-test/semver/apple.txt b/libc-test/semver/apple.txt
index 15eeb1c7b8..c28ab6845a 100644
--- a/libc-test/semver/apple.txt
+++ b/libc-test/semver/apple.txt
@@ -71,6 +71,88 @@ ATF_COM
ATF_PERM
ATF_PUBL
ATF_USETRAILERS
+ATTR_BIT_MAP_COUNT
+ATTR_CMNEXT_CLONEID
+ATTR_CMNEXT_EXT_FLAGS
+ATTR_CMNEXT_LINKID
+ATTR_CMNEXT_NOFIRMLINKPATH
+ATTR_CMNEXT_PRIVATESIZE
+ATTR_CMNEXT_REALDEVID
+ATTR_CMNEXT_REALFSID
+ATTR_CMNEXT_RECURSIVE_GENCOUNT
+ATTR_CMNEXT_RELPATH
+ATTR_CMN_ACCESSMASK
+ATTR_CMN_ACCTIME
+ATTR_CMN_ADDEDTIME
+ATTR_CMN_BKUPTIME
+ATTR_CMN_CHGTIME
+ATTR_CMN_CRTIME
+ATTR_CMN_DATA_PROTECT_FLAGS
+ATTR_CMN_DEVID
+ATTR_CMN_DOCUMENT_ID
+ATTR_CMN_EXTENDED_SECURITY
+ATTR_CMN_FILEID
+ATTR_CMN_FLAGS
+ATTR_CMN_FNDRINFO
+ATTR_CMN_FSID
+ATTR_CMN_FULLPATH
+ATTR_CMN_GEN_COUNT
+ATTR_CMN_GRPID
+ATTR_CMN_GRPUUID
+ATTR_CMN_MODTIME
+ATTR_CMN_NAME
+ATTR_CMN_OBJID
+ATTR_CMN_OBJPERMANENTID
+ATTR_CMN_OBJTAG
+ATTR_CMN_OBJTYPE
+ATTR_CMN_OWNERID
+ATTR_CMN_PARENTID
+ATTR_CMN_PAROBJID
+ATTR_CMN_RETURNED_ATTRS
+ATTR_CMN_SCRIPT
+ATTR_CMN_USERACCESS
+ATTR_CMN_UUID
+ATTR_DIR_ALLOCSIZE
+ATTR_DIR_DATALENGTH
+ATTR_DIR_ENTRYCOUNT
+ATTR_DIR_IOBLOCKSIZE
+ATTR_DIR_LINKCOUNT
+ATTR_DIR_MOUNTSTATUS
+ATTR_FILE_ALLOCSIZE
+ATTR_FILE_DATAALLOCSIZE
+ATTR_FILE_DATALENGTH
+ATTR_FILE_DEVTYPE
+ATTR_FILE_FORKCOUNT
+ATTR_FILE_FORKLIST
+ATTR_FILE_IOBLOCKSIZE
+ATTR_FILE_LINKCOUNT
+ATTR_FILE_RSRCALLOCSIZE
+ATTR_FILE_RSRCLENGTH
+ATTR_FILE_TOTALSIZE
+ATTR_VOL_ALLOCATIONCLUMP
+ATTR_VOL_ATTRIBUTES
+ATTR_VOL_CAPABILITIES
+ATTR_VOL_DIRCOUNT
+ATTR_VOL_ENCODINGSUSED
+ATTR_VOL_FILECOUNT
+ATTR_VOL_FSTYPE
+ATTR_VOL_INFO
+ATTR_VOL_IOBLOCKSIZE
+ATTR_VOL_MAXOBJCOUNT
+ATTR_VOL_MINALLOCATION
+ATTR_VOL_MOUNTEDDEVICE
+ATTR_VOL_MOUNTFLAGS
+ATTR_VOL_MOUNTPOINT
+ATTR_VOL_NAME
+ATTR_VOL_OBJCOUNT
+ATTR_VOL_QUOTA_SIZE
+ATTR_VOL_RESERVED_SIZE
+ATTR_VOL_SIGNATURE
+ATTR_VOL_SIZE
+ATTR_VOL_SPACEAVAIL
+ATTR_VOL_SPACEFREE
+ATTR_VOL_SPACEUSED
+ATTR_VOL_UUID
AT_EACCESS
AT_FDCWD
AT_REMOVEDIR
@@ -212,6 +294,7 @@ DAY_5
DAY_6
DAY_7
DEAD_PROCESS
+DIR_MNTSTATUS_MNTPOINT
DLT_ARCNET
DLT_ATM_RFC1483
DLT_AX25
@@ -323,6 +406,12 @@ FIONREAD
FIOSETOWN
FLUSHO
FOPEN_MAX
+FSOPT_ATTR_CMN_EXTENDED
+FSOPT_NOFOLLOW
+FSOPT_NOFOLLOW_ANY
+FSOPT_PACK_INVAL_ATTRS
+FSOPT_REPORT_FULLSIZE
+FSOPT_RETURN_REALDEV
F_ALLOCATEALL
F_ALLOCATECONTIG
F_BARRIERFSYNC
@@ -1493,6 +1582,54 @@ VM_PROT_NONE
VM_PROT_READ
VM_PROT_WRITE
VM_SWAPUSAGE
+VOL_CAPABILITIES_FORMAT
+VOL_CAPABILITIES_INTERFACES
+VOL_CAP_FMT_2TB_FILESIZE
+VOL_CAP_FMT_64BIT_OBJECT_IDS
+VOL_CAP_FMT_CASE_PRESERVING
+VOL_CAP_FMT_CASE_SENSITIVE
+VOL_CAP_FMT_DECMPFS_COMPRESSION
+VOL_CAP_FMT_DIR_HARDLINKS
+VOL_CAP_FMT_DOCUMENT_ID
+VOL_CAP_FMT_FAST_STATFS
+VOL_CAP_FMT_HARDLINKS
+VOL_CAP_FMT_HIDDEN_FILES
+VOL_CAP_FMT_JOURNAL
+VOL_CAP_FMT_JOURNAL_ACTIVE
+VOL_CAP_FMT_NO_IMMUTABLE_FILES
+VOL_CAP_FMT_NO_PERMISSIONS
+VOL_CAP_FMT_NO_ROOT_TIMES
+VOL_CAP_FMT_NO_VOLUME_SIZES
+VOL_CAP_FMT_OPENDENYMODES
+VOL_CAP_FMT_PATH_FROM_ID
+VOL_CAP_FMT_PERSISTENTOBJECTIDS
+VOL_CAP_FMT_SEALED
+VOL_CAP_FMT_SHARED_SPACE
+VOL_CAP_FMT_SPARSE_FILES
+VOL_CAP_FMT_SYMBOLICLINKS
+VOL_CAP_FMT_VOL_GROUPS
+VOL_CAP_FMT_WRITE_GENERATION_COUNT
+VOL_CAP_FMT_ZERO_RUNS
+VOL_CAP_INT_ADVLOCK
+VOL_CAP_INT_ALLOCATE
+VOL_CAP_INT_ATTRLIST
+VOL_CAP_INT_CLONE
+VOL_CAP_INT_COPYFILE
+VOL_CAP_INT_EXCHANGEDATA
+VOL_CAP_INT_EXTENDED_ATTR
+VOL_CAP_INT_EXTENDED_SECURITY
+VOL_CAP_INT_FLOCK
+VOL_CAP_INT_MANLOCK
+VOL_CAP_INT_NAMEDSTREAMS
+VOL_CAP_INT_NFSEXPORT
+VOL_CAP_INT_READDIRATTR
+VOL_CAP_INT_RENAME_EXCL
+VOL_CAP_INT_RENAME_OPENFAIL
+VOL_CAP_INT_RENAME_SWAP
+VOL_CAP_INT_SEARCHFS
+VOL_CAP_INT_SNAPSHOT
+VOL_CAP_INT_USERACCESS
+VOL_CAP_INT_VOL_RENAME
VREPRINT
VSTATUS
VT0
@@ -1673,6 +1810,10 @@ arc4random_buf
arc4random_uniform
arphdr
atof
+attrgroup_t
+attribute_set_t
+attrlist
+attrreference_t
backtrace
backtrace_from_fp
backtrace_image_offsets
@@ -1710,6 +1851,7 @@ fchdir
fchflags
fclonefileat
fdopendir
+fgetattrlist
fgetxattr
flistxattr
fmemopen
@@ -1718,12 +1860,16 @@ forkpty
freeifaddrs
freelocale
fremovexattr
+fsetattrlist
fsetxattr
fsid_t
fstatfs
fstore_t
ftok
futimes
+getattrlist
+getattrlistat
+getattrlistbulk
getdomainname
getdtablesize
getfsstat
@@ -1966,6 +2112,8 @@ semop
semun
sendfile
sendmsg
+setattrlist
+setattrlistat
setdomainname
setgrent
setgroups
@@ -2044,6 +2192,9 @@ vm_inherit_t
vm_map_t
vm_prot_t
vm_size_t
+vol_attributes_attr_t
+vol_capabilities_attr_t
+vol_capabilities_set_t
wait4
waitid
xsw_usage
diff --git a/src/unix/bsd/apple/mod.rs b/src/unix/bsd/apple/mod.rs
index 3d73191b29..ead06daa36 100644
--- a/src/unix/bsd/apple/mod.rs
+++ b/src/unix/bsd/apple/mod.rs
@@ -138,6 +138,9 @@ pub type CCRNGStatus = ::CCCryptorStatus;
pub type copyfile_state_t = *mut ::c_void;
pub type copyfile_flags_t = u32;
+pub type attrgroup_t = u32;
+pub type vol_capabilities_set_t = [u32; 4];
+
deprecated_mach! {
pub type mach_timebase_info_data_t = mach_timebase_info;
}
@@ -982,6 +985,39 @@ s! {
pub uuid: ::uuid_t,
pub offset: u32,
}
+
+ pub struct attrlist {
+ pub bitmapcount: ::c_ushort,
+ pub reserved: u16,
+ pub commonattr: attrgroup_t,
+ pub volattr: attrgroup_t,
+ pub dirattr: attrgroup_t,
+ pub fileattr: attrgroup_t,
+ pub forkattr: attrgroup_t,
+ }
+
+ pub struct attrreference_t {
+ pub attr_dataoffset: i32,
+ pub attr_length: u32,
+ }
+
+ pub struct vol_capabilities_attr_t {
+ pub capabilities: vol_capabilities_set_t,
+ pub valid: vol_capabilities_set_t,
+ }
+
+ pub struct attribute_set_t {
+ pub commonattr: attrgroup_t,
+ pub volattr: attrgroup_t,
+ pub dirattr: attrgroup_t,
+ pub fileattr: attrgroup_t,
+ pub forkattr: attrgroup_t,
+ }
+
+ pub struct vol_attributes_attr_t {
+ pub validattr: attribute_set_t,
+ pub nativeattr: attribute_set_t,
+ }
}
s_no_extra_traits! {
@@ -4688,6 +4724,145 @@ pub const COPYFILE_CONTINUE: ::c_int = 0;
pub const COPYFILE_SKIP: ::c_int = 1;
pub const COPYFILE_QUIT: ::c_int = 2;
+// <sys/attr.h>
+pub const ATTR_BIT_MAP_COUNT: ::c_ushort = 5;
+pub const FSOPT_NOFOLLOW: u32 = 0x1;
+pub const FSOPT_NOFOLLOW_ANY: u32 = 0x800;
+pub const FSOPT_REPORT_FULLSIZE: u32 = 0x4;
+pub const FSOPT_PACK_INVAL_ATTRS: u32 = 0x8;
+pub const FSOPT_ATTR_CMN_EXTENDED: u32 = 0x20;
+pub const FSOPT_RETURN_REALDEV: u32 = 0x200;
+pub const ATTR_CMN_NAME: attrgroup_t = 0x00000001;
+pub const ATTR_CMN_DEVID: attrgroup_t = 0x00000002;
+pub const ATTR_CMN_FSID: attrgroup_t = 0x00000004;
+pub const ATTR_CMN_OBJTYPE: attrgroup_t = 0x00000008;
+pub const ATTR_CMN_OBJTAG: attrgroup_t = 0x00000010;
+pub const ATTR_CMN_OBJID: attrgroup_t = 0x00000020;
+pub const ATTR_CMN_OBJPERMANENTID: attrgroup_t = 0x00000040;
+pub const ATTR_CMN_PAROBJID: attrgroup_t = 0x00000080;
+pub const ATTR_CMN_SCRIPT: attrgroup_t = 0x00000100;
+pub const ATTR_CMN_CRTIME: attrgroup_t = 0x00000200;
+pub const ATTR_CMN_MODTIME: attrgroup_t = 0x00000400;
+pub const ATTR_CMN_CHGTIME: attrgroup_t = 0x00000800;
+pub const ATTR_CMN_ACCTIME: attrgroup_t = 0x00001000;
+pub const ATTR_CMN_BKUPTIME: attrgroup_t = 0x00002000;
+pub const ATTR_CMN_FNDRINFO: attrgroup_t = 0x00004000;
+pub const ATTR_CMN_OWNERID: attrgroup_t = 0x00008000;
+pub const ATTR_CMN_GRPID: attrgroup_t = 0x00010000;
+pub const ATTR_CMN_ACCESSMASK: attrgroup_t = 0x00020000;
+pub const ATTR_CMN_FLAGS: attrgroup_t = 0x00040000;
+pub const ATTR_CMN_GEN_COUNT: attrgroup_t = 0x00080000;
+pub const ATTR_CMN_DOCUMENT_ID: attrgroup_t = 0x00100000;
+pub const ATTR_CMN_USERACCESS: attrgroup_t = 0x00200000;
+pub const ATTR_CMN_EXTENDED_SECURITY: attrgroup_t = 0x00400000;
+pub const ATTR_CMN_UUID: attrgroup_t = 0x00800000;
+pub const ATTR_CMN_GRPUUID: attrgroup_t = 0x01000000;
+pub const ATTR_CMN_FILEID: attrgroup_t = 0x02000000;
+pub const ATTR_CMN_PARENTID: attrgroup_t = 0x04000000;
+pub const ATTR_CMN_FULLPATH: attrgroup_t = 0x08000000;
+pub const ATTR_CMN_ADDEDTIME: attrgroup_t = 0x10000000;
+pub const ATTR_CMN_DATA_PROTECT_FLAGS: attrgroup_t = 0x40000000;
+pub const ATTR_CMN_RETURNED_ATTRS: attrgroup_t = 0x80000000;
+pub const ATTR_VOL_FSTYPE: attrgroup_t = 0x00000001;
+pub const ATTR_VOL_SIGNATURE: attrgroup_t = 0x00000002;
+pub const ATTR_VOL_SIZE: attrgroup_t = 0x00000004;
+pub const ATTR_VOL_SPACEFREE: attrgroup_t = 0x00000008;
+pub const ATTR_VOL_SPACEAVAIL: attrgroup_t = 0x00000010;
+pub const ATTR_VOL_MINALLOCATION: attrgroup_t = 0x00000020;
+pub const ATTR_VOL_ALLOCATIONCLUMP: attrgroup_t = 0x00000040;
+pub const ATTR_VOL_IOBLOCKSIZE: attrgroup_t = 0x00000080;
+pub const ATTR_VOL_OBJCOUNT: attrgroup_t = 0x00000100;
+pub const ATTR_VOL_FILECOUNT: attrgroup_t = 0x00000200;
+pub const ATTR_VOL_DIRCOUNT: attrgroup_t = 0x00000400;
+pub const ATTR_VOL_MAXOBJCOUNT: attrgroup_t = 0x00000800;
+pub const ATTR_VOL_MOUNTPOINT: attrgroup_t = 0x00001000;
+pub const ATTR_VOL_NAME: attrgroup_t = 0x00002000;
+pub const ATTR_VOL_MOUNTFLAGS: attrgroup_t = 0x00004000;
+pub const ATTR_VOL_MOUNTEDDEVICE: attrgroup_t = 0x00008000;
+pub const ATTR_VOL_ENCODINGSUSED: attrgroup_t = 0x00010000;
+pub const ATTR_VOL_CAPABILITIES: attrgroup_t = 0x00020000;
+pub const ATTR_VOL_UUID: attrgroup_t = 0x00040000;
+pub const ATTR_VOL_SPACEUSED: attrgroup_t = 0x00800000;
+pub const ATTR_VOL_QUOTA_SIZE: attrgroup_t = 0x10000000;
+pub const ATTR_VOL_RESERVED_SIZE: attrgroup_t = 0x20000000;
+pub const ATTR_VOL_ATTRIBUTES: attrgroup_t = 0x40000000;
+pub const ATTR_VOL_INFO: attrgroup_t = 0x80000000;
+pub const ATTR_DIR_LINKCOUNT: attrgroup_t = 0x00000001;
+pub const ATTR_DIR_ENTRYCOUNT: attrgroup_t = 0x00000002;
+pub const ATTR_DIR_MOUNTSTATUS: attrgroup_t = 0x00000004;
+pub const ATTR_DIR_ALLOCSIZE: attrgroup_t = 0x00000008;
+pub const ATTR_DIR_IOBLOCKSIZE: attrgroup_t = 0x00000010;
+pub const ATTR_DIR_DATALENGTH: attrgroup_t = 0x00000020;
+pub const ATTR_FILE_LINKCOUNT: attrgroup_t = 0x00000001;
+pub const ATTR_FILE_TOTALSIZE: attrgroup_t = 0x00000002;
+pub const ATTR_FILE_ALLOCSIZE: attrgroup_t = 0x00000004;
+pub const ATTR_FILE_IOBLOCKSIZE: attrgroup_t = 0x00000008;
+pub const ATTR_FILE_DEVTYPE: attrgroup_t = 0x00000020;
+pub const ATTR_FILE_FORKCOUNT: attrgroup_t = 0x00000080;
+pub const ATTR_FILE_FORKLIST: attrgroup_t = 0x00000100;
+pub const ATTR_FILE_DATALENGTH: attrgroup_t = 0x00000200;
+pub const ATTR_FILE_DATAALLOCSIZE: attrgroup_t = 0x00000400;
+pub const ATTR_FILE_RSRCLENGTH: attrgroup_t = 0x00001000;
+pub const ATTR_FILE_RSRCALLOCSIZE: attrgroup_t = 0x00002000;
+pub const ATTR_CMNEXT_RELPATH: attrgroup_t = 0x00000004;
+pub const ATTR_CMNEXT_PRIVATESIZE: attrgroup_t = 0x00000008;
+pub const ATTR_CMNEXT_LINKID: attrgroup_t = 0x00000010;
+pub const ATTR_CMNEXT_NOFIRMLINKPATH: attrgroup_t = 0x00000020;
+pub const ATTR_CMNEXT_REALDEVID: attrgroup_t = 0x00000040;
+pub const ATTR_CMNEXT_REALFSID: attrgroup_t = 0x00000080;
+pub const ATTR_CMNEXT_CLONEID: attrgroup_t = 0x00000100;
+pub const ATTR_CMNEXT_EXT_FLAGS: attrgroup_t = 0x00000200;
+pub const ATTR_CMNEXT_RECURSIVE_GENCOUNT: attrgroup_t = 0x00000400;
+pub const DIR_MNTSTATUS_MNTPOINT: u32 = 0x1;
+pub const VOL_CAPABILITIES_FORMAT: usize = 0;
+pub const VOL_CAPABILITIES_INTERFACES: usize = 1;
+pub const VOL_CAP_FMT_PERSISTENTOBJECTIDS: attrgroup_t = 0x00000001;
+pub const VOL_CAP_FMT_SYMBOLICLINKS: attrgroup_t = 0x00000002;
+pub const VOL_CAP_FMT_HARDLINKS: attrgroup_t = 0x00000004;
+pub const VOL_CAP_FMT_JOURNAL: attrgroup_t = 0x00000008;
+pub const VOL_CAP_FMT_JOURNAL_ACTIVE: attrgroup_t = 0x00000010;
+pub const VOL_CAP_FMT_NO_ROOT_TIMES: attrgroup_t = 0x00000020;
+pub const VOL_CAP_FMT_SPARSE_FILES: attrgroup_t = 0x00000040;
+pub const VOL_CAP_FMT_ZERO_RUNS: attrgroup_t = 0x00000080;
+pub const VOL_CAP_FMT_CASE_SENSITIVE: attrgroup_t = 0x00000100;
+pub const VOL_CAP_FMT_CASE_PRESERVING: attrgroup_t = 0x00000200;
+pub const VOL_CAP_FMT_FAST_STATFS: attrgroup_t = 0x00000400;
+pub const VOL_CAP_FMT_2TB_FILESIZE: attrgroup_t = 0x00000800;
+pub const VOL_CAP_FMT_OPENDENYMODES: attrgroup_t = 0x00001000;
+pub const VOL_CAP_FMT_HIDDEN_FILES: attrgroup_t = 0x00002000;
+pub const VOL_CAP_FMT_PATH_FROM_ID: attrgroup_t = 0x00004000;
+pub const VOL_CAP_FMT_NO_VOLUME_SIZES: attrgroup_t = 0x00008000;
+pub const VOL_CAP_FMT_DECMPFS_COMPRESSION: attrgroup_t = 0x00010000;
+pub const VOL_CAP_FMT_64BIT_OBJECT_IDS: attrgroup_t = 0x00020000;
+pub const VOL_CAP_FMT_DIR_HARDLINKS: attrgroup_t = 0x00040000;
+pub const VOL_CAP_FMT_DOCUMENT_ID: attrgroup_t = 0x00080000;
+pub const VOL_CAP_FMT_WRITE_GENERATION_COUNT: attrgroup_t = 0x00100000;
+pub const VOL_CAP_FMT_NO_IMMUTABLE_FILES: attrgroup_t = 0x00200000;
+pub const VOL_CAP_FMT_NO_PERMISSIONS: attrgroup_t = 0x00400000;
+pub const VOL_CAP_FMT_SHARED_SPACE: attrgroup_t = 0x00800000;
+pub const VOL_CAP_FMT_VOL_GROUPS: attrgroup_t = 0x01000000;
+pub const VOL_CAP_FMT_SEALED: attrgroup_t = 0x02000000;
+pub const VOL_CAP_INT_SEARCHFS: attrgroup_t = 0x00000001;
+pub const VOL_CAP_INT_ATTRLIST: attrgroup_t = 0x00000002;
+pub const VOL_CAP_INT_NFSEXPORT: attrgroup_t = 0x00000004;
+pub const VOL_CAP_INT_READDIRATTR: attrgroup_t = 0x00000008;
+pub const VOL_CAP_INT_EXCHANGEDATA: attrgroup_t = 0x00000010;
+pub const VOL_CAP_INT_COPYFILE: attrgroup_t = 0x00000020;
+pub const VOL_CAP_INT_ALLOCATE: attrgroup_t = 0x00000040;
+pub const VOL_CAP_INT_VOL_RENAME: attrgroup_t = 0x00000080;
+pub const VOL_CAP_INT_ADVLOCK: attrgroup_t = 0x00000100;
+pub const VOL_CAP_INT_FLOCK: attrgroup_t = 0x00000200;
+pub const VOL_CAP_INT_EXTENDED_SECURITY: attrgroup_t = 0x00000400;
+pub const VOL_CAP_INT_USERACCESS: attrgroup_t = 0x00000800;
+pub const VOL_CAP_INT_MANLOCK: attrgroup_t = 0x00001000;
+pub const VOL_CAP_INT_NAMEDSTREAMS: attrgroup_t = 0x00002000;
+pub const VOL_CAP_INT_EXTENDED_ATTR: attrgroup_t = 0x00004000;
+pub const VOL_CAP_INT_CLONE: attrgroup_t = 0x00010000;
+pub const VOL_CAP_INT_SNAPSHOT: attrgroup_t = 0x00020000;
+pub const VOL_CAP_INT_RENAME_SWAP: attrgroup_t = 0x00040000;
+pub const VOL_CAP_INT_RENAME_EXCL: attrgroup_t = 0x00080000;
+pub const VOL_CAP_INT_RENAME_OPENFAIL: attrgroup_t = 0x00100000;
+
cfg_if! {
if #[cfg(libc_const_extern_fn)] {
const fn __DARWIN_ALIGN32(p: usize) -> usize {
@@ -5562,6 +5737,58 @@ extern "C" {
) -> ::sysdir_search_path_enumeration_state;
pub static vm_page_size: vm_size_t;
+
+ pub fn getattrlist(
+ path: *const ::c_char,
+ attrList: *mut ::c_void,
+ attrBuf: *mut ::c_void,
+ attrBufSize: ::size_t,
+ options: u32,
+ ) -> ::c_int;
+ pub fn fgetattrlist(
+ fd: ::c_int,
+ attrList: *mut ::c_void,
+ attrBuf: *mut ::c_void,
+ attrBufSize: ::size_t,
+ options: u32,
+ ) -> ::c_int;
+ pub fn getattrlistat(
+ fd: ::c_int,
+ path: *const ::c_char,
+ attrList: *mut ::c_void,
+ attrBuf: *mut ::c_void,
+ attrBufSize: ::size_t,
+ options: ::c_ulong,
+ ) -> ::c_int;
+ pub fn setattrlist(
+ path: *const ::c_char,
+ attrList: *mut ::c_void,
+ attrBuf: *mut ::c_void,
+ attrBufSize: ::size_t,
+ options: u32,
+ ) -> ::c_int;
+ pub fn fsetattrlist(
+ fd: ::c_int,
+ attrList: *mut ::c_void,
+ attrBuf: *mut ::c_void,
+ attrBufSize: ::size_t,
+ options: u32,
+ ) -> ::c_int;
+ pub fn setattrlistat(
+ dir_fd: ::c_int,
+ path: *const ::c_char,
+ attrList: *mut ::c_void,
+ attrBuf: *mut ::c_void,
+ attrBufSize: ::size_t,
+ options: u32,
+ ) -> ::c_int;
+ pub fn getattrlistbulk(
+ dirfd: ::c_int,
+ attrList: *mut ::c_void,
+ attrBuf: *mut ::c_void,
+ attrBufSize: ::size_t,
+ options: u64,
+ ) -> ::c_int;
}
pub unsafe fn mach_task_self() -> ::mach_port_t {