nfsiod.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:1k
- /*
- * linux/include/linux/nfsiod.h
- *
- * Declarations for asynchronous NFS RPC calls.
- *
- */
- #ifndef _LINUX_NFSIOD_H
- #define _LINUX_NFSIOD_H
- #include <linux/rpcsock.h>
- #include <linux/nfs_fs.h>
- #ifdef __KERNEL__
- /*
- * This is the callback handler for nfsiod requests.
- * Note that the callback procedure must NOT sleep.
- */
- struct nfsiod_req;
- typedef int (*nfsiod_callback_t)(int result, struct nfsiod_req *);
- /*
- * This is the nfsiod request struct.
- */
- struct nfsiod_req {
- struct nfsiod_req * rq_next;
- struct nfsiod_req * rq_prev;
- wait_queue_head_t rq_wait;
- struct rpc_ioreq rq_rpcreq;
- nfsiod_callback_t rq_callback;
- struct nfs_server * rq_server;
- struct inode * rq_inode;
- struct page * rq_page;
- /* user creds */
- uid_t rq_fsuid;
- gid_t rq_fsgid;
- int rq_groups[NGROUPS];
- /* retry handling */
- int rq_retries;
- };
- struct nfsiod_req * nfsiod_reserve(struct nfs_server *);
- void nfsiod_release(struct nfsiod_req *);
- void nfsiod_enqueue(struct nfsiod_req *);
- int nfsiod(void);
- #endif /* __KERNEL__ */
- #endif /* _LINUX_NFSIOD_H */