nfs_acl.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (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 2004 Sun Microsystems, Inc.
* All rights reserved.
* Use is subject to license terms.
*/
#ifndef _NFS_NFS_ACL_H
#define _NFS_NFS_ACL_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
#define NFS_ACL_MAX_ENTRIES 1024
struct aclent {
int type;
};
#define NA_USER_OBJ 0x1
#define NA_USER 0x2
#define NA_GROUP_OBJ 0x4
#define NA_GROUP 0x8
#define NA_CLASS_OBJ 0x10
#define NA_OTHER_OBJ 0x20
#define NA_ACL_DEFAULT 0x1000
#define NA_READ 0x4
#define NA_WRITE 0x2
#define NA_EXEC 0x1
struct secattr {
int aclcnt;
struct {
} aclent;
int dfaclcnt;
struct {
} dfaclent;
};
#define NA_ACL 0x1
#define NA_ACLCNT 0x2
#define NA_DFACL 0x4
#define NA_DFACLCNT 0x8
struct GETACL2args {
};
typedef struct GETACL2args GETACL2args;
struct GETACL2resok {
};
typedef struct GETACL2resok GETACL2resok;
struct GETACL2res {
union {
} res_u;
};
typedef struct GETACL2res GETACL2res;
struct SETACL2args {
};
typedef struct SETACL2args SETACL2args;
struct SETACL2resok {
};
typedef struct SETACL2resok SETACL2resok;
struct SETACL2res {
union {
} res_u;
};
typedef struct SETACL2res SETACL2res;
struct GETATTR2args {
};
typedef struct GETATTR2args GETATTR2args;
struct GETATTR2resok {
};
typedef struct GETATTR2resok GETATTR2resok;
struct GETATTR2res {
union {
} res_u;
};
typedef struct GETATTR2res GETATTR2res;
struct ACCESS2args {
};
typedef struct ACCESS2args ACCESS2args;
#define ACCESS2_READ 0x1
#define ACCESS2_LOOKUP 0x2
#define ACCESS2_MODIFY 0x4
#define ACCESS2_EXTEND 0x8
#define ACCESS2_DELETE 0x10
#define ACCESS2_EXECUTE 0x20
struct ACCESS2resok {
};
typedef struct ACCESS2resok ACCESS2resok;
struct ACCESS2res {
union {
} res_u;
};
typedef struct ACCESS2res ACCESS2res;
struct GETXATTRDIR2args {
};
typedef struct GETXATTRDIR2args GETXATTRDIR2args;
struct GETXATTRDIR2resok {
};
typedef struct GETXATTRDIR2resok GETXATTRDIR2resok;
struct GETXATTRDIR2res {
union {
} res_u;
};
typedef struct GETXATTRDIR2res GETXATTRDIR2res;
struct GETACL3args {
};
typedef struct GETACL3args GETACL3args;
struct GETACL3resok {
};
typedef struct GETACL3resok GETACL3resok;
struct GETACL3resfail {
};
typedef struct GETACL3resfail GETACL3resfail;
struct GETACL3res {
union {
} res_u;
};
typedef struct GETACL3res GETACL3res;
struct SETACL3args {
};
typedef struct SETACL3args SETACL3args;
struct SETACL3resok {
};
typedef struct SETACL3resok SETACL3resok;
struct SETACL3resfail {
};
typedef struct SETACL3resfail SETACL3resfail;
struct SETACL3res {
union {
} res_u;
};
typedef struct SETACL3res SETACL3res;
struct GETXATTRDIR3args {
};
typedef struct GETXATTRDIR3args GETXATTRDIR3args;
struct GETXATTRDIR3resok {
};
typedef struct GETXATTRDIR3resok GETXATTRDIR3resok;
struct GETXATTRDIR3res {
union {
} res_u;
};
typedef struct GETXATTRDIR3res GETXATTRDIR3res;
#define ACLPROC2_NULL ((rpcproc_t)(0))
#define ACLPROC3_NULL ((rpcproc_t)(0))
#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_free(GETACL2res *);
extern void acl3_getacl_free(GETACL3res *);
#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 */