2 * linux/include/linux/lockd/xdr4.h
4 * XDR types for the NLM protocol
6 * Copyright (C) 1996 Olaf Kirch <okir@monad.swb.de>
13 #include <linux/nfs.h>
14 #include <linux/sunrpc/xdr.h>
15 #include <linux/lockd/xdr.h>
17 /* error codes new to NLMv4 */
18 #define nlm4_deadlock __constant_htonl(NLM_DEADLCK)
19 #define nlm4_rofs __constant_htonl(NLM_ROFS)
20 #define nlm4_stale_fh __constant_htonl(NLM_STALE_FH)
21 #define nlm4_fbig __constant_htonl(NLM_FBIG)
22 #define nlm4_failed __constant_htonl(NLM_FAILED)
26 int nlm4svc_decode_testargs(struct svc_rqst
*, __be32
*, struct nlm_args
*);
27 int nlm4svc_encode_testres(struct svc_rqst
*, __be32
*, struct nlm_res
*);
28 int nlm4svc_decode_lockargs(struct svc_rqst
*, __be32
*, struct nlm_args
*);
29 int nlm4svc_decode_cancargs(struct svc_rqst
*, __be32
*, struct nlm_args
*);
30 int nlm4svc_decode_unlockargs(struct svc_rqst
*, __be32
*, struct nlm_args
*);
31 int nlm4svc_encode_res(struct svc_rqst
*, __be32
*, struct nlm_res
*);
32 int nlm4svc_decode_res(struct svc_rqst
*, __be32
*, struct nlm_res
*);
33 int nlm4svc_encode_void(struct svc_rqst
*, __be32
*, void *);
34 int nlm4svc_decode_void(struct svc_rqst
*, __be32
*, void *);
35 int nlm4svc_decode_shareargs(struct svc_rqst
*, __be32
*, struct nlm_args
*);
36 int nlm4svc_encode_shareres(struct svc_rqst
*, __be32
*, struct nlm_res
*);
37 int nlm4svc_decode_notify(struct svc_rqst
*, __be32
*, struct nlm_args
*);
38 int nlm4svc_decode_reboot(struct svc_rqst
*, __be32
*, struct nlm_reboot
*);
40 int nlmclt_encode_testargs(struct rpc_rqst *, u32 *, struct nlm_args *);
41 int nlmclt_encode_lockargs(struct rpc_rqst *, u32 *, struct nlm_args *);
42 int nlmclt_encode_cancargs(struct rpc_rqst *, u32 *, struct nlm_args *);
43 int nlmclt_encode_unlockargs(struct rpc_rqst *, u32 *, struct nlm_args *);
45 extern struct rpc_version nlm_version4
;
47 #endif /* LOCKD_XDR4_H */