summaryrefslogtreecommitdiffstats
path: root/sys/cddl/contrib/opensolaris/uts/common/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys/cddl/contrib/opensolaris/uts/common/sys')
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/sys/acl.h14
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h4
2 files changed, 15 insertions, 3 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h b/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h
index 27fd577..f10fec6 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h
+++ b/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h
@@ -31,12 +31,22 @@
#include <sys/types.h>
#include <sys/acl_impl.h>
+#if defined(_KERNEL)
+/*
+ * When compiling OpenSolaris kernel code, this file is getting
+ * included instead of FreeBSD one. Pull the original sys/acl.h as well.
+ */
+#undef _SYS_ACL_H
+#include_next <sys/acl.h>
+#define _SYS_ACL_H
+#endif /* _KERNEL */
+
#ifdef __cplusplus
extern "C" {
#endif
#define MAX_ACL_ENTRIES (1024) /* max entries of each type */
-typedef struct acl {
+typedef struct {
int a_type; /* the type of ACL entry */
uid_t a_id; /* the entry in -uid or gid */
o_mode_t a_perm; /* the permission field */
@@ -49,7 +59,9 @@ typedef struct ace {
uint16_t a_type; /* allow or deny */
} ace_t;
+#if !defined(_KERNEL)
typedef struct acl_info acl_t;
+#endif
/*
* The following are Defined types for an aclent_t.
diff --git a/sys/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h b/sys/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h
index b82f259..878ddcb 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h
+++ b/sys/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h
@@ -44,10 +44,10 @@ extern "C" {
typedef enum acl_type {
ACLENT_T = 0,
ACE_T = 1
-} acl_type_t;
+} zfs_acl_type_t;
struct acl_info {
- acl_type_t acl_type; /* style of acl */
+ zfs_acl_type_t acl_type; /* style of acl */
int acl_cnt; /* number of acl entries */
int acl_entry_size; /* sizeof acl entry */
int acl_flags; /* special flags about acl */
OpenPOWER on IntegriCloud