1185029Spjd/*
2185029Spjd * CDDL HEADER START
3185029Spjd *
4185029Spjd * The contents of this file are subject to the terms of the
5185029Spjd * Common Development and Distribution License (the "License").
6185029Spjd * You may not use this file except in compliance with the License.
7185029Spjd *
8185029Spjd * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9185029Spjd * or http://www.opensolaris.org/os/licensing.
10185029Spjd * See the License for the specific language governing permissions
11185029Spjd * and limitations under the License.
12185029Spjd *
13185029Spjd * When distributing Covered Code, include this CDDL HEADER in each
14185029Spjd * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15185029Spjd * If applicable, add the following below this CDDL HEADER, with the
16185029Spjd * fields enclosed by brackets "[]" replaced with your own identifying
17185029Spjd * information: Portions Copyright [yyyy] [name of copyright owner]
18185029Spjd *
19185029Spjd * CDDL HEADER END
20185029Spjd */
21185029Spjd/*
22185029Spjd * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
23185029Spjd * Use is subject to license terms.
24185029Spjd */
25185029Spjd
26185029Spjd#ifndef _SYS_ACL_IMPL_H
27185029Spjd#define	_SYS_ACL_IMPL_H
28185029Spjd
29185029Spjd#pragma ident	"%Z%%M%	%I%	%E% SMI"
30185029Spjd
31185029Spjd#ifdef	__cplusplus
32185029Spjdextern "C" {
33185029Spjd#endif
34185029Spjd
35185029Spjd/*
36185029Spjd * acl flags
37185029Spjd *
38185029Spjd * ACL_AUTO_INHERIT, ACL_PROTECTED and ACL_DEFAULTED
39185029Spjd * flags can also be stored in this field.
40185029Spjd */
41185029Spjd#define	ACL_IS_TRIVIAL	0x10000
42185029Spjd#define	ACL_IS_DIR	0x20000
43185029Spjd
44185029Spjdtypedef enum acl_type {
45185029Spjd	ACLENT_T = 0,
46185029Spjd	ACE_T = 1
47192800Strasz} zfs_acl_type_t;
48185029Spjd
49185029Spjdstruct acl_info {
50219089Spjd	zfs_acl_type_t acl_type;	/* style of acl */
51185029Spjd	int acl_cnt;			/* number of acl entries */
52185029Spjd	int acl_entry_size;		/* sizeof acl entry */
53185029Spjd	int acl_flags;			/* special flags about acl */
54185029Spjd	void *acl_aclp;			/* the acl */
55185029Spjd};
56185029Spjd
57185029Spjd#ifdef	__cplusplus
58185029Spjd}
59185029Spjd#endif
60185029Spjd
61185029Spjd#endif /* _SYS_ACL_IMPL_H */
62