/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2006 Sun Microsystems, Inc.
* All rights reserved.
* Use is subject to license terms.
*/
/*
* Copyright 2014 Nexenta Systems, Inc. All rights reserved.
*/
#ifndef _NFS_NFS_ACL_H
#define _NFS_NFS_ACL_H
#ifdef __cplusplus
extern "C" {
#endif
struct aclent {
int type;
};
struct secattr {
int aclcnt;
struct {
} aclent;
int dfaclcnt;
struct {
} dfaclent;
};
struct GETACL2args {
};
struct GETACL2resok {
};
struct GETACL2res {
union {
} res_u;
};
struct SETACL2args {
};
struct SETACL2resok {
};
struct SETACL2res {
union {
} res_u;
};
struct GETATTR2args {
};
struct GETATTR2resok {
};
struct GETATTR2res {
union {
} res_u;
};
struct ACCESS2args {
};
struct ACCESS2resok {
};
struct ACCESS2res {
union {
} res_u;
};
struct GETXATTRDIR2args {
};
struct GETXATTRDIR2resok {
};
struct GETXATTRDIR2res {
union {
} res_u;
};
struct GETACL3args {
};
struct GETACL3resok {
};
struct GETACL3resfail {
};
struct GETACL3res {
union {
} res_u;
};
struct SETACL3args {
};
struct SETACL3resok {
};
struct SETACL3resfail {
};
struct SETACL3res {
union {
} res_u;
};
struct GETXATTRDIR3args {
};
struct GETXATTRDIR3resok {
};
struct GETXATTRDIR3res {
union {
} res_u;
};
#ifdef _KERNEL
/* the xdr functions */
#ifdef _LITTLE_ENDIAN
#endif
#ifdef _LITTLE_ENDIAN
#endif
#ifdef _LITTLE_ENDIAN
#endif
#ifdef _LITTLE_ENDIAN
#endif
#ifdef _LITTLE_ENDIAN
#endif
#ifdef _LITTLE_ENDIAN
#endif
#endif
#ifdef _KERNEL
/* the service procedures */
extern void *acl2_getacl_getfh(GETACL2args *);
extern void acl2_getacl_free(GETACL2res *);
extern void *acl2_setacl_getfh(SETACL2args *);
extern void *acl2_getattr_getfh(GETATTR2args *);
extern void *acl2_access_getfh(ACCESS2args *);
extern void *acl2_getxattrdir_getfh(GETXATTRDIR2args *);
extern void *acl3_getacl_getfh(GETACL3args *);
extern void acl3_getacl_free(GETACL3res *);
extern void *acl3_setacl_getfh(SETACL3args *);
extern void *acl3_getxattrdir_getfh(GETXATTRDIR3args *);
#endif
#ifdef _KERNEL
/* the client side procedures */
failinfo_t *);
failinfo_t *);
extern void nfs_acl_free(vsecattr_t *);
#endif
#ifdef _KERNEL
/* server and client data structures */
extern kstat_named_t *aclproccnt_v2_ptr;
extern kstat_named_t *aclproccnt_v3_ptr;
extern char *aclnames_v2[];
extern uchar_t acl_call_type_v2[];
extern uchar_t acl_ss_call_type_v2[];
extern uchar_t acl_timer_type_v2[];
extern char *aclnames_v3[];
extern uchar_t acl_call_type_v3[];
extern uchar_t acl_ss_call_type_v3[];
extern uchar_t acl_timer_type_v3[];
#endif
#ifdef __cplusplus
}
#endif
#endif /* _NFS_NFS_ACL_H */