1/* SPDX-License-Identifier: GPL-2.0 */
2/* Generated by xdrgen. Manual edits will be lost. */
3/* XDR specification file: ../../Documentation/sunrpc/xdr/nfs4_1.x */
4/* XDR specification modification time: Mon Oct 14 09:10:13 2024 */
5
6#ifndef _LINUX_XDRGEN_NFS4_1_DEF_H
7#define _LINUX_XDRGEN_NFS4_1_DEF_H
8
9#include <linux/types.h>
10#include <linux/sunrpc/xdrgen/_defs.h>
11
12typedef s64 int64_t;
13
14typedef u32 uint32_t;
15
16typedef struct {
17 u32 count;
18 uint32_t *element;
19} bitmap4;
20
21struct nfstime4 {
22 int64_t seconds;
23 uint32_t nseconds;
24};
25
26typedef bool fattr4_offline;
27
28enum { FATTR4_OFFLINE = 83 };
29
30struct open_arguments4 {
31 bitmap4 oa_share_access;
32 bitmap4 oa_share_deny;
33 bitmap4 oa_share_access_want;
34 bitmap4 oa_open_claim;
35 bitmap4 oa_create_mode;
36};
37
38enum open_args_share_access4 {
39 OPEN_ARGS_SHARE_ACCESS_READ = 1,
40 OPEN_ARGS_SHARE_ACCESS_WRITE = 2,
41 OPEN_ARGS_SHARE_ACCESS_BOTH = 3,
42};
43typedef enum open_args_share_access4 open_args_share_access4;
44
45enum open_args_share_deny4 {
46 OPEN_ARGS_SHARE_DENY_NONE = 0,
47 OPEN_ARGS_SHARE_DENY_READ = 1,
48 OPEN_ARGS_SHARE_DENY_WRITE = 2,
49 OPEN_ARGS_SHARE_DENY_BOTH = 3,
50};
51typedef enum open_args_share_deny4 open_args_share_deny4;
52
53enum open_args_share_access_want4 {
54 OPEN_ARGS_SHARE_ACCESS_WANT_ANY_DELEG = 3,
55 OPEN_ARGS_SHARE_ACCESS_WANT_NO_DELEG = 4,
56 OPEN_ARGS_SHARE_ACCESS_WANT_CANCEL = 5,
57 OPEN_ARGS_SHARE_ACCESS_WANT_SIGNAL_DELEG_WHEN_RESRC_AVAIL = 17,
58 OPEN_ARGS_SHARE_ACCESS_WANT_PUSH_DELEG_WHEN_UNCONTENDED = 18,
59 OPEN_ARGS_SHARE_ACCESS_WANT_DELEG_TIMESTAMPS = 20,
60 OPEN_ARGS_SHARE_ACCESS_WANT_OPEN_XOR_DELEGATION = 21,
61};
62typedef enum open_args_share_access_want4 open_args_share_access_want4;
63
64enum open_args_open_claim4 {
65 OPEN_ARGS_OPEN_CLAIM_NULL = 0,
66 OPEN_ARGS_OPEN_CLAIM_PREVIOUS = 1,
67 OPEN_ARGS_OPEN_CLAIM_DELEGATE_CUR = 2,
68 OPEN_ARGS_OPEN_CLAIM_DELEGATE_PREV = 3,
69 OPEN_ARGS_OPEN_CLAIM_FH = 4,
70 OPEN_ARGS_OPEN_CLAIM_DELEG_CUR_FH = 5,
71 OPEN_ARGS_OPEN_CLAIM_DELEG_PREV_FH = 6,
72};
73typedef enum open_args_open_claim4 open_args_open_claim4;
74
75enum open_args_createmode4 {
76 OPEN_ARGS_CREATEMODE_UNCHECKED4 = 0,
77 OPEN_ARGS_CREATE_MODE_GUARDED = 1,
78 OPEN_ARGS_CREATEMODE_EXCLUSIVE4 = 2,
79 OPEN_ARGS_CREATE_MODE_EXCLUSIVE4_1 = 3,
80};
81typedef enum open_args_createmode4 open_args_createmode4;
82
83typedef struct open_arguments4 fattr4_open_arguments;
84
85enum { FATTR4_OPEN_ARGUMENTS = 86 };
86
87enum { OPEN4_RESULT_NO_OPEN_STATEID = 0x00000010 };
88
89typedef struct nfstime4 fattr4_time_deleg_access;
90
91typedef struct nfstime4 fattr4_time_deleg_modify;
92
93enum { FATTR4_TIME_DELEG_ACCESS = 84 };
94
95enum { FATTR4_TIME_DELEG_MODIFY = 85 };
96
97enum { OPEN4_SHARE_ACCESS_WANT_DELEG_MASK = 0xFF00 };
98
99enum { OPEN4_SHARE_ACCESS_WANT_NO_PREFERENCE = 0x0000 };
100
101enum { OPEN4_SHARE_ACCESS_WANT_READ_DELEG = 0x0100 };
102
103enum { OPEN4_SHARE_ACCESS_WANT_WRITE_DELEG = 0x0200 };
104
105enum { OPEN4_SHARE_ACCESS_WANT_ANY_DELEG = 0x0300 };
106
107enum { OPEN4_SHARE_ACCESS_WANT_NO_DELEG = 0x0400 };
108
109enum { OPEN4_SHARE_ACCESS_WANT_CANCEL = 0x0500 };
110
111enum { OPEN4_SHARE_ACCESS_WANT_SIGNAL_DELEG_WHEN_RESRC_AVAIL = 0x10000 };
112
113enum { OPEN4_SHARE_ACCESS_WANT_PUSH_DELEG_WHEN_UNCONTENDED = 0x20000 };
114
115enum { OPEN4_SHARE_ACCESS_WANT_DELEG_TIMESTAMPS = 0x100000 };
116
117enum { OPEN4_SHARE_ACCESS_WANT_OPEN_XOR_DELEGATION = 0x200000 };
118
119enum open_delegation_type4 {
120 OPEN_DELEGATE_NONE = 0,
121 OPEN_DELEGATE_READ = 1,
122 OPEN_DELEGATE_WRITE = 2,
123 OPEN_DELEGATE_NONE_EXT = 3,
124 OPEN_DELEGATE_READ_ATTRS_DELEG = 4,
125 OPEN_DELEGATE_WRITE_ATTRS_DELEG = 5,
126};
127typedef enum open_delegation_type4 open_delegation_type4;
128
129#define NFS4_int64_t_sz \
130 (XDR_hyper)
131#define NFS4_uint32_t_sz \
132 (XDR_unsigned_int)
133#define NFS4_bitmap4_sz (XDR_unsigned_int)
134#define NFS4_nfstime4_sz \
135 (NFS4_int64_t_sz + NFS4_uint32_t_sz)
136#define NFS4_fattr4_offline_sz \
137 (XDR_bool)
138#define NFS4_open_arguments4_sz \
139 (NFS4_bitmap4_sz + NFS4_bitmap4_sz + NFS4_bitmap4_sz + NFS4_bitmap4_sz + NFS4_bitmap4_sz)
140#define NFS4_open_args_share_access4_sz (XDR_int)
141#define NFS4_open_args_share_deny4_sz (XDR_int)
142#define NFS4_open_args_share_access_want4_sz (XDR_int)
143#define NFS4_open_args_open_claim4_sz (XDR_int)
144#define NFS4_open_args_createmode4_sz (XDR_int)
145#define NFS4_fattr4_open_arguments_sz \
146 (NFS4_open_arguments4_sz)
147#define NFS4_fattr4_time_deleg_access_sz \
148 (NFS4_nfstime4_sz)
149#define NFS4_fattr4_time_deleg_modify_sz \
150 (NFS4_nfstime4_sz)
151#define NFS4_open_delegation_type4_sz (XDR_int)
152
153#endif /* _LINUX_XDRGEN_NFS4_1_DEF_H */
154