NFSCLNT(2) | System Calls Manual | NFSCLNT(2) |
nfsclnt
— NFS
client services
#include
<unistd.h>
#include <nfs/nfs.h>
int
nfsclnt
(unsigned
long request, void
*argstructp);
The
nfsclnt
()
function is used by the NFS client daemons to pass information into and out
of the kernel. The request argument consists of
several bits that show what action is to be taken once in the kernel and the
argstructp points to any corresponding data that the
action may require.
rpc.lockd(8) calls
nfsclnt
()
with the flag NFSCLNT_LOCKDANS
and a pointer to
a
struct lockd_ans { int la_version; /* lockd_ans version */ int la_errno; /* return status */ u_int64_t la_xid; /* unique message transaction ID */ int la_flags; /* answer flags */ pid_t la_pid; /* pid of lock requester/owner */ off_t la_start; /* lock starting offset */ off_t la_len; /* lock length */ int la_fh_len; /* The file handle length. */ u_int8_t la_fh[NFSV3_MAX_FH_SIZE];/* The file handle. */ };
to pass the response to an NFS file locking request back into the kernel.
Upon successful completion, a value of 0 is returned. Otherwise, -1 is returned and the global variable errno is set to specify the error.
The nfsclnt
system call is designed
specifically for the NFS client daemons and as such is specific to their
requirements. Several fields of the argument structures are assumed to be
valid, such that nfsclnt
must be used with extreme
care.
January 9, 2007 | Mac OS X 12 |