1 /*
2 * linux/include/linux/nfsiod.h
3 *
4 * Declarations for asynchronous NFS RPC calls.
5 *
6 */
7
8 #ifndef _LINUX_NFSIOD_H
9 #define _LINUX_NFSIOD_H
10
11 #include <linux/rpcsock.h>
12 #include <linux/nfs_fs.h>
13
14 #ifdef __KERNEL__
15
16 /*
17 * This is the callback handler for nfsiod requests.
18 * Note that the callback procedure must NOT sleep.
19 */
20 struct nfsiod_req;
21 typedef int (*nfsiod_callback_t)(int result, struct nfsiod_req *);
22
23 /*
24 * This is the nfsiod request struct.
25 */
26 struct nfsiod_req {
27 struct nfsiod_req * rq_next;
28 struct nfsiod_req * rq_prev;
29 wait_queue_head_t rq_wait;
30 struct rpc_ioreq rq_rpcreq;
31 nfsiod_callback_t rq_callback;
32 struct nfs_server * rq_server;
33 struct inode * rq_inode;
34 struct page * rq_page;
35
36 /* user creds */
37 uid_t rq_fsuid;
38 gid_t rq_fsgid;
39 int rq_groups[NGROUPS];
40
41 /* retry handling */
42 int rq_retries;
43 };
44
45 struct nfsiod_req * nfsiod_reserve(struct nfs_server *);
46 void nfsiod_release(struct nfsiod_req *);
47 void nfsiod_enqueue(struct nfsiod_req *);
48 int nfsiod(void);
49
50
51 #endif /* __KERNEL__ */
52 #endif /* _LINUX_NFSIOD_H */
53
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.