11da177e4SLinus Torvalds /* 2f30c2269SUwe Zeisberger * linux/include/linux/lockd/xdr4.h 31da177e4SLinus Torvalds * 41da177e4SLinus Torvalds * XDR types for the NLM protocol 51da177e4SLinus Torvalds * 61da177e4SLinus Torvalds * Copyright (C) 1996 Olaf Kirch <[email protected]> 71da177e4SLinus Torvalds */ 81da177e4SLinus Torvalds 91da177e4SLinus Torvalds #ifndef LOCKD_XDR4_H 101da177e4SLinus Torvalds #define LOCKD_XDR4_H 111da177e4SLinus Torvalds 121da177e4SLinus Torvalds #include <linux/fs.h> 131da177e4SLinus Torvalds #include <linux/nfs.h> 141da177e4SLinus Torvalds #include <linux/sunrpc/xdr.h> 151da177e4SLinus Torvalds #include <linux/lockd/xdr.h> 161da177e4SLinus Torvalds 171da177e4SLinus Torvalds /* error codes new to NLMv4 */ 1877f18f5eSHarvey Harrison #define nlm4_deadlock cpu_to_be32(NLM_DEADLCK) 1977f18f5eSHarvey Harrison #define nlm4_rofs cpu_to_be32(NLM_ROFS) 2077f18f5eSHarvey Harrison #define nlm4_stale_fh cpu_to_be32(NLM_STALE_FH) 2177f18f5eSHarvey Harrison #define nlm4_fbig cpu_to_be32(NLM_FBIG) 2277f18f5eSHarvey Harrison #define nlm4_failed cpu_to_be32(NLM_FAILED) 231da177e4SLinus Torvalds 241da177e4SLinus Torvalds 251da177e4SLinus Torvalds 2652921e02SAl Viro int nlm4svc_decode_testargs(struct svc_rqst *, __be32 *, struct nlm_args *); 2752921e02SAl Viro int nlm4svc_encode_testres(struct svc_rqst *, __be32 *, struct nlm_res *); 2852921e02SAl Viro int nlm4svc_decode_lockargs(struct svc_rqst *, __be32 *, struct nlm_args *); 2952921e02SAl Viro int nlm4svc_decode_cancargs(struct svc_rqst *, __be32 *, struct nlm_args *); 3052921e02SAl Viro int nlm4svc_decode_unlockargs(struct svc_rqst *, __be32 *, struct nlm_args *); 3152921e02SAl Viro int nlm4svc_encode_res(struct svc_rqst *, __be32 *, struct nlm_res *); 3252921e02SAl Viro int nlm4svc_decode_res(struct svc_rqst *, __be32 *, struct nlm_res *); 3352921e02SAl Viro int nlm4svc_encode_void(struct svc_rqst *, __be32 *, void *); 3452921e02SAl Viro int nlm4svc_decode_void(struct svc_rqst *, __be32 *, void *); 3552921e02SAl Viro int nlm4svc_decode_shareargs(struct svc_rqst *, __be32 *, struct nlm_args *); 3652921e02SAl Viro int nlm4svc_encode_shareres(struct svc_rqst *, __be32 *, struct nlm_res *); 3752921e02SAl Viro int nlm4svc_decode_notify(struct svc_rqst *, __be32 *, struct nlm_args *); 3852921e02SAl Viro int nlm4svc_decode_reboot(struct svc_rqst *, __be32 *, struct nlm_reboot *); 391da177e4SLinus Torvalds /* 401da177e4SLinus Torvalds int nlmclt_encode_testargs(struct rpc_rqst *, u32 *, struct nlm_args *); 411da177e4SLinus Torvalds int nlmclt_encode_lockargs(struct rpc_rqst *, u32 *, struct nlm_args *); 421da177e4SLinus Torvalds int nlmclt_encode_cancargs(struct rpc_rqst *, u32 *, struct nlm_args *); 431da177e4SLinus Torvalds int nlmclt_encode_unlockargs(struct rpc_rqst *, u32 *, struct nlm_args *); 441da177e4SLinus Torvalds */ 45*a613fa16STrond Myklebust extern const struct rpc_version nlm_version4; 461da177e4SLinus Torvalds 471da177e4SLinus Torvalds #endif /* LOCKD_XDR4_H */ 48