| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * 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>
 | 
					
						
							| 
									
										
										
										
											2006-10-17 00:10:18 -07:00
										 |  |  | /* need xdr-encoded error codes too, so... */ | 
					
						
							|  |  |  | #include <linux/lockd/xdr.h>
 | 
					
						
							|  |  |  | #ifdef CONFIG_LOCKD_V4
 | 
					
						
							|  |  |  | #include <linux/lockd/xdr4.h>
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* Dummy declarations */ | 
					
						
							|  |  |  | struct svc_rqst; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * This is the set of functions for lockd->nfsd communication | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | struct nlmsvc_binding { | 
					
						
							| 
									
										
										
										
											2006-12-13 00:35:03 -08:00
										 |  |  | 	__be32			(*fopen)(struct svc_rqst *, | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 						struct nfs_fh *, | 
					
						
							|  |  |  | 						struct file **); | 
					
						
							|  |  |  | 	void			(*fclose)(struct file *); | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern struct nlmsvc_binding *	nlmsvc_ops; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-01-15 16:04:20 -05:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * 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; | 
					
						
							| 
									
										
										
										
											2008-12-23 15:21:38 -05:00
										 |  |  | 	int			noresvport; | 
					
						
							| 
									
										
										
										
											2012-01-31 15:08:13 +04:00
										 |  |  | 	struct net		*net; | 
					
						
							| 
									
										
										
										
											2008-01-15 16:04:20 -05:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * Functions exported by the lockd module | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2008-01-15 16:04:20 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | extern struct nlm_host *nlmclnt_init(const struct nlmclnt_initdata *nlm_init); | 
					
						
							| 
									
										
										
										
											2008-01-11 17:09:44 -05:00
										 |  |  | extern void	nlmclnt_done(struct nlm_host *host); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-01-11 17:09:59 -05:00
										 |  |  | extern int	nlmclnt_proc(struct nlm_host *host, int cmd, | 
					
						
							|  |  |  | 					struct file_lock *fl); | 
					
						
							| 
									
										
										
										
											2012-03-29 18:54:33 +04:00
										 |  |  | extern int	lockd_up(struct net *net); | 
					
						
							|  |  |  | extern void	lockd_down(struct net *net); | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | #endif /* LINUX_LOCKD_BIND_H */
 |