blob: 21f1103d95a58c8e6f39cd12968a64293eb5d0e3 [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Ben Cheng655a7c02013-10-16 16:09:24 -07007#ifndef _UAPI_LINUX_NFS4_H
8#define _UAPI_LINUX_NFS4_H
9#include <linux/types.h>
Christopher Ferris05d08e92016-02-04 13:16:38 -080010#define NFS4_BITMAP_SIZE 3
Ben Cheng655a7c02013-10-16 16:09:24 -070011#define NFS4_VERIFIER_SIZE 8
12#define NFS4_STATEID_SEQID_SIZE 4
13#define NFS4_STATEID_OTHER_SIZE 12
14#define NFS4_STATEID_SIZE (NFS4_STATEID_SEQID_SIZE + NFS4_STATEID_OTHER_SIZE)
Ben Cheng655a7c02013-10-16 16:09:24 -070015#define NFS4_FHSIZE 128
16#define NFS4_MAXPATHLEN PATH_MAX
17#define NFS4_MAXNAMLEN NAME_MAX
18#define NFS4_OPAQUE_LIMIT 1024
Ben Cheng655a7c02013-10-16 16:09:24 -070019#define NFS4_MAX_SESSIONID_LEN 16
20#define NFS4_ACCESS_READ 0x0001
21#define NFS4_ACCESS_LOOKUP 0x0002
22#define NFS4_ACCESS_MODIFY 0x0004
Ben Cheng655a7c02013-10-16 16:09:24 -070023#define NFS4_ACCESS_EXTEND 0x0008
24#define NFS4_ACCESS_DELETE 0x0010
25#define NFS4_ACCESS_EXECUTE 0x0020
Christopher Ferris25c18d42020-10-14 17:42:58 -070026#define NFS4_ACCESS_XAREAD 0x0040
27#define NFS4_ACCESS_XAWRITE 0x0080
28#define NFS4_ACCESS_XALIST 0x0100
Ben Cheng655a7c02013-10-16 16:09:24 -070029#define NFS4_FH_PERSISTENT 0x0000
Ben Cheng655a7c02013-10-16 16:09:24 -070030#define NFS4_FH_NOEXPIRE_WITH_OPEN 0x0001
31#define NFS4_FH_VOLATILE_ANY 0x0002
32#define NFS4_FH_VOL_MIGRATION 0x0004
33#define NFS4_FH_VOL_RENAME 0x0008
Ben Cheng655a7c02013-10-16 16:09:24 -070034#define NFS4_OPEN_RESULT_CONFIRM 0x0002
35#define NFS4_OPEN_RESULT_LOCKTYPE_POSIX 0x0004
Christopher Ferris10a76e62022-06-08 13:31:52 -070036#define NFS4_OPEN_RESULT_PRESERVE_UNLINKED 0x0008
Christopher Ferris6a9755d2017-01-13 14:09:31 -080037#define NFS4_OPEN_RESULT_MAY_NOTIFY_LOCK 0x0020
Ben Cheng655a7c02013-10-16 16:09:24 -070038#define NFS4_SHARE_ACCESS_MASK 0x000F
Christopher Ferris6a9755d2017-01-13 14:09:31 -080039#define NFS4_SHARE_ACCESS_READ 0x0001
Ben Cheng655a7c02013-10-16 16:09:24 -070040#define NFS4_SHARE_ACCESS_WRITE 0x0002
41#define NFS4_SHARE_ACCESS_BOTH 0x0003
42#define NFS4_SHARE_DENY_READ 0x0001
Christopher Ferris6a9755d2017-01-13 14:09:31 -080043#define NFS4_SHARE_DENY_WRITE 0x0002
Ben Cheng655a7c02013-10-16 16:09:24 -070044#define NFS4_SHARE_DENY_BOTH 0x0003
45#define NFS4_SHARE_WANT_MASK 0xFF00
46#define NFS4_SHARE_WANT_NO_PREFERENCE 0x0000
Christopher Ferris6a9755d2017-01-13 14:09:31 -080047#define NFS4_SHARE_WANT_READ_DELEG 0x0100
Ben Cheng655a7c02013-10-16 16:09:24 -070048#define NFS4_SHARE_WANT_WRITE_DELEG 0x0200
49#define NFS4_SHARE_WANT_ANY_DELEG 0x0300
50#define NFS4_SHARE_WANT_NO_DELEG 0x0400
Christopher Ferris6a9755d2017-01-13 14:09:31 -080051#define NFS4_SHARE_WANT_CANCEL 0x0500
Ben Cheng655a7c02013-10-16 16:09:24 -070052#define NFS4_SHARE_WHEN_MASK 0xF0000
53#define NFS4_SHARE_SIGNAL_DELEG_WHEN_RESRC_AVAIL 0x10000
54#define NFS4_SHARE_PUSH_DELEG_WHEN_UNCONTENDED 0x20000
Christopher Ferris6a9755d2017-01-13 14:09:31 -080055#define NFS4_CDFC4_FORE 0x1
Ben Cheng655a7c02013-10-16 16:09:24 -070056#define NFS4_CDFC4_BACK 0x2
57#define NFS4_CDFC4_BOTH 0x3
58#define NFS4_CDFC4_FORE_OR_BOTH 0x3
Christopher Ferris6a9755d2017-01-13 14:09:31 -080059#define NFS4_CDFC4_BACK_OR_BOTH 0x7
Ben Cheng655a7c02013-10-16 16:09:24 -070060#define NFS4_CDFS4_FORE 0x1
61#define NFS4_CDFS4_BACK 0x2
62#define NFS4_CDFS4_BOTH 0x3
Christopher Ferris6a9755d2017-01-13 14:09:31 -080063#define NFS4_SET_TO_SERVER_TIME 0
Ben Cheng655a7c02013-10-16 16:09:24 -070064#define NFS4_SET_TO_CLIENT_TIME 1
65#define NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE 0
66#define NFS4_ACE_ACCESS_DENIED_ACE_TYPE 1
Christopher Ferris6a9755d2017-01-13 14:09:31 -080067#define NFS4_ACE_SYSTEM_AUDIT_ACE_TYPE 2
Ben Cheng655a7c02013-10-16 16:09:24 -070068#define NFS4_ACE_SYSTEM_ALARM_ACE_TYPE 3
69#define ACL4_SUPPORT_ALLOW_ACL 0x01
70#define ACL4_SUPPORT_DENY_ACL 0x02
Christopher Ferris6a9755d2017-01-13 14:09:31 -080071#define ACL4_SUPPORT_AUDIT_ACL 0x04
Ben Cheng655a7c02013-10-16 16:09:24 -070072#define ACL4_SUPPORT_ALARM_ACL 0x08
Christopher Ferris05d08e92016-02-04 13:16:38 -080073#define NFS4_ACL_AUTO_INHERIT 0x00000001
74#define NFS4_ACL_PROTECTED 0x00000002
Christopher Ferris6a9755d2017-01-13 14:09:31 -080075#define NFS4_ACL_DEFAULTED 0x00000004
Ben Cheng655a7c02013-10-16 16:09:24 -070076#define NFS4_ACE_FILE_INHERIT_ACE 0x00000001
77#define NFS4_ACE_DIRECTORY_INHERIT_ACE 0x00000002
78#define NFS4_ACE_NO_PROPAGATE_INHERIT_ACE 0x00000004
Christopher Ferris6a9755d2017-01-13 14:09:31 -080079#define NFS4_ACE_INHERIT_ONLY_ACE 0x00000008
Ben Cheng655a7c02013-10-16 16:09:24 -070080#define NFS4_ACE_SUCCESSFUL_ACCESS_ACE_FLAG 0x00000010
81#define NFS4_ACE_FAILED_ACCESS_ACE_FLAG 0x00000020
82#define NFS4_ACE_IDENTIFIER_GROUP 0x00000040
Christopher Ferris6a9755d2017-01-13 14:09:31 -080083#define NFS4_ACE_INHERITED_ACE 0x00000080
Ben Cheng655a7c02013-10-16 16:09:24 -070084#define NFS4_ACE_READ_DATA 0x00000001
85#define NFS4_ACE_LIST_DIRECTORY 0x00000001
86#define NFS4_ACE_WRITE_DATA 0x00000002
Christopher Ferris6a9755d2017-01-13 14:09:31 -080087#define NFS4_ACE_ADD_FILE 0x00000002
Ben Cheng655a7c02013-10-16 16:09:24 -070088#define NFS4_ACE_APPEND_DATA 0x00000004
89#define NFS4_ACE_ADD_SUBDIRECTORY 0x00000004
90#define NFS4_ACE_READ_NAMED_ATTRS 0x00000008
Christopher Ferris6a9755d2017-01-13 14:09:31 -080091#define NFS4_ACE_WRITE_NAMED_ATTRS 0x00000010
Ben Cheng655a7c02013-10-16 16:09:24 -070092#define NFS4_ACE_EXECUTE 0x00000020
93#define NFS4_ACE_DELETE_CHILD 0x00000040
94#define NFS4_ACE_READ_ATTRIBUTES 0x00000080
Christopher Ferris6a9755d2017-01-13 14:09:31 -080095#define NFS4_ACE_WRITE_ATTRIBUTES 0x00000100
Christopher Ferris05d08e92016-02-04 13:16:38 -080096#define NFS4_ACE_WRITE_RETENTION 0x00000200
97#define NFS4_ACE_WRITE_RETENTION_HOLD 0x00000400
Ben Cheng655a7c02013-10-16 16:09:24 -070098#define NFS4_ACE_DELETE 0x00010000
Christopher Ferris6a9755d2017-01-13 14:09:31 -080099#define NFS4_ACE_READ_ACL 0x00020000
Ben Cheng655a7c02013-10-16 16:09:24 -0700100#define NFS4_ACE_WRITE_ACL 0x00040000
101#define NFS4_ACE_WRITE_OWNER 0x00080000
Ben Cheng655a7c02013-10-16 16:09:24 -0700102#define NFS4_ACE_SYNCHRONIZE 0x00100000
Christopher Ferris6a9755d2017-01-13 14:09:31 -0800103#define NFS4_ACE_GENERIC_READ 0x00120081
Ben Cheng655a7c02013-10-16 16:09:24 -0700104#define NFS4_ACE_GENERIC_WRITE 0x00160106
105#define NFS4_ACE_GENERIC_EXECUTE 0x001200A0
Ben Cheng655a7c02013-10-16 16:09:24 -0700106#define NFS4_ACE_MASK_ALL 0x001F01FF
Christopher Ferris6a9755d2017-01-13 14:09:31 -0800107#define EXCHGID4_FLAG_SUPP_MOVED_REFER 0x00000001
Ben Cheng655a7c02013-10-16 16:09:24 -0700108#define EXCHGID4_FLAG_SUPP_MOVED_MIGR 0x00000002
109#define EXCHGID4_FLAG_BIND_PRINC_STATEID 0x00000100
Ben Cheng655a7c02013-10-16 16:09:24 -0700110#define EXCHGID4_FLAG_USE_NON_PNFS 0x00010000
Christopher Ferris6a9755d2017-01-13 14:09:31 -0800111#define EXCHGID4_FLAG_USE_PNFS_MDS 0x00020000
Ben Cheng655a7c02013-10-16 16:09:24 -0700112#define EXCHGID4_FLAG_USE_PNFS_DS 0x00040000
113#define EXCHGID4_FLAG_MASK_PNFS 0x00070000
Ben Cheng655a7c02013-10-16 16:09:24 -0700114#define EXCHGID4_FLAG_UPD_CONFIRMED_REC_A 0x40000000
Christopher Ferris6a9755d2017-01-13 14:09:31 -0800115#define EXCHGID4_FLAG_CONFIRMED_R 0x80000000
Christopher Ferris32ff3f82020-12-14 13:10:04 -0800116#define EXCHGID4_FLAG_SUPP_FENCE_OPS 0x00000004
Ben Cheng655a7c02013-10-16 16:09:24 -0700117#define EXCHGID4_FLAG_MASK_A 0x40070103
118#define EXCHGID4_FLAG_MASK_R 0x80070103
Christopher Ferris32ff3f82020-12-14 13:10:04 -0800119#define EXCHGID4_2_FLAG_MASK_R 0x80070107
Ben Cheng655a7c02013-10-16 16:09:24 -0700120#define SEQ4_STATUS_CB_PATH_DOWN 0x00000001
Christopher Ferris6a9755d2017-01-13 14:09:31 -0800121#define SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRING 0x00000002
Ben Cheng655a7c02013-10-16 16:09:24 -0700122#define SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRED 0x00000004
123#define SEQ4_STATUS_EXPIRED_ALL_STATE_REVOKED 0x00000008
Ben Cheng655a7c02013-10-16 16:09:24 -0700124#define SEQ4_STATUS_EXPIRED_SOME_STATE_REVOKED 0x00000010
Christopher Ferris6a9755d2017-01-13 14:09:31 -0800125#define SEQ4_STATUS_ADMIN_STATE_REVOKED 0x00000020
Ben Cheng655a7c02013-10-16 16:09:24 -0700126#define SEQ4_STATUS_RECALLABLE_STATE_REVOKED 0x00000040
127#define SEQ4_STATUS_LEASE_MOVED 0x00000080
Ben Cheng655a7c02013-10-16 16:09:24 -0700128#define SEQ4_STATUS_RESTART_RECLAIM_NEEDED 0x00000100
Christopher Ferris6a9755d2017-01-13 14:09:31 -0800129#define SEQ4_STATUS_CB_PATH_DOWN_SESSION 0x00000200
Ben Cheng655a7c02013-10-16 16:09:24 -0700130#define SEQ4_STATUS_BACKCHANNEL_FAULT 0x00000400
131#define NFS4_SECINFO_STYLE4_CURRENT_FH 0
Ben Cheng655a7c02013-10-16 16:09:24 -0700132#define NFS4_SECINFO_STYLE4_PARENT 1
Christopher Ferris6a9755d2017-01-13 14:09:31 -0800133#define NFS4_MAX_UINT64 (~(__u64) 0)
Ben Cheng655a7c02013-10-16 16:09:24 -0700134#define NFS4_MAX_OPS 8
135#define NFS4_MAX_BACK_CHANNEL_OPS 2
Ben Cheng655a7c02013-10-16 16:09:24 -0700136#endif