xref: /linux-6.15/include/linux/lockd/xdr4.h (revision 77f18f5e)
11da177e4SLinus Torvalds /*
2f30c2269SUwe Zeisberger  * linux/include/linux/lockd/xdr4.h
31da177e4SLinus Torvalds  *
41da177e4SLinus Torvalds  * XDR types for the NLM protocol
51da177e4SLinus Torvalds  *
61da177e4SLinus Torvalds  * Copyright (C) 1996 Olaf Kirch <[email protected]>
71da177e4SLinus Torvalds  */
81da177e4SLinus Torvalds 
91da177e4SLinus Torvalds #ifndef LOCKD_XDR4_H
101da177e4SLinus Torvalds #define LOCKD_XDR4_H
111da177e4SLinus Torvalds 
121da177e4SLinus Torvalds #include <linux/fs.h>
131da177e4SLinus Torvalds #include <linux/nfs.h>
141da177e4SLinus Torvalds #include <linux/sunrpc/xdr.h>
151da177e4SLinus Torvalds #include <linux/lockd/xdr.h>
161da177e4SLinus Torvalds 
171da177e4SLinus Torvalds /* error codes new to NLMv4 */
18*77f18f5eSHarvey Harrison #define	nlm4_deadlock		cpu_to_be32(NLM_DEADLCK)
19*77f18f5eSHarvey Harrison #define	nlm4_rofs		cpu_to_be32(NLM_ROFS)
20*77f18f5eSHarvey Harrison #define	nlm4_stale_fh		cpu_to_be32(NLM_STALE_FH)
21*77f18f5eSHarvey Harrison #define	nlm4_fbig		cpu_to_be32(NLM_FBIG)
22*77f18f5eSHarvey Harrison #define	nlm4_failed		cpu_to_be32(NLM_FAILED)
231da177e4SLinus Torvalds 
241da177e4SLinus Torvalds 
251da177e4SLinus Torvalds 
2652921e02SAl Viro int	nlm4svc_decode_testargs(struct svc_rqst *, __be32 *, struct nlm_args *);
2752921e02SAl Viro int	nlm4svc_encode_testres(struct svc_rqst *, __be32 *, struct nlm_res *);
2852921e02SAl Viro int	nlm4svc_decode_lockargs(struct svc_rqst *, __be32 *, struct nlm_args *);
2952921e02SAl Viro int	nlm4svc_decode_cancargs(struct svc_rqst *, __be32 *, struct nlm_args *);
3052921e02SAl Viro int	nlm4svc_decode_unlockargs(struct svc_rqst *, __be32 *, struct nlm_args *);
3152921e02SAl Viro int	nlm4svc_encode_res(struct svc_rqst *, __be32 *, struct nlm_res *);
3252921e02SAl Viro int	nlm4svc_decode_res(struct svc_rqst *, __be32 *, struct nlm_res *);
3352921e02SAl Viro int	nlm4svc_encode_void(struct svc_rqst *, __be32 *, void *);
3452921e02SAl Viro int	nlm4svc_decode_void(struct svc_rqst *, __be32 *, void *);
3552921e02SAl Viro int	nlm4svc_decode_shareargs(struct svc_rqst *, __be32 *, struct nlm_args *);
3652921e02SAl Viro int	nlm4svc_encode_shareres(struct svc_rqst *, __be32 *, struct nlm_res *);
3752921e02SAl Viro int	nlm4svc_decode_notify(struct svc_rqst *, __be32 *, struct nlm_args *);
3852921e02SAl Viro int	nlm4svc_decode_reboot(struct svc_rqst *, __be32 *, struct nlm_reboot *);
391da177e4SLinus Torvalds /*
401da177e4SLinus Torvalds int	nlmclt_encode_testargs(struct rpc_rqst *, u32 *, struct nlm_args *);
411da177e4SLinus Torvalds int	nlmclt_encode_lockargs(struct rpc_rqst *, u32 *, struct nlm_args *);
421da177e4SLinus Torvalds int	nlmclt_encode_cancargs(struct rpc_rqst *, u32 *, struct nlm_args *);
431da177e4SLinus Torvalds int	nlmclt_encode_unlockargs(struct rpc_rqst *, u32 *, struct nlm_args *);
441da177e4SLinus Torvalds  */
45d48c5f41STrond Myklebust extern struct rpc_version nlm_version4;
461da177e4SLinus Torvalds 
471da177e4SLinus Torvalds #endif /* LOCKD_XDR4_H */
48