1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #define NFS4_MAXTAGLEN 20 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun #define NFS4_enc_cb_null_sz 0 5*4882a593Smuzhiyun #define NFS4_dec_cb_null_sz 0 6*4882a593Smuzhiyun #define cb_compound_enc_hdr_sz 4 7*4882a593Smuzhiyun #define cb_compound_dec_hdr_sz (3 + (NFS4_MAXTAGLEN >> 2)) 8*4882a593Smuzhiyun #define sessionid_sz (NFS4_MAX_SESSIONID_LEN >> 2) 9*4882a593Smuzhiyun #define cb_sequence_enc_sz (sessionid_sz + 4 + \ 10*4882a593Smuzhiyun 1 /* no referring calls list yet */) 11*4882a593Smuzhiyun #define cb_sequence_dec_sz (op_dec_sz + sessionid_sz + 4) 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #define op_enc_sz 1 14*4882a593Smuzhiyun #define op_dec_sz 2 15*4882a593Smuzhiyun #define enc_nfs4_fh_sz (1 + (NFS4_FHSIZE >> 2)) 16*4882a593Smuzhiyun #define enc_stateid_sz (NFS4_STATEID_SIZE >> 2) 17*4882a593Smuzhiyun #define NFS4_enc_cb_recall_sz (cb_compound_enc_hdr_sz + \ 18*4882a593Smuzhiyun cb_sequence_enc_sz + \ 19*4882a593Smuzhiyun 1 + enc_stateid_sz + \ 20*4882a593Smuzhiyun enc_nfs4_fh_sz) 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun #define NFS4_dec_cb_recall_sz (cb_compound_dec_hdr_sz + \ 23*4882a593Smuzhiyun cb_sequence_dec_sz + \ 24*4882a593Smuzhiyun op_dec_sz) 25*4882a593Smuzhiyun #define NFS4_enc_cb_layout_sz (cb_compound_enc_hdr_sz + \ 26*4882a593Smuzhiyun cb_sequence_enc_sz + \ 27*4882a593Smuzhiyun 1 + 3 + \ 28*4882a593Smuzhiyun enc_nfs4_fh_sz + 4) 29*4882a593Smuzhiyun #define NFS4_dec_cb_layout_sz (cb_compound_dec_hdr_sz + \ 30*4882a593Smuzhiyun cb_sequence_dec_sz + \ 31*4882a593Smuzhiyun op_dec_sz) 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun #define NFS4_enc_cb_notify_lock_sz (cb_compound_enc_hdr_sz + \ 34*4882a593Smuzhiyun cb_sequence_enc_sz + \ 35*4882a593Smuzhiyun 2 + 1 + \ 36*4882a593Smuzhiyun XDR_QUADLEN(NFS4_OPAQUE_LIMIT) + \ 37*4882a593Smuzhiyun enc_nfs4_fh_sz) 38*4882a593Smuzhiyun #define NFS4_dec_cb_notify_lock_sz (cb_compound_dec_hdr_sz + \ 39*4882a593Smuzhiyun cb_sequence_dec_sz + \ 40*4882a593Smuzhiyun op_dec_sz) 41*4882a593Smuzhiyun #define enc_cb_offload_info_sz (1 + 1 + 2 + 1 + \ 42*4882a593Smuzhiyun XDR_QUADLEN(NFS4_VERIFIER_SIZE)) 43*4882a593Smuzhiyun #define NFS4_enc_cb_offload_sz (cb_compound_enc_hdr_sz + \ 44*4882a593Smuzhiyun cb_sequence_enc_sz + \ 45*4882a593Smuzhiyun enc_nfs4_fh_sz + \ 46*4882a593Smuzhiyun enc_stateid_sz + \ 47*4882a593Smuzhiyun enc_cb_offload_info_sz) 48*4882a593Smuzhiyun #define NFS4_dec_cb_offload_sz (cb_compound_dec_hdr_sz + \ 49*4882a593Smuzhiyun cb_sequence_dec_sz + \ 50*4882a593Smuzhiyun op_dec_sz) 51