22#ifndef __NFS41_NFS_CONST_H__
23#define __NFS41_NFS_CONST_H__
29#define NFS4_FHSIZE 128
30#define NFS4_VERIFIER_SIZE 8
31#define NFS4_OPAQUE_LIMIT 1024
32#define NFS4_SESSIONID_SIZE 16
33#define NFS4_STATEID_OTHER 12
34#define NFS4_EASIZE 256
35#define NFS4_EANAME_SIZE 128
38#define NFS41_MAX_FILEIO_SIZE (1024 * 1024)
39#define NFS41_MAX_SERVER_CACHE 1024
40#define NFS41_MAX_RPC_REQS 128
42#define UPCALL_BUF_SIZE 2048
45#define NFS41_MAX_COMPONENT_LEN 256
46#define NFS41_MAX_PATH_LEN 1280
48#define NFS41_HOSTNAME_LEN 64
49#define NFS41_ADDRS_PER_SERVER 4
53#define NFS41_UNIVERSAL_ADDR_LEN 56
56#define NFS41_NETWORK_ID_LEN 4
60#define NFS41_MAX_SYMLINK_DEPTH 31
68#define READ_OVERHEAD 512
75#define WRITE_OVERHEAD 1068
78#define NFS41_RPC_PROGRAM 100003
79#define NFS41_RPC_VERSION 4
80#define NFS41_RPC_CBPROGRAM 0x2358
199#define MAKE_WORD0(XXX) (1 << XXX)
200#define MAKE_WORD1(XXX) (1 << (XXX-32))
201#define MAKE_WORD2(XXX) (1 << (XXX-64))
307#define CREATE_SESSION4_FLAG_PERSIST 0x00000001
308#define CREATE_SESSION4_FLAG_CONN_BACK_CHAN 0x00000002
309#define CREATE_SESSION4_FLAG_CONN_RDMA 0x00000004
312#define ACL4_SUPPORT_ALLOW_ACL 0x00000001
313#define ACL4_SUPPORT_DENY_ACL 0x00000002
314#define ACL4_SUPPORT_AUDIT_ACL 0x00000004
315#define ACL4_SUPPORT_ALARM_ACL 0x00000008
318#define ACE4_ACCESS_ALLOWED_ACE_TYPE 0x00000000
319#define ACE4_ACCESS_DENIED_ACE_TYPE 0x00000001
320#define ACE4_SYSTEM_AUDIT_ACE_TYPE 0x00000002
321#define ACE4_SYSTEM_ALARM_ACE_TYPE 0x00000003
324#define ACE4_READ_DATA 0x00000001
325#define ACE4_LIST_DIRECTORY 0x00000001
326#define ACE4_WRITE_DATA 0x00000002
327#define ACE4_ADD_FILE 0x00000002
328#define ACE4_APPEND_DATA 0x00000004
329#define ACE4_ADD_SUBDIRECTORY 0x00000004
330#define ACE4_READ_NAMED_ATTRS 0x00000008
331#define ACE4_WRITE_NAMED_ATTRS 0x00000010
332#define ACE4_EXECUTE 0x00000020
333#define ACE4_DELETE_CHILD 0x00000040
334#define ACE4_READ_ATTRIBUTES 0x00000080
335#define ACE4_WRITE_ATTRIBUTES 0x00000100
336#define ACE4_WRITE_RETENTION 0x00000200
337#define ACE4_WRITE_RETENTION_HOLD 0x00000400
339#define ACE4_DELETE 0x00010000
340#define ACE4_READ_ACL 0x00020000
341#define ACE4_WRITE_ACL 0x00040000
342#define ACE4_WRITE_OWNER 0x00080000
343#define ACE4_SYNCHRONIZE 0x00100000
345#define ACE4_ALL_FILE ACE4_READ_DATA|ACE4_WRITE_DATA|ACE4_APPEND_DATA| \
346 ACE4_READ_NAMED_ATTRS|ACE4_WRITE_NAMED_ATTRS|ACE4_EXECUTE| \
347 ACE4_READ_ATTRIBUTES|ACE4_WRITE_ATTRIBUTES| \
348 ACE4_DELETE|ACE4_READ_ACL|ACE4_WRITE_ACL|ACE4_WRITE_OWNER| \
350#define ACE4_ALL_DIR ACE4_READ_DATA|ACE4_WRITE_DATA|ACE4_APPEND_DATA| \
351 ACE4_READ_NAMED_ATTRS|ACE4_WRITE_NAMED_ATTRS|ACE4_EXECUTE| \
352 ACE4_DELETE_CHILD|ACE4_READ_ATTRIBUTES|ACE4_WRITE_ATTRIBUTES| \
353 ACE4_DELETE|ACE4_READ_ACL|ACE4_WRITE_ACL|ACE4_WRITE_OWNER| \
356#define ACE4_GENERIC_READ ACE4_READ_DATA|ACE4_READ_NAMED_ATTRS| \
357 ACE4_READ_ATTRIBUTES|ACE4_READ_ACL|ACE4_SYNCHRONIZE
358#define ACE4_GENERIC_WRITE ACE4_WRITE_DATA|ACE4_WRITE_NAMED_ATTRS| \
359 ACE4_WRITE_ATTRIBUTES|ACE4_READ_ACL|ACE4_SYNCHRONIZE
360#define ACE4_GENERIC_EXECUTE ACE4_EXECUTE|ACE4_READ_ATTRIBUTES| \
361 ACE4_READ_ACL|ACE4_SYNCHRONIZE
365#define ACE4_FILE_ALL_ACCESS ACE4_READ_DATA|ACE4_LIST_DIRECTORY| \
366 ACE4_WRITE_DATA|ACE4_ADD_FILE|ACE4_APPEND_DATA|ACE4_ADD_SUBDIRECTORY| \
367 ACE4_READ_NAMED_ATTRS|ACE4_WRITE_NAMED_ATTRS|ACE4_EXECUTE| \
368 ACE4_READ_ATTRIBUTES|ACE4_WRITE_ATTRIBUTES
371#define ACE4_FILE_INHERIT_ACE 0x00000001
372#define ACE4_DIRECTORY_INHERIT_ACE 0x00000002
373#define ACE4_NO_PROPAGATE_INHERIT_ACE 0x00000004
374#define ACE4_INHERIT_ONLY_ACE 0x00000008
375#define ACE4_SUCCESSFUL_ACCESS_ACE_FLAG 0x00000010
376#define ACE4_FAILED_ACCESS_ACE_FLAG 0x00000020
377#define ACE4_IDENTIFIER_GROUP 0x00000040
378#define ACE4_INHERITED_ACE 0x00000080
381#define ACE4_OWNER "OWNER@"
382#define ACE4_GROUP "GROUP@"
383#define ACE4_EVERYONE "EVERYONE@"
384#define ACE4_INTERACTIVE "INTERACTIVE@"
385#define ACE4_NETWORK "NETWORK@"
386#define ACE4_DIALUP "DIALUP@"
387#define ACE4_BATCH "BATCH@"
388#define ACE4_ANONYMOUS "ANONYMOUS@"
389#define ACE4_AUTHENTICATED "AUTHENTICATED@"
390#define ACE4_SERVICE "SERVICE@"
391#define ACE4_NOBODY "nobody"
394#define ACL4_AUTO_INHERIT 0x00000001
395#define ACL4_PROTECTED 0x00000002
396#define ACL4_DEFAULTED 0x00000004
@ FATTR4_WORD1_SPACE_FREE
@ FATTR4_WORD2_MODE_SET_MASKED
@ FATTR4_WORD1_DIR_NOTIF_DELAY
@ FATTR4_WORD1_SPACE_AVAIL
@ FATTR4_WORD1_TIME_DELTA
@ FATTR4_WORD1_TIME_CREATE
@ FATTR4_WORD1_LAYOUT_HINT
@ FATTR4_WORD1_TIME_MODIFY
@ FATTR4_WORD2_FS_CHARSET_CAP
@ FATTR4_WORD1_SPACE_TOTAL
@ FATTR4_WORD0_LEASE_TIME
@ FATTR4_WORD1_OWNER_GROUP
@ FATTR4_WORD0_FILES_FREE
@ FATTR4_WORD0_LINK_SUPPORT
@ FATTR4_WORD2_RETENTION_SET
@ FATTR4_WORD1_QUOTA_AVAIL_SOFT
@ FATTR4_WORD1_TIME_METADATA
@ FATTR4_WORD2_RETENTEVT_SET
@ FATTR4_WORD0_CANSETTIME
@ FATTR4_WORD1_MOUNTED_ON_FILEID
@ FATTR4_WORD2_MDSTHRESHOLD
@ FATTR4_WORD1_TIME_BACKUP
@ FATTR4_WORD0_FILES_TOTAL
@ FATTR4_WORD1_QUOTA_USED
@ FATTR4_WORD2_FS_LOCATIONS_INFO
@ FATTR4_WORD0_NAMED_ATTR
@ FATTR4_WORD0_CASE_PRESERVING
@ FATTR4_WORD0_FH_EXPIRE_TYPE
@ FATTR4_WORD1_TIME_ACCESS
@ FATTR4_WORD0_RDATTR_ERROR
@ FATTR4_WORD0_UNIQUE_HANDLES
@ FATTR4_WORD1_TIME_ACCESS_SET
@ FATTR4_WORD0_ACLSUPPORT
@ FATTR4_WORD1_DIRENT_NOTIF_DELAY
@ FATTR4_WORD0_FILEHANDLE
@ FATTR4_WORD0_SYMLINK_SUPPORT
@ FATTR4_WORD0_MAXFILESIZE
@ FATTR4_WORD0_CHOWN_RESTRICTED
@ FATTR4_WORD1_SPACE_USED
@ FATTR4_WORD0_FS_LOCATIONS
@ FATTR4_WORD0_SUPPORTED_ATTRS
@ FATTR4_WORD2_LAYOUT_ALIGNMENT
@ FATTR4_WORD1_CHANGE_POLICY
@ FATTR4_WORD2_SUPPATTR_EXCLCREAT
@ FATTR4_WORD2_LAYOUT_TYPE
@ FATTR4_WORD2_RETENTION_GET
@ FATTR4_WORD1_FS_LAYOUT_TYPE
@ FATTR4_WORD0_FILES_AVAIL
@ FATTR4_WORD1_TIME_MODIFY_SET
@ FATTR4_WORD2_RETENTION_HOLD
@ FATTR4_WORD2_LAYOUT_BLKSIZE
@ FATTR4_WORD1_QUOTA_AVAIL_HARD
@ FATTR4_WORD2_RETENTEVT_GET
@ FATTR4_WORD0_CASE_INSENSITIVE
@ FATTR4_WORD0_HOMOGENEOUS
@ NFS4ERR_OP_NOT_IN_SESSION
@ NFS4ERR_DELEG_ALREADY_WANTED
@ NFS4ERR_REP_TOO_BIG_TO_CACHE
@ NFS4ERR_COMPLETE_ALREADY
@ NFS4ERR_RETRY_UNCACHED_REP
@ NFS4ERR_BAD_SESSION_DIGEST
@ NFS4ERR_RECLAIM_CONFLICT
@ NFS4ERR_DIRDELEG_UNAVAIL
@ NFS4ERR_MINOR_VERS_MISMATCH
@ NFS4ERR_CONN_NOT_BOUND_TO_SESSION
@ NFS4ERR_ENCR_ALG_UNSUPP
@ NFS4ERR_NOMATCHING_LAYOUT
@ NFS4ERR_UNSAFE_COMPOUND
@ NFS4ERR_HASH_ALG_UNSUPP
@ NFS4ERR_UNKNOWN_LAYOUTTYPE
@ NFS4ERR_LAYOUTUNAVAILABLE
@ NFS4ERR_SEQ_FALSE_RETRY