/ include / CoreFoundation / CFFileSecurity.h
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