1/* 2 * linux/include/linux/lockd/xdr4.h 3 * 4 * XDR types for the NLM protocol 5 * 6 * Copyright (C) 1996 Olaf Kirch <okir@monad.swb.de> 7 */ 8 9#ifndef LOCKD_XDR4_H 10#define LOCKD_XDR4_H 11 12#include <linux/fs.h> 13#include <linux/nfs.h> 14#include <linux/sunrpc/xdr.h> 15#include <linux/lockd/xdr.h> 16 17/* error codes new to NLMv4 */ 18#define nlm4_deadlock cpu_to_be32(NLM_DEADLCK) 19#define nlm4_rofs cpu_to_be32(NLM_ROFS) 20#define nlm4_stale_fh cpu_to_be32(NLM_STALE_FH) 21#define nlm4_fbig cpu_to_be32(NLM_FBIG) 22#define nlm4_failed cpu_to_be32(NLM_FAILED) 23 24 25 26int nlm4svc_decode_testargs(struct svc_rqst *, __be32 *, struct nlm_args *); 27int nlm4svc_encode_testres(struct svc_rqst *, __be32 *, struct nlm_res *); 28int nlm4svc_decode_lockargs(struct svc_rqst *, __be32 *, struct nlm_args *); 29int nlm4svc_decode_cancargs(struct svc_rqst *, __be32 *, struct nlm_args *); 30int nlm4svc_decode_unlockargs(struct svc_rqst *, __be32 *, struct nlm_args *); 31int nlm4svc_encode_res(struct svc_rqst *, __be32 *, struct nlm_res *); 32int nlm4svc_decode_res(struct svc_rqst *, __be32 *, struct nlm_res *); 33int nlm4svc_encode_void(struct svc_rqst *, __be32 *, void *); 34int nlm4svc_decode_void(struct svc_rqst *, __be32 *, void *); 35int nlm4svc_decode_shareargs(struct svc_rqst *, __be32 *, struct nlm_args *); 36int nlm4svc_encode_shareres(struct svc_rqst *, __be32 *, struct nlm_res *); 37int nlm4svc_decode_notify(struct svc_rqst *, __be32 *, struct nlm_args *); 38int nlm4svc_decode_reboot(struct svc_rqst *, __be32 *, struct nlm_reboot *); 39/* 40int nlmclt_encode_testargs(struct rpc_rqst *, u32 *, struct nlm_args *); 41int nlmclt_encode_lockargs(struct rpc_rqst *, u32 *, struct nlm_args *); 42int nlmclt_encode_cancargs(struct rpc_rqst *, u32 *, struct nlm_args *); 43int nlmclt_encode_unlockargs(struct rpc_rqst *, u32 *, struct nlm_args *); 44 */ 45extern const struct rpc_version nlm_version4; 46 47#endif /* LOCKD_XDR4_H */ 48