/* * Please do not edit this file. * It was generated using rpcgen. */ #ifndef _NFS41ACL_H_RPCGEN #define _NFS41ACL_H_RPCGEN #include #ifdef __cplusplus extern "C" { #endif typedef struct { u_int utf8string_len; char *utf8string_val; } utf8string; typedef utf8string utf8str_mixed; #define ACE4_ACCESS_ALLOWED_ACE_TYPE 0x00000000 #define ACE4_ACCESS_DENIED_ACE_TYPE 0x00000001 #define ACE4_SYSTEM_AUDIT_ACE_TYPE 0x00000002 #define ACE4_SYSTEM_ALARM_ACE_TYPE 0x00000003 typedef u_int acetype4; #define ACE4_FILE_INHERIT_ACE 0x00000001 #define ACE4_DIRECTORY_INHERIT_ACE 0x00000002 #define ACE4_NO_PROPAGATE_INHERIT_ACE 0x00000004 #define ACE4_INHERIT_ONLY_ACE 0x00000008 #define ACE4_SUCCESSFUL_ACCESS_ACE_FLAG 0x00000010 #define ACE4_FAILED_ACCESS_ACE_FLAG 0x00000020 #define ACE4_IDENTIFIER_GROUP 0x00000040 #define ACE4_INHERITED_ACE 0x00000080 typedef u_int aceflag4; #define ACEI4_SPECIAL_WHO 0x00000001 typedef u_int aceiflag4; #define ACE4_SPECIAL_OWNER 1 #define ACE4_SPECIAL_GROUP 2 #define ACE4_SPECIAL_EVERYONE 3 #define ACE4_SPECIAL_INTERACTIVE 4 #define ACE4_SPECIAL_NETWORK 5 #define ACE4_SPECIAL_DIALUP 6 #define ACE4_SPECIAL_BATCH 7 #define ACE4_SPECIAL_ANONYMOUS 8 #define ACE4_SPECIAL_AUTHENTICATED 9 #define ACE4_SPECIAL_SERVICE 10 #define ACE4_READ_DATA 0x00000001 #define ACE4_LIST_DIRECTORY 0x00000001 #define ACE4_WRITE_DATA 0x00000002 #define ACE4_ADD_FILE 0x00000002 #define ACE4_APPEND_DATA 0x00000004 #define ACE4_ADD_SUBDIRECTORY 0x00000004 #define ACE4_READ_NAMED_ATTRS 0x00000008 #define ACE4_WRITE_NAMED_ATTRS 0x00000010 #define ACE4_EXECUTE 0x00000020 #define ACE4_DELETE_CHILD 0x00000040 #define ACE4_READ_ATTRIBUTES 0x00000080 #define ACE4_WRITE_ATTRIBUTES 0x00000100 #define ACE4_WRITE_RETENTION 0x00000200 #define ACE4_WRITE_RETENTION_HOLD 0x00000400 #define ACE4_DELETE 0x00010000 #define ACE4_READ_ACL 0x00020000 #define ACE4_WRITE_ACL 0x00040000 #define ACE4_WRITE_OWNER 0x00080000 #define ACE4_SYNCHRONIZE 0x00100000 typedef u_int acemask4; struct nfsace4 { acetype4 type; aceflag4 flag; acemask4 access_mask; utf8str_mixed who; }; typedef struct nfsace4 nfsace4; struct nfsace4i { acetype4 type; aceflag4 flag; aceiflag4 iflag; acemask4 access_mask; u_int who; }; typedef struct nfsace4i nfsace4i; #define ACL4_XATTR_VERSION_40 0 #define ACL4_XATTR_VERSION_41 1 #define ACL4_XATTR_VERSION_DEFAULT ACL4_XATTR_VERSION_40 #define ACL4_AUTO_INHERIT 0x00000001 #define ACL4_PROTECTED 0x00000002 #define ACL4_DEFAULTED 0x00000004 typedef u_int aclflag4; struct nfsacl40 { struct { u_int na40_aces_len; nfsace4 *na40_aces_val; } na40_aces; }; typedef struct nfsacl40 nfsacl40; struct nfsacl41 { aclflag4 na41_flag; struct { u_int na41_aces_len; nfsace4 *na41_aces_val; } na41_aces; }; typedef struct nfsacl41 nfsacl41; struct nfsacl41i { aclflag4 na41_flag; struct { u_int na41_aces_len; nfsace4i *na41_aces_val; } na41_aces; }; typedef struct nfsacl41i nfsacl41i; /* the xdr functions */ #if defined(__STDC__) || defined(__cplusplus) extern bool_t xdr_utf8string (XDR *, utf8string*); extern bool_t xdr_utf8str_mixed (XDR *, utf8str_mixed*); extern bool_t xdr_acetype4 (XDR *, acetype4*); extern bool_t xdr_aceflag4 (XDR *, aceflag4*); extern bool_t xdr_aceiflag4 (XDR *, aceiflag4*); extern bool_t xdr_acemask4 (XDR *, acemask4*); extern bool_t xdr_nfsace4 (XDR *, nfsace4*); extern bool_t xdr_nfsace4i (XDR *, nfsace4i*); extern bool_t xdr_aclflag4 (XDR *, aclflag4*); extern bool_t xdr_nfsacl40 (XDR *, nfsacl40*); extern bool_t xdr_nfsacl41 (XDR *, nfsacl41*); extern bool_t xdr_nfsacl41i (XDR *, nfsacl41i*); #else /* K&R C */ extern bool_t xdr_utf8string (); extern bool_t xdr_utf8str_mixed (); extern bool_t xdr_acetype4 (); extern bool_t xdr_aceflag4 (); extern bool_t xdr_aceiflag4 (); extern bool_t xdr_acemask4 (); extern bool_t xdr_nfsace4 (); extern bool_t xdr_nfsace4i (); extern bool_t xdr_aclflag4 (); extern bool_t xdr_nfsacl40 (); extern bool_t xdr_nfsacl41 (); extern bool_t xdr_nfsacl41i (); #endif /* K&R C */ #ifdef __cplusplus } #endif #endif /* !_NFS41ACL_H_RPCGEN */