111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _LINUX_NFS4_H
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _LINUX_NFS4_H
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/types.h>
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_VERIFIER_SIZE 8
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_FHSIZE 128
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_MAXPATHLEN PATH_MAX
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_MAXNAMLEN NAME_MAX
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACCESS_READ 0x0001
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACCESS_LOOKUP 0x0002
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACCESS_MODIFY 0x0004
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACCESS_EXTEND 0x0008
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACCESS_DELETE 0x0010
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACCESS_EXECUTE 0x0020
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_FH_PERSISTENT 0x0000
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_FH_NOEXPIRE_WITH_OPEN 0x0001
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_FH_VOLATILE_ANY 0x0002
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_FH_VOL_MIGRATION 0x0004
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_FH_VOL_RENAME 0x0008
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_OPEN_RESULT_CONFIRM 0x0002
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_OPEN_RESULT_LOCKTYPE_POSIX 0x0004
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_SHARE_ACCESS_READ 0x0001
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_SHARE_ACCESS_WRITE 0x0002
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_SHARE_ACCESS_BOTH 0x0003
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_SHARE_DENY_READ 0x0001
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_SHARE_DENY_WRITE 0x0002
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_SHARE_DENY_BOTH 0x0003
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_SET_TO_SERVER_TIME 0
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_SET_TO_CLIENT_TIME 1
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE 0
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_ACCESS_DENIED_ACE_TYPE 1
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_SYSTEM_AUDIT_ACE_TYPE 2
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_SYSTEM_ALARM_ACE_TYPE 3
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ACL4_SUPPORT_ALLOW_ACL 0x01
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ACL4_SUPPORT_DENY_ACL 0x02
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ACL4_SUPPORT_AUDIT_ACL 0x04
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ACL4_SUPPORT_ALARM_ACL 0x08
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_FILE_INHERIT_ACE 0x00000001
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_DIRECTORY_INHERIT_ACE 0x00000002
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_NO_PROPAGATE_INHERIT_ACE 0x00000004
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_INHERIT_ONLY_ACE 0x00000008
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_SUCCESSFUL_ACCESS_ACE_FLAG 0x00000010
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_FAILED_ACCESS_ACE_FLAG 0x00000020
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_IDENTIFIER_GROUP 0x00000040
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_OWNER 0x00000080
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_GROUP 0x00000100
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_EVERYONE 0x00000200
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_READ_DATA 0x00000001
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_LIST_DIRECTORY 0x00000001
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_WRITE_DATA 0x00000002
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_ADD_FILE 0x00000002
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_APPEND_DATA 0x00000004
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_ADD_SUBDIRECTORY 0x00000004
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_READ_NAMED_ATTRS 0x00000008
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_WRITE_NAMED_ATTRS 0x00000010
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_EXECUTE 0x00000020
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_DELETE_CHILD 0x00000040
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_READ_ATTRIBUTES 0x00000080
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_WRITE_ATTRIBUTES 0x00000100
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_DELETE 0x00010000
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_READ_ACL 0x00020000
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_WRITE_ACL 0x00040000
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_WRITE_OWNER 0x00080000
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_SYNCHRONIZE 0x00100000
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_GENERIC_READ 0x00120081
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_GENERIC_WRITE 0x00160106
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_GENERIC_EXECUTE 0x001200A0
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NFS4_ACE_MASK_ALL 0x001F01FF
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertenum nfs4_acl_whotype {
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert NFS4_ACL_WHO_NAMED = 0,
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert NFS4_ACL_WHO_OWNER,
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert NFS4_ACL_WHO_GROUP,
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert NFS4_ACL_WHO_EVERYONE,
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
100