The functions below are the interface to NFS client operations for NFSv3.

#include <nfsclient.h>

enum clnt_stat nfs3_null(nfs_ctx *, user_cb);


enum clnt_stat nfs3_getattr(GETATTR3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_setattr(SETATTR3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_lookup(LOOKUP3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_access(ACCESS3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_readlink(READLINK3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_read(READ3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_write(WRITE3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_create(CREATE3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_mkdir(MKDIR3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_symlink(SYMLINK3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_mknod(MKNOD3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_remove(REMOVE3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_rmdir(RMDIR3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_rename(RENAME3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_link(LINK3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_readdir(READDIR3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_readdirplus(READDIRPLUS3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_fsstat(FSSTAT3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_fsinfo(FSINFOargs *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_pathconf(PATHCONF3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat nfs3_commit(COMMIT3args *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat mount3_null(nfs_ctx *, user_cb, void * priv);

enum clnt_stat mount3_mnt(dirpath *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat mount3_dump(nfs_ctx *, user_cb, void * priv);

enum clnt_stat mount3_umnt(dirpath *, nfs_ctx *, user_cb, void * priv);

enum clnt_stat mount3_umntall(nfs_ctx *, user_cb, void * priv);

enum clnt_stat mount3_export(nfs_ctx *, user_cb, void * priv);

The nfs_ctx pointer is the handle returned from the nfs_init function.

The first argument to nfs3_* functions are the request-specific arguments as defined in RFC1813 and libnfsclient/nfs3/nfs3.h.

user_cb argument is the callback that will be triggered on receiving a reply for this NFS call. The callback is an optional argument and can be set to NULL.

priv is the pointer to the private data which is passed on to the callback in user_cb when the reply is received.

The functions above, return RPC_SUCCESS on successful transmission of the NFS call. On failure, it returns RPC_SYSTEMERROR.

IA64wiki: nfs3Interface (last edited 2008-03-13 01:07:21 by ShehjarTikoo)

Gelato@UNSW is sponsored by
the University of New South Wales National ICT Australia The Gelato Federation Hewlett-Packard Company Australian Research Council
Please contact us with any questions or comments.