1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 206b332a5SJ. Bruce Fields #define NFS4_MAXTAGLEN 20 306b332a5SJ. Bruce Fields 406b332a5SJ. Bruce Fields #define NFS4_enc_cb_null_sz 0 506b332a5SJ. Bruce Fields #define NFS4_dec_cb_null_sz 0 606b332a5SJ. Bruce Fields #define cb_compound_enc_hdr_sz 4 706b332a5SJ. Bruce Fields #define cb_compound_dec_hdr_sz (3 + (NFS4_MAXTAGLEN >> 2)) 806b332a5SJ. Bruce Fields #define sessionid_sz (NFS4_MAX_SESSIONID_LEN >> 2) 906b332a5SJ. Bruce Fields #define cb_sequence_enc_sz (sessionid_sz + 4 + \ 1006b332a5SJ. Bruce Fields 1 /* no referring calls list yet */) 1106b332a5SJ. Bruce Fields #define cb_sequence_dec_sz (op_dec_sz + sessionid_sz + 4) 1206b332a5SJ. Bruce Fields 1306b332a5SJ. Bruce Fields #define op_enc_sz 1 1406b332a5SJ. Bruce Fields #define op_dec_sz 2 1506b332a5SJ. Bruce Fields #define enc_nfs4_fh_sz (1 + (NFS4_FHSIZE >> 2)) 1606b332a5SJ. Bruce Fields #define enc_stateid_sz (NFS4_STATEID_SIZE >> 2) 1706b332a5SJ. Bruce Fields #define NFS4_enc_cb_recall_sz (cb_compound_enc_hdr_sz + \ 1806b332a5SJ. Bruce Fields cb_sequence_enc_sz + \ 1906b332a5SJ. Bruce Fields 1 + enc_stateid_sz + \ 2006b332a5SJ. Bruce Fields enc_nfs4_fh_sz) 2106b332a5SJ. Bruce Fields 2206b332a5SJ. Bruce Fields #define NFS4_dec_cb_recall_sz (cb_compound_dec_hdr_sz + \ 2306b332a5SJ. Bruce Fields cb_sequence_dec_sz + \ 2406b332a5SJ. Bruce Fields op_dec_sz) 25c5c707f9SChristoph Hellwig #define NFS4_enc_cb_layout_sz (cb_compound_enc_hdr_sz + \ 26c5c707f9SChristoph Hellwig cb_sequence_enc_sz + \ 27c5c707f9SChristoph Hellwig 1 + 3 + \ 28c5c707f9SChristoph Hellwig enc_nfs4_fh_sz + 4) 29c5c707f9SChristoph Hellwig #define NFS4_dec_cb_layout_sz (cb_compound_dec_hdr_sz + \ 30c5c707f9SChristoph Hellwig cb_sequence_dec_sz + \ 31c5c707f9SChristoph Hellwig op_dec_sz) 32a188620eSJeff Layton 33a188620eSJeff Layton #define NFS4_enc_cb_notify_lock_sz (cb_compound_enc_hdr_sz + \ 34a188620eSJeff Layton cb_sequence_enc_sz + \ 35a188620eSJeff Layton 2 + 1 + \ 36a188620eSJeff Layton XDR_QUADLEN(NFS4_OPAQUE_LIMIT) + \ 37a188620eSJeff Layton enc_nfs4_fh_sz) 38a188620eSJeff Layton #define NFS4_dec_cb_notify_lock_sz (cb_compound_dec_hdr_sz + \ 39a188620eSJeff Layton cb_sequence_dec_sz + \ 40a188620eSJeff Layton op_dec_sz) 419eb190fcSOlga Kornievskaia #define enc_cb_offload_info_sz (1 + 1 + 2 + 1 + \ 429eb190fcSOlga Kornievskaia XDR_QUADLEN(NFS4_VERIFIER_SIZE)) 439eb190fcSOlga Kornievskaia #define NFS4_enc_cb_offload_sz (cb_compound_enc_hdr_sz + \ 449eb190fcSOlga Kornievskaia cb_sequence_enc_sz + \ 459eb190fcSOlga Kornievskaia enc_nfs4_fh_sz + \ 469eb190fcSOlga Kornievskaia enc_stateid_sz + \ 479eb190fcSOlga Kornievskaia enc_cb_offload_info_sz) 489eb190fcSOlga Kornievskaia #define NFS4_dec_cb_offload_sz (cb_compound_dec_hdr_sz + \ 499eb190fcSOlga Kornievskaia cb_sequence_dec_sz + \ 509eb190fcSOlga Kornievskaia op_dec_sz) 51*3959066bSDai Ngo #define NFS4_enc_cb_recall_any_sz (cb_compound_enc_hdr_sz + \ 52*3959066bSDai Ngo cb_sequence_enc_sz + \ 53*3959066bSDai Ngo 1 + 1 + 1) 54*3959066bSDai Ngo #define NFS4_dec_cb_recall_any_sz (cb_compound_dec_hdr_sz + \ 55*3959066bSDai Ngo cb_sequence_dec_sz + \ 56*3959066bSDai Ngo op_dec_sz) 57