ReactOS
0.4.14-dev-608-gd495a4f
nfs41_const.h
Go to the documentation of this file.
1
/* NFSv4.1 client for Windows
2
* Copyright © 2012 The Regents of the University of Michigan
3
*
4
* Olga Kornievskaia <aglo@umich.edu>
5
* Casey Bodley <cbodley@umich.edu>
6
*
7
* This library is free software; you can redistribute it and/or modify it
8
* under the terms of the GNU Lesser General Public License as published by
9
* the Free Software Foundation; either version 2.1 of the License, or (at
10
* your option) any later version.
11
*
12
* This library is distributed in the hope that it will be useful, but
13
* without any warranty; without even the implied warranty of merchantability
14
* or fitness for a particular purpose. See the GNU Lesser General Public
15
* License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public License
18
* along with this library; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA
20
*/
21
22
#ifndef __NFS41_NFS_CONST_H__
23
#define __NFS41_NFS_CONST_H__
24
25
26
/*
27
* Sizes
28
*/
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
36
37
38
#define NFS41_MAX_FILEIO_SIZE (1024 * 1024)
39
#define NFS41_MAX_SERVER_CACHE 1024
40
#define NFS41_MAX_RPC_REQS 128
41
42
#define UPCALL_BUF_SIZE 2048
43
44
/* MaximumComponentNameLength reported for FileFsAttributeInformation */
45
#define NFS41_MAX_COMPONENT_LEN 256
46
#define NFS41_MAX_PATH_LEN 1280
47
48
#define NFS41_HOSTNAME_LEN 64
49
#define NFS41_ADDRS_PER_SERVER 4
50
51
/* max length of ipv6 address 48
52
* sizeof(".255.255") + 8 */
53
#define NFS41_UNIVERSAL_ADDR_LEN 56
54
55
/* "udp" "tcp" "udp6" "tcp6" */
56
#define NFS41_NETWORK_ID_LEN 4
57
58
/* msdn: There is a maximum of 31 reparse points (and
59
* therefore symbolic links) allowed in a particular path. */
60
#define NFS41_MAX_SYMLINK_DEPTH 31
61
62
63
/* 424 bytes: max rpc header for reply with data */
64
/* 32 bytes: max COMPOUND response */
65
/* 40 bytes: max SEQUENCE response */
66
/* 4 bytes: max PUTFH response */
67
/* 12 bytes: max READ response */
68
#define READ_OVERHEAD 512
69
70
/* 840 bytes: max rpc header for call */
71
/* 32 bytes: max COMPOUND request */
72
/* 32 bytes: max SEQUENCE request */
73
/* 132 bytes: max PUTFH request */
74
/* 32 bytes: max WRITE request */
75
#define WRITE_OVERHEAD 1068
76
77
78
#define NFS41_RPC_PROGRAM 100003
79
#define NFS41_RPC_VERSION 4
80
#define NFS41_RPC_CBPROGRAM 0x2358
81
82
83
/*
84
* Error status
85
*/
86
enum
nfsstat4
{
87
NFS4_OK
= 0,
/* everything is okay */
88
NFS4ERR_PERM
= 1,
/* caller not privileged */
89
NFS4ERR_NOENT
= 2,
/* no such file/directory */
90
NFS4ERR_IO
= 5,
/* hard I/O error */
91
NFS4ERR_NXIO
= 6,
/* no such device */
92
NFS4ERR_ACCESS
= 13,
/* access denied */
93
NFS4ERR_EXIST
= 17,
/* file already exists */
94
NFS4ERR_XDEV
= 18,
/* different filesystems */
95
96
NFS4ERR_NOTDIR
= 20,
/* should be a directory */
97
NFS4ERR_ISDIR
= 21,
/* should not be directory */
98
NFS4ERR_INVAL
= 22,
/* invalid argument */
99
NFS4ERR_FBIG
= 27,
/* file exceeds server max */
100
NFS4ERR_NOSPC
= 28,
/* no space on filesystem */
101
NFS4ERR_ROFS
= 30,
/* read-only filesystem */
102
NFS4ERR_MLINK
= 31,
/* too many hard links */
103
NFS4ERR_NAMETOOLONG
= 63,
/* name exceeds server max */
104
NFS4ERR_NOTEMPTY
= 66,
/* directory not empty */
105
NFS4ERR_DQUOT
= 69,
/* hard quota limit reached*/
106
NFS4ERR_STALE
= 70,
/* file no longer exists */
107
NFS4ERR_BADHANDLE
= 10001,
/* Illegal filehandle */
108
NFS4ERR_BAD_COOKIE
= 10003,
/* READDIR cookie is stale */
109
NFS4ERR_NOTSUPP
= 10004,
/* operation not supported */
110
NFS4ERR_TOOSMALL
= 10005,
/* response limit exceeded */
111
NFS4ERR_SERVERFAULT
= 10006,
/* undefined server error */
112
NFS4ERR_BADTYPE
= 10007,
/* type invalid for CREATE */
113
NFS4ERR_DELAY
= 10008,
/* file "busy" - retry */
114
NFS4ERR_SAME
= 10009,
/* nverify says attrs same */
115
NFS4ERR_DENIED
= 10010,
/* lock unavailable */
116
NFS4ERR_EXPIRED
= 10011,
/* lock lease expired */
117
NFS4ERR_LOCKED
= 10012,
/* I/O failed due to lock */
118
NFS4ERR_GRACE
= 10013,
/* in grace period */
119
NFS4ERR_FHEXPIRED
= 10014,
/* filehandle expired */
120
NFS4ERR_SHARE_DENIED
= 10015,
/* share reserve denied */
121
NFS4ERR_WRONGSEC
= 10016,
/* wrong security flavor */
122
NFS4ERR_CLID_INUSE
= 10017,
/* clientid in use */
123
124
/* NFS4ERR_RESOURCE is not a valid error in NFSv4.1 */
125
NFS4ERR_RESOURCE
= 10018,
/* resource exhaustion */
126
NFS4ERR_MOVED
= 10019,
/* filesystem relocated */
127
NFS4ERR_NOFILEHANDLE
= 10020,
/* current FH is not set */
128
NFS4ERR_MINOR_VERS_MISMATCH
= 10021,
/* minor vers not supp */
129
NFS4ERR_STALE_CLIENTID
= 10022,
/* server has rebooted */
130
NFS4ERR_STALE_STATEID
= 10023,
/* server has rebooted */
131
NFS4ERR_OLD_STATEID
= 10024,
/* state is out of sync */
132
NFS4ERR_BAD_STATEID
= 10025,
/* incorrect stateid */
133
NFS4ERR_BAD_SEQID
= 10026,
/* request is out of seq. */
134
NFS4ERR_NOT_SAME
= 10027,
/* verify - attrs not same */
135
NFS4ERR_LOCK_RANGE
= 10028,
/* overlapping lock range */
136
NFS4ERR_SYMLINK
= 10029,
/* should be file/directory*/
137
NFS4ERR_RESTOREFH
= 10030,
/* no saved filehandle */
138
NFS4ERR_LEASE_MOVED
= 10031,
/* some filesystem moved */
139
NFS4ERR_ATTRNOTSUPP
= 10032,
/* recommended attr not sup*/
140
NFS4ERR_NO_GRACE
= 10033,
/* reclaim outside of grace*/
141
NFS4ERR_RECLAIM_BAD
= 10034,
/* reclaim error at server */
142
NFS4ERR_RECLAIM_CONFLICT
= 10035,
/* conflict on reclaim */
143
NFS4ERR_BADXDR
= 10036,
/* XDR decode failed */
144
NFS4ERR_LOCKS_HELD
= 10037,
/* file locks held at CLOSE*/
145
NFS4ERR_OPENMODE
= 10038,
/* conflict in OPEN and I/O*/
146
NFS4ERR_BADOWNER
= 10039,
/* owner translation bad */
147
NFS4ERR_BADCHAR
= 10040,
/* utf-8 char not supported*/
148
NFS4ERR_BADNAME
= 10041,
/* name not supported */
149
NFS4ERR_BAD_RANGE
= 10042,
/* lock range not supported*/
150
NFS4ERR_LOCK_NOTSUPP
= 10043,
/* no atomic up/downgrade */
151
NFS4ERR_OP_ILLEGAL
= 10044,
/* undefined operation */
152
NFS4ERR_DEADLOCK
= 10045,
/* file locking deadlock */
153
NFS4ERR_FILE_OPEN
= 10046,
/* open file blocks op. */
154
NFS4ERR_ADMIN_REVOKED
= 10047,
/* lockowner state revoked */
155
NFS4ERR_CB_PATH_DOWN
= 10048,
/* callback path down */
156
157
/* NFSv4.1 errors start here. */
158
NFS4ERR_BADIOMODE
= 10049,
159
NFS4ERR_BADLAYOUT
= 10050,
160
NFS4ERR_BAD_SESSION_DIGEST
= 10051,
161
NFS4ERR_BADSESSION
= 10052,
162
NFS4ERR_BADSLOT
= 10053,
163
NFS4ERR_COMPLETE_ALREADY
= 10054,
164
NFS4ERR_CONN_NOT_BOUND_TO_SESSION
= 10055,
165
NFS4ERR_DELEG_ALREADY_WANTED
= 10056,
166
NFS4ERR_BACK_CHAN_BUSY
= 10057,
/*backchan reqs outstanding*/
167
NFS4ERR_LAYOUTTRYLATER
= 10058,
168
NFS4ERR_LAYOUTUNAVAILABLE
= 10059,
169
NFS4ERR_NOMATCHING_LAYOUT
= 10060,
170
NFS4ERR_RECALLCONFLICT
= 10061,
171
NFS4ERR_UNKNOWN_LAYOUTTYPE
= 10062,
172
NFS4ERR_SEQ_MISORDERED
= 10063,
/* unexpected seq.ID in req*/
173
NFS4ERR_SEQUENCE_POS
= 10064,
/* [CB_]SEQ. op not 1st op */
174
NFS4ERR_REQ_TOO_BIG
= 10065,
/* request too big */
175
NFS4ERR_REP_TOO_BIG
= 10066,
/* reply too big */
176
NFS4ERR_REP_TOO_BIG_TO_CACHE
= 10067,
/* rep. not all cached */
177
NFS4ERR_RETRY_UNCACHED_REP
= 10068,
/* retry & rep. uncached */
178
NFS4ERR_UNSAFE_COMPOUND
= 10069,
/* retry/recovery too hard */
179
NFS4ERR_TOO_MANY_OPS
= 10070,
/*too many ops in [CB_]COMP*/
180
NFS4ERR_OP_NOT_IN_SESSION
= 10071,
/* op needs [CB_]SEQ. op */
181
NFS4ERR_HASH_ALG_UNSUPP
= 10072,
/* hash alg. not supp. */
182
/* Error 10073 is unused. */
183
NFS4ERR_CLIENTID_BUSY
= 10074,
/* clientid has state */
184
NFS4ERR_PNFS_IO_HOLE
= 10075,
/* IO to _SPARSE file hole */
185
NFS4ERR_SEQ_FALSE_RETRY
= 10076,
/* Retry != original req. */
186
NFS4ERR_BAD_HIGH_SLOT
= 10077,
/* req has bad highest_slot*/
187
NFS4ERR_DEADSESSION
= 10078,
/*new req sent to dead sess*/
188
NFS4ERR_ENCR_ALG_UNSUPP
= 10079,
/* encr alg. not supp. */
189
NFS4ERR_PNFS_NO_LAYOUT
= 10080,
/* I/O without a layout */
190
NFS4ERR_NOT_ONLY_OP
= 10081,
/* addl ops not allowed */
191
NFS4ERR_WRONG_CRED
= 10082,
/* op done by wrong cred */
192
NFS4ERR_WRONG_TYPE
= 10083,
/* op on wrong type object */
193
NFS4ERR_DIRDELEG_UNAVAIL
= 10084,
/* delegation not avail. */
194
NFS4ERR_REJECT_DELEG
= 10085,
/* cb rejected delegation */
195
NFS4ERR_RETURNCONFLICT
= 10086,
/* layout get before return*/
196
NFS4ERR_DELEG_REVOKED
= 10087
/* deleg./layout revoked */
197
};
198
199
#define MAKE_WORD0(XXX) (1 << XXX)
200
#define MAKE_WORD1(XXX) (1 << (XXX-32))
201
#define MAKE_WORD2(XXX) (1 << (XXX-64))
202
203
enum
{
204
/*
205
* Mandatory Attributes
206
*/
207
FATTR4_WORD0_SUPPORTED_ATTRS
=
MAKE_WORD0
(0),
208
FATTR4_WORD0_TYPE
=
MAKE_WORD0
(1),
209
FATTR4_WORD0_FH_EXPIRE_TYPE
=
MAKE_WORD0
(2),
210
FATTR4_WORD0_CHANGE
=
MAKE_WORD0
(3),
211
FATTR4_WORD0_SIZE
=
MAKE_WORD0
(4),
212
FATTR4_WORD0_LINK_SUPPORT
=
MAKE_WORD0
(5),
213
FATTR4_WORD0_SYMLINK_SUPPORT
=
MAKE_WORD0
(6),
214
FATTR4_WORD0_NAMED_ATTR
=
MAKE_WORD0
(7),
215
FATTR4_WORD0_FSID
=
MAKE_WORD0
(8),
216
FATTR4_WORD0_UNIQUE_HANDLES
=
MAKE_WORD0
(9),
217
FATTR4_WORD0_LEASE_TIME
=
MAKE_WORD0
(10),
218
FATTR4_WORD0_RDATTR_ERROR
=
MAKE_WORD0
(11),
219
FATTR4_WORD0_FILEHANDLE
=
MAKE_WORD0
(19),
220
FATTR4_WORD2_SUPPATTR_EXCLCREAT
=
MAKE_WORD2
(75),
221
222
/*
223
* Recommended Attributes
224
*/
225
FATTR4_WORD0_ACL
=
MAKE_WORD0
(12),
226
FATTR4_WORD0_ACLSUPPORT
=
MAKE_WORD0
(13),
227
FATTR4_WORD0_ARCHIVE
=
MAKE_WORD0
(14),
228
FATTR4_WORD0_CANSETTIME
=
MAKE_WORD0
(15),
229
FATTR4_WORD0_CASE_INSENSITIVE
=
MAKE_WORD0
(16),
230
FATTR4_WORD0_CASE_PRESERVING
=
MAKE_WORD0
(17),
231
FATTR4_WORD0_CHOWN_RESTRICTED
=
MAKE_WORD0
(18),
232
FATTR4_WORD0_FILEID
=
MAKE_WORD0
(20),
233
FATTR4_WORD0_FILES_AVAIL
=
MAKE_WORD0
(21),
234
FATTR4_WORD0_FILES_FREE
=
MAKE_WORD0
(22),
235
FATTR4_WORD0_FILES_TOTAL
=
MAKE_WORD0
(23),
236
FATTR4_WORD0_FS_LOCATIONS
=
MAKE_WORD0
(24),
237
FATTR4_WORD0_HIDDEN
=
MAKE_WORD0
(25),
238
FATTR4_WORD0_HOMOGENEOUS
=
MAKE_WORD0
(26),
239
FATTR4_WORD0_MAXFILESIZE
=
MAKE_WORD0
(27),
240
FATTR4_WORD0_MAXLINK
=
MAKE_WORD0
(28),
241
FATTR4_WORD0_MAXNAME
=
MAKE_WORD0
(29),
242
FATTR4_WORD0_MAXREAD
=
MAKE_WORD0
(30),
243
FATTR4_WORD0_MAXWRITE
=
MAKE_WORD0
(31),
244
FATTR4_WORD1_MIMETYPE
=
MAKE_WORD1
(32),
245
FATTR4_WORD1_MODE
=
MAKE_WORD1
(33),
246
FATTR4_WORD1_NO_TRUNC
=
MAKE_WORD1
(34),
247
FATTR4_WORD1_NUMLINKS
=
MAKE_WORD1
(35),
248
FATTR4_WORD1_OWNER
=
MAKE_WORD1
(36),
249
FATTR4_WORD1_OWNER_GROUP
=
MAKE_WORD1
(37),
250
FATTR4_WORD1_QUOTA_AVAIL_HARD
=
MAKE_WORD1
(38),
251
FATTR4_WORD1_QUOTA_AVAIL_SOFT
=
MAKE_WORD1
(39),
252
FATTR4_WORD1_QUOTA_USED
=
MAKE_WORD1
(40),
253
FATTR4_WORD1_RAWDEV
=
MAKE_WORD1
(41),
254
FATTR4_WORD1_SPACE_AVAIL
=
MAKE_WORD1
(42),
255
FATTR4_WORD1_SPACE_FREE
=
MAKE_WORD1
(43),
256
FATTR4_WORD1_SPACE_TOTAL
=
MAKE_WORD1
(44),
257
FATTR4_WORD1_SPACE_USED
=
MAKE_WORD1
(45),
258
FATTR4_WORD1_SYSTEM
=
MAKE_WORD1
(46),
259
FATTR4_WORD1_TIME_ACCESS
=
MAKE_WORD1
(47),
260
FATTR4_WORD1_TIME_ACCESS_SET
=
MAKE_WORD1
(48),
261
FATTR4_WORD1_TIME_BACKUP
=
MAKE_WORD1
(49),
262
FATTR4_WORD1_TIME_CREATE
=
MAKE_WORD1
(50),
263
FATTR4_WORD1_TIME_DELTA
=
MAKE_WORD1
(51),
264
FATTR4_WORD1_TIME_METADATA
=
MAKE_WORD1
(52),
265
FATTR4_WORD1_TIME_MODIFY
=
MAKE_WORD1
(53),
266
FATTR4_WORD1_TIME_MODIFY_SET
=
MAKE_WORD1
(54),
267
FATTR4_WORD1_MOUNTED_ON_FILEID
=
MAKE_WORD1
(55),
268
FATTR4_WORD1_DIR_NOTIF_DELAY
=
MAKE_WORD1
(56),
269
FATTR4_WORD1_DIRENT_NOTIF_DELAY
=
MAKE_WORD1
(57),
270
FATTR4_WORD1_DACL
=
MAKE_WORD1
(58),
271
FATTR4_WORD1_SACL
=
MAKE_WORD1
(59),
272
FATTR4_WORD1_CHANGE_POLICY
=
MAKE_WORD1
(60),
273
FATTR4_WORD1_FS_STATUS
=
MAKE_WORD1
(61),
274
FATTR4_WORD1_FS_LAYOUT_TYPE
=
MAKE_WORD1
(62),
275
FATTR4_WORD1_LAYOUT_HINT
=
MAKE_WORD1
(63),
276
FATTR4_WORD2_LAYOUT_TYPE
=
MAKE_WORD2
(64),
277
FATTR4_WORD2_LAYOUT_BLKSIZE
=
MAKE_WORD2
(65),
278
FATTR4_WORD2_LAYOUT_ALIGNMENT
=
MAKE_WORD2
(66),
279
FATTR4_WORD2_FS_LOCATIONS_INFO
=
MAKE_WORD2
(67),
280
FATTR4_WORD2_MDSTHRESHOLD
=
MAKE_WORD2
(68),
281
FATTR4_WORD2_RETENTION_GET
=
MAKE_WORD2
(69),
282
FATTR4_WORD2_RETENTION_SET
=
MAKE_WORD2
(70),
283
FATTR4_WORD2_RETENTEVT_GET
=
MAKE_WORD2
(71),
284
FATTR4_WORD2_RETENTEVT_SET
=
MAKE_WORD2
(72),
285
FATTR4_WORD2_RETENTION_HOLD
=
MAKE_WORD2
(73),
286
FATTR4_WORD2_MODE_SET_MASKED
=
MAKE_WORD2
(74),
287
FATTR4_WORD2_FS_CHARSET_CAP
=
MAKE_WORD2
(76),
288
};
289
290
/*
291
* File types
292
*/
293
enum
nfs_ftype4
{
294
NF4REG
= 1,
/* Regular File */
295
NF4DIR
= 2,
/* Directory */
296
NF4BLK
= 3,
/* Special File - block device */
297
NF4CHR
= 4,
/* Special File - character device */
298
NF4LNK
= 5,
/* Symbolic Link */
299
NF4SOCK
= 6,
/* Special File - socket */
300
NF4FIFO
= 7,
/* Special File - fifo */
301
NF4ATTRDIR
= 8,
/* Attribute Directory */
302
NF4NAMEDATTR
= 9,
/* Named Attribute */
303
304
NFS_FTYPE_MASK
= 0xF
305
};
306
307
#define CREATE_SESSION4_FLAG_PERSIST 0x00000001
308
#define CREATE_SESSION4_FLAG_CONN_BACK_CHAN 0x00000002
309
#define CREATE_SESSION4_FLAG_CONN_RDMA 0x00000004
310
311
/* ACLS aclsupport attribute values */
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
316
317
/* ACLS acetype4 field constants */
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
322
323
/* ACLS acemask4 field constants */
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
338
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
344
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| \
349
ACE4_SYNCHRONIZE
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| \
354
ACE4_SYNCHRONIZE
355
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
362
363
364
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
369
370
/* ACLS aceflag4 field constants */
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
379
380
/* ACLS well-defined WHOs */
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"
392
393
/* ACLE nfsacl41 aclflag4 constants */
394
#define ACL4_AUTO_INHERIT 0x00000001
395
#define ACL4_PROTECTED 0x00000002
396
#define ACL4_DEFAULTED 0x00000004
397
398
399
#endif
/* !__NFS41_NFS_CONST_H__ */
NFS4ERR_BADHANDLE
Definition:
nfs41_const.h:107
NF4REG
Definition:
nfs41_const.h:294
NFS4ERR_LAYOUTUNAVAILABLE
Definition:
nfs41_const.h:168
FATTR4_WORD1_NO_TRUNC
Definition:
nfs41_const.h:246
FATTR4_WORD0_SIZE
Definition:
nfs41_const.h:211
FATTR4_WORD1_LAYOUT_HINT
Definition:
nfs41_const.h:275
NFS4ERR_REQ_TOO_BIG
Definition:
nfs41_const.h:174
FATTR4_WORD2_LAYOUT_BLKSIZE
Definition:
nfs41_const.h:277
FATTR4_WORD0_TYPE
Definition:
nfs41_const.h:208
nfs_ftype4
nfs_ftype4
Definition:
nfs41_const.h:293
NF4BLK
Definition:
nfs41_const.h:296
NFS4ERR_BACK_CHAN_BUSY
Definition:
nfs41_const.h:166
FATTR4_WORD0_HIDDEN
Definition:
nfs41_const.h:237
FATTR4_WORD2_LAYOUT_ALIGNMENT
Definition:
nfs41_const.h:278
NFS4ERR_FHEXPIRED
Definition:
nfs41_const.h:119
NFS4ERR_XDEV
Definition:
nfs41_const.h:94
NFS4ERR_PERM
Definition:
nfs41_const.h:88
MAKE_WORD0
#define MAKE_WORD0(XXX)
Definition:
nfs41_const.h:199
NFS4ERR_ADMIN_REVOKED
Definition:
nfs41_const.h:154
NFS4ERR_NAMETOOLONG
Definition:
nfs41_const.h:103
NFS4ERR_RETRY_UNCACHED_REP
Definition:
nfs41_const.h:177
FATTR4_WORD1_SPACE_USED
Definition:
nfs41_const.h:257
FATTR4_WORD0_FILES_AVAIL
Definition:
nfs41_const.h:233
NF4CHR
Definition:
nfs41_const.h:297
NFS4ERR_STALE
Definition:
nfs41_const.h:106
NFS4ERR_DQUOT
Definition:
nfs41_const.h:105
FATTR4_WORD0_CHANGE
Definition:
nfs41_const.h:210
NFS4ERR_NOT_SAME
Definition:
nfs41_const.h:134
FATTR4_WORD2_RETENTION_GET
Definition:
nfs41_const.h:281
FATTR4_WORD1_SACL
Definition:
nfs41_const.h:271
FATTR4_WORD0_CANSETTIME
Definition:
nfs41_const.h:228
FATTR4_WORD2_SUPPATTR_EXCLCREAT
Definition:
nfs41_const.h:220
NFS4ERR_DENIED
Definition:
nfs41_const.h:115
FATTR4_WORD0_CHOWN_RESTRICTED
Definition:
nfs41_const.h:231
NFS4ERR_INVAL
Definition:
nfs41_const.h:98
FATTR4_WORD1_RAWDEV
Definition:
nfs41_const.h:253
FATTR4_WORD0_ACL
Definition:
nfs41_const.h:225
NFS4ERR_MINOR_VERS_MISMATCH
Definition:
nfs41_const.h:128
FATTR4_WORD0_SUPPORTED_ATTRS
Definition:
nfs41_const.h:207
NF4SOCK
Definition:
nfs41_const.h:299
NFS4ERR_NOTDIR
Definition:
nfs41_const.h:96
FATTR4_WORD0_FS_LOCATIONS
Definition:
nfs41_const.h:236
FATTR4_WORD1_NUMLINKS
Definition:
nfs41_const.h:247
NFS4ERR_ACCESS
Definition:
nfs41_const.h:92
NFS4ERR_NOT_ONLY_OP
Definition:
nfs41_const.h:190
FATTR4_WORD0_ARCHIVE
Definition:
nfs41_const.h:227
FATTR4_WORD1_TIME_ACCESS
Definition:
nfs41_const.h:259
NFS4ERR_PNFS_NO_LAYOUT
Definition:
nfs41_const.h:189
NFS4ERR_SYMLINK
Definition:
nfs41_const.h:136
FATTR4_WORD0_CASE_INSENSITIVE
Definition:
nfs41_const.h:229
NFS4ERR_CONN_NOT_BOUND_TO_SESSION
Definition:
nfs41_const.h:164
FATTR4_WORD2_RETENTION_SET
Definition:
nfs41_const.h:282
FATTR4_WORD1_MOUNTED_ON_FILEID
Definition:
nfs41_const.h:267
FATTR4_WORD2_MODE_SET_MASKED
Definition:
nfs41_const.h:286
FATTR4_WORD1_QUOTA_USED
Definition:
nfs41_const.h:252
NFS4ERR_ROFS
Definition:
nfs41_const.h:101
NFS4ERR_WRONG_TYPE
Definition:
nfs41_const.h:192
FATTR4_WORD2_RETENTEVT_SET
Definition:
nfs41_const.h:284
FATTR4_WORD2_FS_CHARSET_CAP
Definition:
nfs41_const.h:287
FATTR4_WORD1_TIME_ACCESS_SET
Definition:
nfs41_const.h:260
NFS4ERR_SEQUENCE_POS
Definition:
nfs41_const.h:173
FATTR4_WORD0_ACLSUPPORT
Definition:
nfs41_const.h:226
NFS4ERR_BADTYPE
Definition:
nfs41_const.h:112
NFS4ERR_NO_GRACE
Definition:
nfs41_const.h:140
NFS4ERR_REJECT_DELEG
Definition:
nfs41_const.h:194
NFS4ERR_OP_NOT_IN_SESSION
Definition:
nfs41_const.h:180
NFS4ERR_NOTEMPTY
Definition:
nfs41_const.h:104
NFS4ERR_DIRDELEG_UNAVAIL
Definition:
nfs41_const.h:193
NFS4ERR_DEADLOCK
Definition:
nfs41_const.h:152
NFS4ERR_LEASE_MOVED
Definition:
nfs41_const.h:138
NFS4ERR_MOVED
Definition:
nfs41_const.h:126
NFS4ERR_BADNAME
Definition:
nfs41_const.h:148
NFS4ERR_BAD_STATEID
Definition:
nfs41_const.h:132
FATTR4_WORD0_MAXWRITE
Definition:
nfs41_const.h:243
NFS4ERR_PNFS_IO_HOLE
Definition:
nfs41_const.h:184
NF4FIFO
Definition:
nfs41_const.h:300
NFS4ERR_CLID_INUSE
Definition:
nfs41_const.h:122
NFS4ERR_STALE_CLIENTID
Definition:
nfs41_const.h:129
NFS4ERR_RECLAIM_CONFLICT
Definition:
nfs41_const.h:142
NF4DIR
Definition:
nfs41_const.h:295
NFS4ERR_DEADSESSION
Definition:
nfs41_const.h:187
NFS4ERR_BAD_SEQID
Definition:
nfs41_const.h:133
FATTR4_WORD1_FS_STATUS
Definition:
nfs41_const.h:273
FATTR4_WORD1_OWNER
Definition:
nfs41_const.h:248
NFS4ERR_REP_TOO_BIG_TO_CACHE
Definition:
nfs41_const.h:176
MAKE_WORD2
#define MAKE_WORD2(XXX)
Definition:
nfs41_const.h:201
FATTR4_WORD1_TIME_METADATA
Definition:
nfs41_const.h:264
NFS4ERR_BAD_COOKIE
Definition:
nfs41_const.h:108
FATTR4_WORD1_TIME_BACKUP
Definition:
nfs41_const.h:261
FATTR4_WORD0_FILES_TOTAL
Definition:
nfs41_const.h:235
NFS4ERR_TOO_MANY_OPS
Definition:
nfs41_const.h:179
NFS4ERR_UNKNOWN_LAYOUTTYPE
Definition:
nfs41_const.h:171
NFS4ERR_COMPLETE_ALREADY
Definition:
nfs41_const.h:163
NFS4ERR_BADIOMODE
Definition:
nfs41_const.h:158
NFS4_OK
Definition:
nfs41_const.h:87
NFS4ERR_HASH_ALG_UNSUPP
Definition:
nfs41_const.h:181
FATTR4_WORD1_DIRENT_NOTIF_DELAY
Definition:
nfs41_const.h:269
FATTR4_WORD1_MODE
Definition:
nfs41_const.h:245
FATTR4_WORD1_TIME_MODIFY_SET
Definition:
nfs41_const.h:266
NFS4ERR_LOCKED
Definition:
nfs41_const.h:117
FATTR4_WORD0_FILES_FREE
Definition:
nfs41_const.h:234
NFS4ERR_FILE_OPEN
Definition:
nfs41_const.h:153
NFS4ERR_MLINK
Definition:
nfs41_const.h:102
NFS4ERR_DELAY
Definition:
nfs41_const.h:113
NFS4ERR_SAME
Definition:
nfs41_const.h:114
NFS4ERR_OP_ILLEGAL
Definition:
nfs41_const.h:151
NFS4ERR_BADSESSION
Definition:
nfs41_const.h:161
FATTR4_WORD1_OWNER_GROUP
Definition:
nfs41_const.h:249
FATTR4_WORD0_UNIQUE_HANDLES
Definition:
nfs41_const.h:216
FATTR4_WORD1_TIME_CREATE
Definition:
nfs41_const.h:262
NFS4ERR_LOCK_NOTSUPP
Definition:
nfs41_const.h:150
FATTR4_WORD1_TIME_MODIFY
Definition:
nfs41_const.h:265
NFS4ERR_BAD_HIGH_SLOT
Definition:
nfs41_const.h:186
NF4NAMEDATTR
Definition:
nfs41_const.h:302
NFS4ERR_IO
Definition:
nfs41_const.h:90
NFS4ERR_SHARE_DENIED
Definition:
nfs41_const.h:120
NFS4ERR_BADSLOT
Definition:
nfs41_const.h:162
NFS4ERR_CLIENTID_BUSY
Definition:
nfs41_const.h:183
NFS4ERR_NOSPC
Definition:
nfs41_const.h:100
NF4ATTRDIR
Definition:
nfs41_const.h:301
NFS4ERR_BADCHAR
Definition:
nfs41_const.h:147
FATTR4_WORD0_SYMLINK_SUPPORT
Definition:
nfs41_const.h:213
NF4LNK
Definition:
nfs41_const.h:298
FATTR4_WORD2_FS_LOCATIONS_INFO
Definition:
nfs41_const.h:279
FATTR4_WORD1_SPACE_TOTAL
Definition:
nfs41_const.h:256
FATTR4_WORD0_LEASE_TIME
Definition:
nfs41_const.h:217
FATTR4_WORD1_DACL
Definition:
nfs41_const.h:270
FATTR4_WORD1_DIR_NOTIF_DELAY
Definition:
nfs41_const.h:268
NFS_FTYPE_MASK
Definition:
nfs41_const.h:304
FATTR4_WORD0_FILEID
Definition:
nfs41_const.h:232
NFS4ERR_EXIST
Definition:
nfs41_const.h:93
NFS4ERR_LOCKS_HELD
Definition:
nfs41_const.h:144
nfsstat4
nfsstat4
Definition:
nfs41_const.h:86
FATTR4_WORD2_RETENTION_HOLD
Definition:
nfs41_const.h:285
FATTR4_WORD2_RETENTEVT_GET
Definition:
nfs41_const.h:283
NFS4ERR_ISDIR
Definition:
nfs41_const.h:97
FATTR4_WORD0_FSID
Definition:
nfs41_const.h:215
NFS4ERR_OPENMODE
Definition:
nfs41_const.h:145
FATTR4_WORD1_QUOTA_AVAIL_HARD
Definition:
nfs41_const.h:250
FATTR4_WORD0_MAXFILESIZE
Definition:
nfs41_const.h:239
NFS4ERR_NOENT
Definition:
nfs41_const.h:89
NFS4ERR_CB_PATH_DOWN
Definition:
nfs41_const.h:155
FATTR4_WORD1_SYSTEM
Definition:
nfs41_const.h:258
FATTR4_WORD1_SPACE_FREE
Definition:
nfs41_const.h:255
FATTR4_WORD0_LINK_SUPPORT
Definition:
nfs41_const.h:212
NFS4ERR_UNSAFE_COMPOUND
Definition:
nfs41_const.h:178
NFS4ERR_RESTOREFH
Definition:
nfs41_const.h:137
NFS4ERR_ENCR_ALG_UNSUPP
Definition:
nfs41_const.h:188
MAKE_WORD1
#define MAKE_WORD1(XXX)
Definition:
nfs41_const.h:200
NFS4ERR_RECALLCONFLICT
Definition:
nfs41_const.h:170
NFS4ERR_REP_TOO_BIG
Definition:
nfs41_const.h:175
FATTR4_WORD0_FH_EXPIRE_TYPE
Definition:
nfs41_const.h:209
NFS4ERR_RETURNCONFLICT
Definition:
nfs41_const.h:195
NFS4ERR_NOFILEHANDLE
Definition:
nfs41_const.h:127
FATTR4_WORD0_HOMOGENEOUS
Definition:
nfs41_const.h:238
NFS4ERR_WRONG_CRED
Definition:
nfs41_const.h:191
NFS4ERR_SEQ_FALSE_RETRY
Definition:
nfs41_const.h:185
NFS4ERR_RECLAIM_BAD
Definition:
nfs41_const.h:141
FATTR4_WORD0_NAMED_ATTR
Definition:
nfs41_const.h:214
NFS4ERR_NOMATCHING_LAYOUT
Definition:
nfs41_const.h:169
NFS4ERR_FBIG
Definition:
nfs41_const.h:99
NFS4ERR_OLD_STATEID
Definition:
nfs41_const.h:131
NFS4ERR_STALE_STATEID
Definition:
nfs41_const.h:130
NFS4ERR_NXIO
Definition:
nfs41_const.h:91
NFS4ERR_EXPIRED
Definition:
nfs41_const.h:116
FATTR4_WORD0_FILEHANDLE
Definition:
nfs41_const.h:219
FATTR4_WORD1_SPACE_AVAIL
Definition:
nfs41_const.h:254
NFS4ERR_LOCK_RANGE
Definition:
nfs41_const.h:135
NFS4ERR_LAYOUTTRYLATER
Definition:
nfs41_const.h:167
NFS4ERR_BAD_SESSION_DIGEST
Definition:
nfs41_const.h:160
NFS4ERR_ATTRNOTSUPP
Definition:
nfs41_const.h:139
FATTR4_WORD0_MAXNAME
Definition:
nfs41_const.h:241
NFS4ERR_BADLAYOUT
Definition:
nfs41_const.h:159
FATTR4_WORD1_TIME_DELTA
Definition:
nfs41_const.h:263
NFS4ERR_SERVERFAULT
Definition:
nfs41_const.h:111
FATTR4_WORD2_MDSTHRESHOLD
Definition:
nfs41_const.h:280
NFS4ERR_RESOURCE
Definition:
nfs41_const.h:125
FATTR4_WORD1_FS_LAYOUT_TYPE
Definition:
nfs41_const.h:274
NFS4ERR_NOTSUPP
Definition:
nfs41_const.h:109
NFS4ERR_SEQ_MISORDERED
Definition:
nfs41_const.h:172
FATTR4_WORD0_MAXLINK
Definition:
nfs41_const.h:240
NFS4ERR_GRACE
Definition:
nfs41_const.h:118
FATTR4_WORD1_QUOTA_AVAIL_SOFT
Definition:
nfs41_const.h:251
NFS4ERR_DELEG_REVOKED
Definition:
nfs41_const.h:196
FATTR4_WORD0_MAXREAD
Definition:
nfs41_const.h:242
NFS4ERR_WRONGSEC
Definition:
nfs41_const.h:121
NFS4ERR_BADXDR
Definition:
nfs41_const.h:143
NFS4ERR_BADOWNER
Definition:
nfs41_const.h:146
NFS4ERR_BAD_RANGE
Definition:
nfs41_const.h:149
NFS4ERR_TOOSMALL
Definition:
nfs41_const.h:110
FATTR4_WORD0_CASE_PRESERVING
Definition:
nfs41_const.h:230
FATTR4_WORD0_RDATTR_ERROR
Definition:
nfs41_const.h:218
NFS4ERR_DELEG_ALREADY_WANTED
Definition:
nfs41_const.h:165
FATTR4_WORD2_LAYOUT_TYPE
Definition:
nfs41_const.h:276
FATTR4_WORD1_CHANGE_POLICY
Definition:
nfs41_const.h:272
FATTR4_WORD1_MIMETYPE
Definition:
nfs41_const.h:244
base
services
nfsd
nfs41_const.h
Generated on Fri Dec 13 2019 06:03:00 for ReactOS by
1.8.15