xref: /openbmc/linux/fs/nfsd/xdr4cb.h (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
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 cb_sequence_enc_sz		(sessionid_sz + 4 +             \
10  					1 /* no referring calls list yet */)
11  #define cb_sequence_dec_sz		(op_dec_sz + sessionid_sz + 4)
12  
13  #define op_enc_sz			1
14  #define op_dec_sz			2
15  #define enc_nfs4_fh_sz			(1 + (NFS4_FHSIZE >> 2))
16  #define enc_stateid_sz			(NFS4_STATEID_SIZE >> 2)
17  #define NFS4_enc_cb_recall_sz		(cb_compound_enc_hdr_sz +       \
18  					cb_sequence_enc_sz +            \
19  					1 + enc_stateid_sz +            \
20  					enc_nfs4_fh_sz)
21  
22  #define NFS4_dec_cb_recall_sz		(cb_compound_dec_hdr_sz  +      \
23  					cb_sequence_dec_sz +            \
24  					op_dec_sz)
25  #define NFS4_enc_cb_layout_sz		(cb_compound_enc_hdr_sz +       \
26  					cb_sequence_enc_sz +            \
27  					1 + 3 +                         \
28  					enc_nfs4_fh_sz + 4)
29  #define NFS4_dec_cb_layout_sz		(cb_compound_dec_hdr_sz  +      \
30  					cb_sequence_dec_sz +            \
31  					op_dec_sz)
32  
33  #define NFS4_enc_cb_notify_lock_sz	(cb_compound_enc_hdr_sz +        \
34  					cb_sequence_enc_sz +             \
35  					2 + 1 +				 \
36  					XDR_QUADLEN(NFS4_OPAQUE_LIMIT) + \
37  					enc_nfs4_fh_sz)
38  #define NFS4_dec_cb_notify_lock_sz	(cb_compound_dec_hdr_sz  +      \
39  					cb_sequence_dec_sz +            \
40  					op_dec_sz)
41  #define enc_cb_offload_info_sz		(1 + 1 + 2 + 1 +		\
42  					XDR_QUADLEN(NFS4_VERIFIER_SIZE))
43  #define NFS4_enc_cb_offload_sz		(cb_compound_enc_hdr_sz +       \
44  					cb_sequence_enc_sz +            \
45  					enc_nfs4_fh_sz +		\
46  					enc_stateid_sz +		\
47  					enc_cb_offload_info_sz)
48  #define NFS4_dec_cb_offload_sz		(cb_compound_dec_hdr_sz  +      \
49  					cb_sequence_dec_sz +            \
50  					op_dec_sz)
51  #define NFS4_enc_cb_recall_any_sz	(cb_compound_enc_hdr_sz +       \
52  					cb_sequence_enc_sz +            \
53  					1 + 1 + 1)
54  #define NFS4_dec_cb_recall_any_sz	(cb_compound_dec_hdr_sz  +      \
55  					cb_sequence_dec_sz +            \
56  					op_dec_sz)
57