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