69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | %/* This file is copied from RFC1813 | ||
|  | % * Copyright 1995 Sun Micrososystems (I assume) | ||
|  | % */ | ||
|  | 
 | ||
|  | const MNTPATHLEN = 1024;  /* Maximum bytes in a path name */ | ||
|  | const MNTNAMLEN = 255;   /* Maximum bytes in a name */ | ||
|  | const FHSIZE3 = 64;    /* Maximum bytes in a V3 file handle */ | ||
|  | 
 | ||
|  | typedef opaque fhandle3<FHSIZE3>; | ||
|  | typedef string dirpath<MNTPATHLEN>; | ||
|  | typedef string name<MNTNAMLEN>; | ||
|  | 
 | ||
|  | typedef struct exportnode *exports; | ||
|  | typedef struct groupnode *groups; | ||
|  | typedef struct mountbody *mountlist; | ||
|  | 
 | ||
|  | enum mountstat3 { | ||
|  | 	MNT3_OK = 0,                 /* no error */ | ||
|  | 	MNT3ERR_PERM = 1,            /* Not owner */ | ||
|  | 	MNT3ERR_NOENT = 2,           /* No such file or directory */ | ||
|  | 	MNT3ERR_IO = 5,              /* I/O error */ | ||
|  | 	MNT3ERR_ACCES = 13,          /* Permission denied */ | ||
|  | 	MNT3ERR_NOTDIR = 20,         /* Not a directory */ | ||
|  | 	MNT3ERR_INVAL = 22,          /* Invalid argument */ | ||
|  | 	MNT3ERR_NAMETOOLONG = 63,    /* Filename too long */ | ||
|  | 	MNT3ERR_NOTSUPP = 10004,     /* Operation not supported */ | ||
|  | 	MNT3ERR_SERVERFAULT = 10006  /* A failure on the server */ | ||
|  | }; | ||
|  | 
 | ||
|  | struct mountres3_ok { | ||
|  | 	fhandle3 fhandle; | ||
|  | 	int auth_flavors<>; | ||
|  | }; | ||
|  | 
 | ||
|  | union mountres3 switch (mountstat3 fhs_status) { | ||
|  | case MNT3_OK: | ||
|  | 	mountres3_ok  mountinfo; | ||
|  | default: | ||
|  | 	void; | ||
|  | }; | ||
|  | 
 | ||
|  | struct mountbody { | ||
|  | 	name ml_hostname; | ||
|  | 	dirpath ml_directory; | ||
|  | 	mountlist ml_next; | ||
|  | }; | ||
|  | 
 | ||
|  | struct groupnode { | ||
|  | 	name gr_name; | ||
|  | 	groups gr_next; | ||
|  | }; | ||
|  | 
 | ||
|  | struct exportnode { | ||
|  | 	dirpath ex_dir; | ||
|  | 	groups ex_groups; | ||
|  |  	exports ex_next; | ||
|  | }; | ||
|  | 
 | ||
|  | program MOUNT_PROGRAM { | ||
|  | 	version MOUNT_V3 { | ||
|  | 		void MOUNTPROC3_NULL(void) = 0; | ||
|  | 		mountres3 MOUNTPROC3_MNT(dirpath) = 1; | ||
|  | 		mountlist MOUNTPROC3_DUMP(void) = 2; | ||
|  | 		void MOUNTPROC3_UMNT(dirpath) = 3; | ||
|  | 		void MOUNTPROC3_UMNTALL(void) = 4; | ||
|  | 		exports MOUNTPROC3_EXPORT(void)  = 5; | ||
|  | 	} = 3; | ||
|  | } = 100005; |