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