xdr4.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * linux/include/linux/lockd/xdr4.h
  4. *
  5. * XDR types for the NLM protocol
  6. *
  7. * Copyright (C) 1996 Olaf Kirch <okir@monad.swb.de>
  8. */
  9. #ifndef LOCKD_XDR4_H
  10. #define LOCKD_XDR4_H
  11. #include <linux/fs.h>
  12. #include <linux/nfs.h>
  13. #include <linux/sunrpc/xdr.h>
  14. #include <linux/lockd/xdr.h>
  15. /* error codes new to NLMv4 */
  16. #define nlm4_deadlock cpu_to_be32(NLM_DEADLCK)
  17. #define nlm4_rofs cpu_to_be32(NLM_ROFS)
  18. #define nlm4_stale_fh cpu_to_be32(NLM_STALE_FH)
  19. #define nlm4_fbig cpu_to_be32(NLM_FBIG)
  20. #define nlm4_failed cpu_to_be32(NLM_FAILED)
  21. int nlm4svc_decode_testargs(struct svc_rqst *, __be32 *);
  22. int nlm4svc_encode_testres(struct svc_rqst *, __be32 *);
  23. int nlm4svc_decode_lockargs(struct svc_rqst *, __be32 *);
  24. int nlm4svc_decode_cancargs(struct svc_rqst *, __be32 *);
  25. int nlm4svc_decode_unlockargs(struct svc_rqst *, __be32 *);
  26. int nlm4svc_encode_res(struct svc_rqst *, __be32 *);
  27. int nlm4svc_decode_res(struct svc_rqst *, __be32 *);
  28. int nlm4svc_encode_void(struct svc_rqst *, __be32 *);
  29. int nlm4svc_decode_void(struct svc_rqst *, __be32 *);
  30. int nlm4svc_decode_shareargs(struct svc_rqst *, __be32 *);
  31. int nlm4svc_encode_shareres(struct svc_rqst *, __be32 *);
  32. int nlm4svc_decode_notify(struct svc_rqst *, __be32 *);
  33. int nlm4svc_decode_reboot(struct svc_rqst *, __be32 *);
  34. /*
  35. int nlmclt_encode_testargs(struct rpc_rqst *, u32 *, struct nlm_args *);
  36. int nlmclt_encode_lockargs(struct rpc_rqst *, u32 *, struct nlm_args *);
  37. int nlmclt_encode_cancargs(struct rpc_rqst *, u32 *, struct nlm_args *);
  38. int nlmclt_encode_unlockargs(struct rpc_rqst *, u32 *, struct nlm_args *);
  39. */
  40. extern const struct rpc_version nlm_version4;
  41. #endif /* LOCKD_XDR4_H */