CFFileSecurity.h
1 #if (TARGET_OS_MAC || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE) || CF_BUILDING_CF || NSBUILDINGFOUNDATION 2 3 #if !defined(__COREFOUNDATION_CFFILESECURITY__) 4 #define __COREFOUNDATION_CFFILESECURITY__ 1 5 6 #include <sys/types.h> 7 #include <sys/acl.h> 8 #include <sys/fcntl.h> 9 #include <CoreFoundation/CFUUID.h> 10 11 CF_EXTERN_C_BEGIN 12 13 #define kCFFileSecurityRemoveACL(acl_t) _FILESEC_REMOVE_ACL 14 15 enum { 16 kCFFileSecurityClearOwner = 1UL << 0, 17 kCFFileSecurityClearGroup = 1UL << 1, 18 kCFFileSecurityClearMode = 1UL << 2, 19 kCFFileSecurityClearOwnerUUID = 1UL << 3, 20 kCFFileSecurityClearGroupUUID = 1UL << 4, 21 kCFFileSecurityClearAccessControlList = 1UL << 5 22 }; 23 24 typedef struct __CFFileSecurity* CFFileSecurityRef; 25 26 CF_EXPORT CFTypeID CFFileSecurityGetTypeID(void); 27 CF_EXPORT CFFileSecurityRef CFFileSecurityCreate(CFAllocatorRef allocator); 28 CF_EXPORT CFFileSecurityRef CFFileSecurityCreateCopy(CFAllocatorRef allocator, CFFileSecurityRef fileSec); 29 CF_EXPORT Boolean CFFileSecurityCopyOwnerUUID(CFFileSecurityRef fileSec, CFUUIDRef *ownerUUID); 30 CF_EXPORT Boolean CFFileSecuritySetOwnerUUID(CFFileSecurityRef fileSec, CFUUIDRef ownerUUID); 31 CF_EXPORT Boolean CFFileSecurityCopyGroupUUID(CFFileSecurityRef fileSec, CFUUIDRef *groupUUID); 32 CF_EXPORT Boolean CFFileSecuritySetGroupUUID(CFFileSecurityRef fileSec, CFUUIDRef groupUUID); 33 CF_EXPORT Boolean CFFileSecurityCopyAccessControlList(CFFileSecurityRef fileSec, acl_t *accessControlList); 34 CF_EXPORT Boolean CFFileSecuritySetAccessControlList(CFFileSecurityRef fileSec, acl_t accessControlList); 35 CF_EXPORT Boolean CFFileSecurityGetOwner(CFFileSecurityRef fileSec, uid_t *owner); 36 CF_EXPORT Boolean CFFileSecuritySetOwner(CFFileSecurityRef fileSec, uid_t owner); 37 CF_EXPORT Boolean CFFileSecurityGetGroup(CFFileSecurityRef fileSec, gid_t *group); 38 CF_EXPORT Boolean CFFileSecuritySetGroup(CFFileSecurityRef fileSec, gid_t group); 39 CF_EXPORT Boolean CFFileSecurityGetMode(CFFileSecurityRef fileSec, mode_t *mode); 40 CF_EXPORT Boolean CFFileSecuritySetMode(CFFileSecurityRef fileSec, mode_t mode); 41 CF_EXPORT Boolean CFFileSecurityClearProperties(CFFileSecurityRef fileSec, CFOptionFlags clearPropertyMask); 42 43 CF_EXTERN_C_END 44 45 #endif 46 #endif 47