blob: e709fe5924f2b094e971cf6eabd1186b1f504348 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002/*
Uwe Zeisbergerf30c2262006-10-03 23:01:26 +02003 * linux/include/linux/lockd/xdr4.h
Linus Torvalds1da177e2005-04-16 15:20:36 -07004 *
5 * XDR types for the NLM protocol
6 *
7 * Copyright (C) 1996 Olaf Kirch <okir@monad.swb.de>
8 */
9
10#ifndef LOCKD_XDR4_H
11#define LOCKD_XDR4_H
12
13#include <linux/fs.h>
14#include <linux/nfs.h>
15#include <linux/sunrpc/xdr.h>
16#include <linux/lockd/xdr.h>
17
18/* error codes new to NLMv4 */
Harvey Harrison77f18f52009-02-11 17:16:58 -080019#define nlm4_deadlock cpu_to_be32(NLM_DEADLCK)
20#define nlm4_rofs cpu_to_be32(NLM_ROFS)
21#define nlm4_stale_fh cpu_to_be32(NLM_STALE_FH)
22#define nlm4_fbig cpu_to_be32(NLM_FBIG)
23#define nlm4_failed cpu_to_be32(NLM_FAILED)
Linus Torvalds1da177e2005-04-16 15:20:36 -070024
25
26
Christoph Hellwig026fec72017-05-08 19:01:48 +020027int nlm4svc_decode_testargs(struct svc_rqst *, __be32 *);
Christoph Hellwig63f8de32017-05-08 19:42:02 +020028int nlm4svc_encode_testres(struct svc_rqst *, __be32 *);
Christoph Hellwig026fec72017-05-08 19:01:48 +020029int nlm4svc_decode_lockargs(struct svc_rqst *, __be32 *);
30int nlm4svc_decode_cancargs(struct svc_rqst *, __be32 *);
31int nlm4svc_decode_unlockargs(struct svc_rqst *, __be32 *);
Christoph Hellwig63f8de32017-05-08 19:42:02 +020032int nlm4svc_encode_res(struct svc_rqst *, __be32 *);
Christoph Hellwig026fec72017-05-08 19:01:48 +020033int nlm4svc_decode_res(struct svc_rqst *, __be32 *);
Christoph Hellwig63f8de32017-05-08 19:42:02 +020034int nlm4svc_encode_void(struct svc_rqst *, __be32 *);
Christoph Hellwig026fec72017-05-08 19:01:48 +020035int nlm4svc_decode_void(struct svc_rqst *, __be32 *);
36int nlm4svc_decode_shareargs(struct svc_rqst *, __be32 *);
Christoph Hellwig63f8de32017-05-08 19:42:02 +020037int nlm4svc_encode_shareres(struct svc_rqst *, __be32 *);
Christoph Hellwig026fec72017-05-08 19:01:48 +020038int nlm4svc_decode_notify(struct svc_rqst *, __be32 *);
39int nlm4svc_decode_reboot(struct svc_rqst *, __be32 *);
Linus Torvalds1da177e2005-04-16 15:20:36 -070040/*
41int nlmclt_encode_testargs(struct rpc_rqst *, u32 *, struct nlm_args *);
42int nlmclt_encode_lockargs(struct rpc_rqst *, u32 *, struct nlm_args *);
43int nlmclt_encode_cancargs(struct rpc_rqst *, u32 *, struct nlm_args *);
44int nlmclt_encode_unlockargs(struct rpc_rqst *, u32 *, struct nlm_args *);
45 */
Trond Myklebusta613fa12012-01-20 13:53:56 -050046extern const struct rpc_version nlm_version4;
Linus Torvalds1da177e2005-04-16 15:20:36 -070047
48#endif /* LOCKD_XDR4_H */