/* $Id: nfsmounter.x,v 1.14 2001/07/02 11:01:58 ericp Exp $ */ %#ifndef NMOPT_ONLY %#include "nfs_prot.h" %#include "nfs3_prot.h" %#else /* NMOPT_ONLY */ %#undef NFS3_FHSIZE const NFS3_FHSIZE = 64; %#endif /* NMOPT_ONLY */ const NMOPT_RO = 0x1; /* Mount read-only */ const NMOPT_SOFT = 0x2; /* Mount soft */ const NMOPT_NOAC = 0x4; /* Disable attribute cache */ const NMOPT_NFS3 = 0x8; /* Enable NFS version 3 */ const NMOPT_RDPLUS = 0x10; /* Use NFS3 readdirplus */ typedef opaque nfsmnt_handle; %#ifndef NMOPT_ONLY struct mountarg { string hostname<>; string path<>; int flags; nfsmnt_handle handle; }; union mountres switch (int status) { case 0: uint64 fsid; default: void; }; struct remountarg { string path<>; int flags; }; %#endif /* !NMOPT_ONLY */ const NUOPT_FORCE = 0x1; /* Force unmount */ const NUOPT_STALE = 0x2; /* Serve stale NFS file system */ const NUOPT_NOOP = 0x4; /* Don't actually call unmount */ const NUOPT_NLOG = 0x8; /* Don't log failed unmount */ %#ifndef NMOPT_ONLY struct umountarg { string path<>; int flags; }; /* Note: NFSMOUNTER_MOUNT and NFSMOUNTER_CLOSE must me preceeded by * the UDP file descriptor of the NFS server (sent via * axprt_unix::sendfd). */ program NFSMOUNTER_PROG { version NFSMOUNTER_VERS { void NFSMOUNTER_NULL (void) = 0; mountres NFSMOUNTER_MOUNT (mountarg) = 1; int NFSMOUNTER_REMOUNT (remountarg) = 2; int NFSMOUNTER_UMOUNT (umountarg) = 3; int NFSMOUNTER_UMOUNTALL (int /* flags */) = 4; } = 1; } = 395544; %#endif /* !NMOPT_ONLY */