#include <errno.h>
#include <uuid/uuid.h>
+/*
+ * Versions of copy_int/copy_ext that retain native endianity.
+ */
+extern ssize_t acl_copy_ext_native(void *buf_p, acl_t acl, ssize_t size);
+extern acl_t acl_copy_int_native(const void *buf_p);
struct _filesec {
int fs_valid;
if (fsec->fs_aclbuf == _FILESEC_REMOVE_ACL) {
*(acl_t *)propptr = _FILESEC_REMOVE_ACL;
} else {
- *(acl_t *)propptr = acl_copy_int(fsec->fs_aclbuf);
+ *(acl_t *)propptr = acl_copy_int_native(fsec->fs_aclbuf);
if (*(acl_t *)propptr == NULL)
error = errno;
}
error = errno;
break;
}
- copysize = acl_copy_ext(aclbuf, acl, aclsize);
+ copysize = acl_copy_ext_native(aclbuf, acl, aclsize);
if (copysize < 0) {
free(aclbuf);
error = EINVAL;
return (0);
}
+int
+filesec_unset_property(filesec_t fsec, filesec_property_t property)
+{
+ return filesec_set_property(fsec, property, _FILESEC_UNSET_PROPERTY);
+}
+
int
filesec_query_property(filesec_t fsec, filesec_property_t property, int *validptr)
{