- typedef struct {
- id_t id;
-- uchar access;
-+ abits access;
- } id_access;
-
- typedef struct {
-@@ -41,15 +43,15 @@ typedef struct {
- id_access *idas;
- } ida_list;
-
--#define NO_ENTRY ((uchar)0x80)
-+#define NO_ENTRY ((abits)0x8000)
- typedef struct {
- ida_list users;
- ida_list groups;
- /* These will be NO_ENTRY if there's no such entry. */
-- uchar user_obj;
-- uchar group_obj;
-- uchar mask;
-- uchar other;
-+ abits user_obj;
-+ abits group_obj;
-+ abits mask;
-+ abits other;
- } rsync_acl;
-
- static const rsync_acl rsync_acl_initializer =
-@@ -148,7 +150,7 @@ static BOOL unpack_smb_acl(rsync_acl *ra
- rc = sys_acl_get_entry(sacl, SMB_ACL_NEXT_ENTRY, &entry)) {
- SMB_ACL_TAG_T tag_type;
- SMB_ACL_PERMSET_T permset;
-- uchar access;
-+ abits access;
- void *qualifier;
- id_access *ida;
- ida_list *idal;
-@@ -162,6 +164,9 @@ static BOOL unpack_smb_acl(rsync_acl *ra
- }
- access = (sys_acl_get_perm(permset, SMB_ACL_READ) ? 4 : 0)
- | (sys_acl_get_perm(permset, SMB_ACL_WRITE) ? 2 : 0)
-+ | (sys_acl_get_perm(permset, SMB_ACL_DELETE) ? 8 : 0)
-+ | (sys_acl_get_perm(permset, SMB_ACL_CHMOD) ? 16 : 0)
-+ | (sys_acl_get_perm(permset, SMB_ACL_CHOWN) ? 32 : 0)
- | (sys_acl_get_perm(permset, SMB_ACL_EXECUTE) ? 1 : 0);
- /* continue == done with entry; break == store in given idal */
- switch (tag_type) {
-@@ -559,13 +564,19 @@ static void expand_smb_acl_list(smb_acl_
- #define COE(func,args) CALL_OR_ERROR(func,args,#func)
- #define COE2(func,args) CALL_OR_ERROR(func,args,NULL)
-
--static int store_access_in_entry(uchar access, SMB_ACL_ENTRY_T entry)
-+static int store_access_in_entry(abits access, SMB_ACL_ENTRY_T entry)