mount.x
上传用户:szlgq88
上传日期:2009-04-28
资源大小:48287k
文件大小:4k
- /* @(#)mount.x 2.1 88/08/01 4.0 RPCSRC */
- /* @(#)mount.x 1.2 87/09/18 Copyr 1987 Sun Micro */
- /*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
- /*
- * Protocol description for the mount program
- */
- const MNTPATHLEN = 1024; /* maximum bytes in a pathname argument */
- const MNTNAMLEN = 255; /* maximum bytes in a name argument */
- const FHSIZE = 32; /* size in bytes of a file handle */
- /*
- * The fhandle is the file handle that the server passes to the client.
- * All file operations are done using the file handles to refer to a file
- * or a directory. The file handle can contain whatever information the
- * server needs to distinguish an individual file.
- */
- typedef opaque fhandle[FHSIZE];
- /*
- * If a status of zero is returned, the call completed successfully, and
- * a file handle for the directory follows. A non-zero status indicates
- * some sort of error. The status corresponds with UNIX error numbers.
- */
- union fhstatus switch (unsigned fhs_status) {
- case 0:
- fhandle fhs_fhandle;
- default:
- void;
- };
- /*
- * The type dirpath is the pathname of a directory
- */
- typedef string dirpath<MNTPATHLEN>;
- /*
- * The type name is used for arbitrary names (hostnames, groupnames)
- */
- typedef string name<MNTNAMLEN>;
- /*
- * A list of who has what mounted
- */
- typedef struct mountbody *mountlist;
- struct mountbody {
- name ml_hostname;
- dirpath ml_directory;
- mountlist ml_next;
- };
- /*
- * A list of netgroups
- */
- typedef struct groupnode *groups;
- struct groupnode {
- name gr_name;
- groups gr_next;
- };
- /*
- * A list of what is exported and to whom
- */
- typedef struct exportnode *exports;
- struct exportnode {
- dirpath ex_dir;
- groups ex_groups;
- exports ex_next;
- };
- program MOUNTPROG {
- /*
- * Version one of the mount protocol communicates with version two
- * of the NFS protocol. The only connecting point is the fhandle
- * structure, which is the same for both protocols.
- */
- version MOUNTVERS {
- /*
- * Does no work. It is made available in all RPC services
- * to allow server response testing and timing
- */
- void
- MOUNTPROC_NULL(void) = 0;
- /*
- * If fhs_status is 0, then fhs_fhandle contains the
- * file handle for the directory. This file handle may
- * be used in the NFS protocol. This procedure also adds
- * a new entry to the mount list for this client mounting
- * the directory.
- * Unix authentication required.
- */
- fhstatus
- MOUNTPROC_MNT(dirpath) = 1;
- /*
- * Returns the list of remotely mounted filesystems. The
- * mountlist contains one entry for each hostname and
- * directory pair.
- */
- mountlist
- MOUNTPROC_DUMP(void) = 2;
- /*
- * Removes the mount list entry for the directory
- * Unix authentication required.
- */
- void
- MOUNTPROC_UMNT(dirpath) = 3;
- /*
- * Removes all of the mount list entries for this client
- * Unix authentication required.
- */
- void
- MOUNTPROC_UMNTALL(void) = 4;
- /*
- * Returns a list of all the exported filesystems, and which
- * machines are allowed to import it.
- */
- exports
- MOUNTPROC_EXPORT(void) = 5;
- /*
- * Identical to MOUNTPROC_EXPORT above
- */
- exports
- MOUNTPROC_EXPORTALL(void) = 6;
- } = 1;
- } = 100005;