/*
	$Id: mount1-spec 199 2005-05-02 21:52:55Z ajw $
	$URL: http://svn.cp15.org/NFS/tags/v106/!Sunfish/mount1-spec $

	XDR Specification for the MOUNT V1 protocol.
	See RFC 1094 for more details.

	StrongEd$Mode=C
*/

#define MOUNT_RPC_PROGRAM 100005
#define MOUNT_RPC_VERSION 1


/* The maximum number of bytes in a pathname argument. */
const MNTPATHLEN = 1024;

/* The maximum number of bytes in a name argument. */
const MNTNAMLEN = 255;

/* The size in bytes of the opaque file handle. */
const FHSIZE = 32;

#ifndef NFS_FH
#define NFS_FH
typedef opaque fhdata[FHSIZE];

struct nfs_fh {
   fhdata data;
};
#endif

union mountres switch (unsigned status) {
case 0:
    nfs_fh directory;
default:
    void;
}

typedef string dirpath<MNTPATHLEN>;
typedef string name<MNTNAMLEN>;

void MNTPROC_NULL(void) = 0;

mountres MNTPROC_MNT(dirpath) = 1;

struct *mountlist {
        name hostname;
        dirpath directory;
        mountlist *next;
};

/*mountlist MNTPROC_DUMP(void) = 2;*/

void MNTPROC_UMNT(dirpath) = 3;

void MNTPROC_UMNTALL(void) = 4;

struct *groups {
        name grname;
        groups *next;
};

struct *exportlist {
        dirpath filesys;
        groups *groups;
        exportlist *next;
};

/*exportlist MNTPROC_EXPORT(void) = 5;*/


