1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | /* |
3 | * linux/include/linux/lockd/xdr4.h |
4 | * |
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 */ |
19 | #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) |
24 | |
25 | void nlm4svc_set_file_lock_range(struct file_lock *fl, u64 off, u64 len); |
26 | bool nlm4svc_decode_void(struct svc_rqst *rqstp, struct xdr_stream *xdr); |
27 | bool nlm4svc_decode_testargs(struct svc_rqst *rqstp, struct xdr_stream *xdr); |
28 | bool nlm4svc_decode_lockargs(struct svc_rqst *rqstp, struct xdr_stream *xdr); |
29 | bool nlm4svc_decode_cancargs(struct svc_rqst *rqstp, struct xdr_stream *xdr); |
30 | bool nlm4svc_decode_unlockargs(struct svc_rqst *rqstp, struct xdr_stream *xdr); |
31 | bool nlm4svc_decode_res(struct svc_rqst *rqstp, struct xdr_stream *xdr); |
32 | bool nlm4svc_decode_reboot(struct svc_rqst *rqstp, struct xdr_stream *xdr); |
33 | bool nlm4svc_decode_shareargs(struct svc_rqst *rqstp, struct xdr_stream *xdr); |
34 | bool nlm4svc_decode_notify(struct svc_rqst *rqstp, struct xdr_stream *xdr); |
35 | |
36 | bool nlm4svc_encode_testres(struct svc_rqst *rqstp, struct xdr_stream *xdr); |
37 | bool nlm4svc_encode_res(struct svc_rqst *rqstp, struct xdr_stream *xdr); |
38 | bool nlm4svc_encode_void(struct svc_rqst *rqstp, struct xdr_stream *xdr); |
39 | bool nlm4svc_encode_shareres(struct svc_rqst *rqstp, struct xdr_stream *xdr); |
40 | |
41 | extern const struct rpc_version nlm_version4; |
42 | |
43 | #endif /* LOCKD_XDR4_H */ |
44 | |