int qset_acl (char const *name, int desc, mode_t mode) { struct permission_context ctx; int ret; memset (&ctx, 0, sizeof ctx); ctx.mode = mode; ret = set_permissions (&ctx, name, desc); free_permission_context (&ctx); return ret; }
int qcopy_acl (const char *src_name, int source_desc, const char *dst_name, int dest_desc, mode_t mode) { struct permission_context ctx; int ret; ret = get_permissions (src_name, source_desc, mode, &ctx); if (ret != 0) return -2; ret = set_permissions (&ctx, dst_name, dest_desc); free_permission_context (&ctx); return ret; }