xref: /linux-6.15/include/linux/lockd/xdr4.h (revision 7ff84910)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
21da177e4SLinus Torvalds /*
3f30c2269SUwe Zeisberger  * linux/include/linux/lockd/xdr4.h
41da177e4SLinus Torvalds  *
51da177e4SLinus Torvalds  * XDR types for the NLM protocol
61da177e4SLinus Torvalds  *
71da177e4SLinus Torvalds  * Copyright (C) 1996 Olaf Kirch <[email protected]>
81da177e4SLinus Torvalds  */
91da177e4SLinus Torvalds 
101da177e4SLinus Torvalds #ifndef LOCKD_XDR4_H
111da177e4SLinus Torvalds #define LOCKD_XDR4_H
121da177e4SLinus Torvalds 
131da177e4SLinus Torvalds #include <linux/fs.h>
141da177e4SLinus Torvalds #include <linux/nfs.h>
151da177e4SLinus Torvalds #include <linux/sunrpc/xdr.h>
161da177e4SLinus Torvalds #include <linux/lockd/xdr.h>
171da177e4SLinus Torvalds 
181da177e4SLinus Torvalds /* error codes new to NLMv4 */
1977f18f5eSHarvey Harrison #define	nlm4_deadlock		cpu_to_be32(NLM_DEADLCK)
2077f18f5eSHarvey Harrison #define	nlm4_rofs		cpu_to_be32(NLM_ROFS)
2177f18f5eSHarvey Harrison #define	nlm4_stale_fh		cpu_to_be32(NLM_STALE_FH)
2277f18f5eSHarvey Harrison #define	nlm4_fbig		cpu_to_be32(NLM_FBIG)
2377f18f5eSHarvey Harrison #define	nlm4_failed		cpu_to_be32(NLM_FAILED)
241da177e4SLinus Torvalds 
25*7ff84910SJeff Layton void	nlm4svc_set_file_lock_range(struct file_lock *fl, u64 off, u64 len);
26c44b31c2SChuck Lever bool	nlm4svc_decode_void(struct svc_rqst *rqstp, struct xdr_stream *xdr);
27c44b31c2SChuck Lever bool	nlm4svc_decode_testargs(struct svc_rqst *rqstp, struct xdr_stream *xdr);
28c44b31c2SChuck Lever bool	nlm4svc_decode_lockargs(struct svc_rqst *rqstp, struct xdr_stream *xdr);
29c44b31c2SChuck Lever bool	nlm4svc_decode_cancargs(struct svc_rqst *rqstp, struct xdr_stream *xdr);
30c44b31c2SChuck Lever bool	nlm4svc_decode_unlockargs(struct svc_rqst *rqstp, struct xdr_stream *xdr);
31c44b31c2SChuck Lever bool	nlm4svc_decode_res(struct svc_rqst *rqstp, struct xdr_stream *xdr);
32c44b31c2SChuck Lever bool	nlm4svc_decode_reboot(struct svc_rqst *rqstp, struct xdr_stream *xdr);
33c44b31c2SChuck Lever bool	nlm4svc_decode_shareargs(struct svc_rqst *rqstp, struct xdr_stream *xdr);
34c44b31c2SChuck Lever bool	nlm4svc_decode_notify(struct svc_rqst *rqstp, struct xdr_stream *xdr);
351da177e4SLinus Torvalds 
36130e2054SChuck Lever bool	nlm4svc_encode_testres(struct svc_rqst *rqstp, struct xdr_stream *xdr);
37130e2054SChuck Lever bool	nlm4svc_encode_res(struct svc_rqst *rqstp, struct xdr_stream *xdr);
38130e2054SChuck Lever bool	nlm4svc_encode_void(struct svc_rqst *rqstp, struct xdr_stream *xdr);
39130e2054SChuck Lever bool	nlm4svc_encode_shareres(struct svc_rqst *rqstp, struct xdr_stream *xdr);
4099cdf57bSChuck Lever 
41a613fa16STrond Myklebust extern const struct rpc_version nlm_version4;
421da177e4SLinus Torvalds 
431da177e4SLinus Torvalds #endif /* LOCKD_XDR4_H */
44