File Index
Files and directories
Sign in
FILE

xdr4cb.h

File preview with syntax highlighting.

linux-6.19.14/fs/nfsd/xdr4cb.h OBJECTIVE-C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#define NFS4_MAXTAGLEN		20
 3
 4#define NFS4_enc_cb_null_sz		0
 5#define NFS4_dec_cb_null_sz		0
 6#define cb_compound_enc_hdr_sz		4
 7#define cb_compound_dec_hdr_sz		(3 + (NFS4_MAXTAGLEN >> 2))
 8#define sessionid_sz			(NFS4_MAX_SESSIONID_LEN >> 2)
 9#define enc_referring_call4_sz		(1 + 1)
10#define enc_referring_call_list4_sz	(sessionid_sz + 1 + \
11					enc_referring_call4_sz)
12#define cb_sequence_enc_sz		(sessionid_sz + 4 +             \
13					enc_referring_call_list4_sz)
14#define cb_sequence_dec_sz		(op_dec_sz + sessionid_sz + 4)
15
16#define op_enc_sz			1
17#define op_dec_sz			2
18#define enc_nfs4_fh_sz			(1 + (NFS4_FHSIZE >> 2))
19#define enc_stateid_sz			(NFS4_STATEID_SIZE >> 2)
20#define NFS4_enc_cb_recall_sz		(cb_compound_enc_hdr_sz +       \
21					cb_sequence_enc_sz +            \
22					1 + enc_stateid_sz +            \
23					enc_nfs4_fh_sz)
24
25#define NFS4_dec_cb_recall_sz		(cb_compound_dec_hdr_sz  +      \
26					cb_sequence_dec_sz +            \
27					op_dec_sz)
28#define NFS4_enc_cb_layout_sz		(cb_compound_enc_hdr_sz +       \
29					cb_sequence_enc_sz +            \
30					1 + 3 +                         \
31					enc_nfs4_fh_sz + 4)
32#define NFS4_dec_cb_layout_sz		(cb_compound_dec_hdr_sz  +      \
33					cb_sequence_dec_sz +            \
34					op_dec_sz)
35
36#define NFS4_enc_cb_notify_lock_sz	(cb_compound_enc_hdr_sz +        \
37					cb_sequence_enc_sz +             \
38					2 + 1 +				 \
39					XDR_QUADLEN(NFS4_OPAQUE_LIMIT) + \
40					enc_nfs4_fh_sz)
41#define NFS4_dec_cb_notify_lock_sz	(cb_compound_dec_hdr_sz  +      \
42					cb_sequence_dec_sz +            \
43					op_dec_sz)
44#define enc_cb_offload_info_sz		(1 + 1 + 2 + 1 +		\
45					XDR_QUADLEN(NFS4_VERIFIER_SIZE))
46#define NFS4_enc_cb_offload_sz		(cb_compound_enc_hdr_sz +       \
47					cb_sequence_enc_sz +            \
48					enc_nfs4_fh_sz +		\
49					enc_stateid_sz +		\
50					enc_cb_offload_info_sz)
51#define NFS4_dec_cb_offload_sz		(cb_compound_dec_hdr_sz  +      \
52					cb_sequence_dec_sz +            \
53					op_dec_sz)
54#define NFS4_enc_cb_recall_any_sz	(cb_compound_enc_hdr_sz +       \
55					cb_sequence_enc_sz +            \
56					1 + 1 + 1)
57#define NFS4_dec_cb_recall_any_sz	(cb_compound_dec_hdr_sz  +      \
58					cb_sequence_dec_sz +            \
59					op_dec_sz)
60
61/*
62 * 1: CB_GETATTR opcode (32-bit)
63 * N: file_handle
64 * 1: number of entry in attribute array (32-bit)
65 * 3: entry 0-2 in attribute array (32-bit * 3)
66 */
67#define NFS4_enc_cb_getattr_sz		(cb_compound_enc_hdr_sz +       \
68					cb_sequence_enc_sz +            \
69					1 + enc_nfs4_fh_sz + 1 + 3)
70/*
71 * 4: fattr_bitmap_maxsz
72 * 1: attribute array len
73 * 2: change attr (64-bit)
74 * 2: size (64-bit)
75 * 2: atime.seconds (64-bit)
76 * 1: atime.nanoseconds (32-bit)
77 * 2: mtime.seconds (64-bit)
78 * 1: mtime.nanoseconds (32-bit)
79 */
80#define NFS4_dec_cb_getattr_sz		(cb_compound_dec_hdr_sz  +      \
81			cb_sequence_dec_sz + 4 + 1 + 2 + 2 + 2 + 1 + 2 + 1 + op_dec_sz)
~/ Read-only file preview.