add nfs client library and the dbench nfsio backend
[tridge/dbench.git] / libnfs.h
1
2 struct nfsio *nfsio_connect(const char *server, const char *export, const char *protocol);
3 void nfsio_disconnect(struct nfsio *nfsio);
4 nfsstat3 nfsio_getattr(struct nfsio *nfsio, const char *name, fattr3 *attributes);
5 nfsstat3 nfsio_lookup(struct nfsio *nfsio, const char *name, fattr3 *attributes);
6 nfsstat3 nfsio_access(struct nfsio *nfsio, const char *name, uint32 desired, uint32 *access);
7 nfsstat3 nfsio_create(struct nfsio *nfsio, const char *name);
8 nfsstat3 nfsio_remove(struct nfsio *nfsio, const char *name);
9 nfsstat3 nfsio_write(struct nfsio *nfsio, const char *name, char *buf, uint32 offset, int len, int stable);
10 nfsstat3 nfsio_commit(struct nfsio *nfsio, const char *name);
11 nfsstat3 nfsio_read(struct nfsio *nfsio, const char *name, char *buf, uint32 offset, int len, int *count, int *eof);
12 nfsstat3 nfsio_fsinfo(struct nfsio *nfsio);
13 nfsstat3 nfsio_fsstat(struct nfsio *nfsio);
14 nfsstat3 nfsio_pathconf(struct nfsio *nfsio, char *name);
15 nfsstat3 nfsio_symlink(struct nfsio *nfsio, const char *old, const char *new);
16 nfsstat3 nfsio_link(struct nfsio *nfsio, const char *old, const char *new);
17 nfsstat3 nfsio_readlink(struct nfsio *nfsio, char *name, char **link_name);
18 nfsstat3 nfsio_mkdir(struct nfsio *nfsio, const char *name);
19 nfsstat3 nfsio_rmdir(struct nfsio *nfsio, const char *name);
20 nfsstat3 nfsio_rename(struct nfsio *nfsio, const char *old, const char *new);
21
22 typedef void (*nfs3_dirent_cb)(struct entryplus3 *e, void *private_data);
23 nfsstat3 nfsio_readdirplus(struct nfsio *nfsio, const char *name, nfs3_dirent_cb cb, void *private_data);
24 nfsstat3 nfsio_readdir(struct nfsio *nfsio, const char *name);
25
26 const char *nfs_error(int error);