| /* | 
 |  * linux/include/linux/lockd/bind.h | 
 |  * | 
 |  * This is the part of lockd visible to nfsd and the nfs client. | 
 |  * | 
 |  * Copyright (C) 1996, Olaf Kirch <okir@monad.swb.de> | 
 |  */ | 
 |  | 
 | #ifndef LINUX_LOCKD_BIND_H | 
 | #define LINUX_LOCKD_BIND_H | 
 |  | 
 | #include <linux/lockd/nlm.h> | 
 | /* need xdr-encoded error codes too, so... */ | 
 | #include <linux/lockd/xdr.h> | 
 | #ifdef CONFIG_LOCKD_V4 | 
 | #include <linux/lockd/xdr4.h> | 
 | #endif | 
 |  | 
 | /* Dummy declarations */ | 
 | struct svc_rqst; | 
 |  | 
 | /* | 
 |  * This is the set of functions for lockd->nfsd communication | 
 |  */ | 
 | struct nlmsvc_binding { | 
 | 	__be32			(*fopen)(struct svc_rqst *, | 
 | 						struct nfs_fh *, | 
 | 						struct file **); | 
 | 	void			(*fclose)(struct file *); | 
 | }; | 
 |  | 
 | extern struct nlmsvc_binding *	nlmsvc_ops; | 
 |  | 
 | /* | 
 |  * Similar to nfs_client_initdata, but without the NFS-specific | 
 |  * rpc_ops field. | 
 |  */ | 
 | struct nlmclnt_initdata { | 
 | 	const char		*hostname; | 
 | 	const struct sockaddr	*address; | 
 | 	size_t			addrlen; | 
 | 	unsigned short		protocol; | 
 | 	u32			nfs_version; | 
 | 	int			noresvport; | 
 | }; | 
 |  | 
 | /* | 
 |  * Functions exported by the lockd module | 
 |  */ | 
 |  | 
 | extern struct nlm_host *nlmclnt_init(const struct nlmclnt_initdata *nlm_init); | 
 | extern void	nlmclnt_done(struct nlm_host *host); | 
 |  | 
 | extern int	nlmclnt_proc(struct nlm_host *host, int cmd, | 
 | 					struct file_lock *fl); | 
 | extern int	lockd_up(void); | 
 | extern void	lockd_down(void); | 
 |  | 
 | #endif /* LINUX_LOCKD_BIND_H */ |