diff options
Diffstat (limited to 'sys/cddl/contrib/opensolaris/uts/common/sys')
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/sys/acl.h | 14 | ||||
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h | 4 |
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 */ |