Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * linux/include/linux/lockd/bind.h | |
3 | * | |
4 | * This is the part of lockd visible to nfsd and the nfs client. | |
5 | * | |
6 | * Copyright (C) 1996, Olaf Kirch <okir@monad.swb.de> | |
7 | */ | |
8 | ||
9 | #ifndef LINUX_LOCKD_BIND_H | |
10 | #define LINUX_LOCKD_BIND_H | |
11 | ||
12 | #include <linux/lockd/nlm.h> | |
d343fce1 N |
13 | /* need xdr-encoded error codes too, so... */ |
14 | #include <linux/lockd/xdr.h> | |
15 | #ifdef CONFIG_LOCKD_V4 | |
16 | #include <linux/lockd/xdr4.h> | |
17 | #endif | |
1da177e4 LT |
18 | |
19 | /* Dummy declarations */ | |
20 | struct svc_rqst; | |
21 | ||
22 | /* | |
23 | * This is the set of functions for lockd->nfsd communication | |
24 | */ | |
25 | struct nlmsvc_binding { | |
e8c5c045 | 26 | __be32 (*fopen)(struct svc_rqst *, |
1da177e4 LT |
27 | struct nfs_fh *, |
28 | struct file **); | |
29 | void (*fclose)(struct file *); | |
30 | }; | |
31 | ||
2a297450 | 32 | extern const struct nlmsvc_binding *nlmsvc_ops; |
1da177e4 | 33 | |
883bb163 CL |
34 | /* |
35 | * Similar to nfs_client_initdata, but without the NFS-specific | |
36 | * rpc_ops field. | |
37 | */ | |
38 | struct nlmclnt_initdata { | |
39 | const char *hostname; | |
40 | const struct sockaddr *address; | |
41 | size_t addrlen; | |
42 | unsigned short protocol; | |
43 | u32 nfs_version; | |
0cb2659b | 44 | int noresvport; |
66697bfd | 45 | struct net *net; |
883bb163 CL |
46 | }; |
47 | ||
1da177e4 LT |
48 | /* |
49 | * Functions exported by the lockd module | |
50 | */ | |
883bb163 CL |
51 | |
52 | extern struct nlm_host *nlmclnt_init(const struct nlmclnt_initdata *nlm_init); | |
52c4044d CL |
53 | extern void nlmclnt_done(struct nlm_host *host); |
54 | ||
1093a60e CL |
55 | extern int nlmclnt_proc(struct nlm_host *host, int cmd, |
56 | struct file_lock *fl); | |
e3f70ead SK |
57 | extern int lockd_up(struct net *net); |
58 | extern void lockd_down(struct net *net); | |
1da177e4 LT |
59 | |
60 | #endif /* LINUX_LOCKD_BIND_H */ |