xdr4cb.h 1.8 KB

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