Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * linux/include/linux/lockd/xdr4.h
0004  *
0005  * XDR types for the NLM protocol
0006  *
0007  * Copyright (C) 1996 Olaf Kirch <okir@monad.swb.de>
0008  */
0009 
0010 #ifndef LOCKD_XDR4_H
0011 #define LOCKD_XDR4_H
0012 
0013 #include <linux/fs.h>
0014 #include <linux/nfs.h>
0015 #include <linux/sunrpc/xdr.h>
0016 #include <linux/lockd/xdr.h>
0017 
0018 /* error codes new to NLMv4 */
0019 #define nlm4_deadlock       cpu_to_be32(NLM_DEADLCK)
0020 #define nlm4_rofs       cpu_to_be32(NLM_ROFS)
0021 #define nlm4_stale_fh       cpu_to_be32(NLM_STALE_FH)
0022 #define nlm4_fbig       cpu_to_be32(NLM_FBIG)
0023 #define nlm4_failed     cpu_to_be32(NLM_FAILED)
0024 
0025 bool    nlm4svc_decode_void(struct svc_rqst *rqstp, struct xdr_stream *xdr);
0026 bool    nlm4svc_decode_testargs(struct svc_rqst *rqstp, struct xdr_stream *xdr);
0027 bool    nlm4svc_decode_lockargs(struct svc_rqst *rqstp, struct xdr_stream *xdr);
0028 bool    nlm4svc_decode_cancargs(struct svc_rqst *rqstp, struct xdr_stream *xdr);
0029 bool    nlm4svc_decode_unlockargs(struct svc_rqst *rqstp, struct xdr_stream *xdr);
0030 bool    nlm4svc_decode_res(struct svc_rqst *rqstp, struct xdr_stream *xdr);
0031 bool    nlm4svc_decode_reboot(struct svc_rqst *rqstp, struct xdr_stream *xdr);
0032 bool    nlm4svc_decode_shareargs(struct svc_rqst *rqstp, struct xdr_stream *xdr);
0033 bool    nlm4svc_decode_notify(struct svc_rqst *rqstp, struct xdr_stream *xdr);
0034 
0035 bool    nlm4svc_encode_testres(struct svc_rqst *rqstp, struct xdr_stream *xdr);
0036 bool    nlm4svc_encode_res(struct svc_rqst *rqstp, struct xdr_stream *xdr);
0037 bool    nlm4svc_encode_void(struct svc_rqst *rqstp, struct xdr_stream *xdr);
0038 bool    nlm4svc_encode_shareres(struct svc_rqst *rqstp, struct xdr_stream *xdr);
0039 
0040 extern const struct rpc_version nlm_version4;
0041 
0042 #endif /* LOCKD_XDR4_H */