/* * Please do not edit this file. * It was generated using rpcgen. */ #ifndef _RPC_NFS2_PROT_H_RPCGEN #define _RPC_NFS2_PROT_H_RPCGEN #include #ifdef __cplusplus extern "C" { #endif /* * 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 or with the express written consent of * Sun Microsystems, Inc. * * 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 */ /* * Copyright (c) 1987, 1990 by Sun Microsystems, Inc. */ /* from @(#)nfs_prot.x 1.3 91/03/11 TIRPC 1.0 */ #ifndef RPCSVC_NFS_PROT_H #define RPCSVC_NFS_PROT_H #define NFS_PORT 2049 #define NFS_MAXDATA 8192 #define NFS_MAXPATHLEN 1024 #define NFS_MAXNAMLEN 255 #define NFS_FHSIZE 32 #define NFS_COOKIESIZE 4 #define NFS_FIFO_DEV -1 #define NFSMODE_FMT 0170000 #define NFSMODE_DIR 0040000 #define NFSMODE_CHR 0020000 #define NFSMODE_BLK 0060000 #define NFSMODE_REG 0100000 #define NFSMODE_LNK 0120000 #define NFSMODE_SOCK 0140000 #define NFSMODE_FIFO 0010000 enum nfsstat { NFS_OK = 0, NFSERR_PERM = 1, NFSERR_NOENT = 2, NFSERR_IO = 5, NFSERR_NXIO = 6, NFSERR_ACCES = 13, NFSERR_EXIST = 17, NFSERR_NODEV = 19, NFSERR_NOTDIR = 20, NFSERR_ISDIR = 21, NFSERR_INVAL = 22, NFSERR_FBIG = 27, NFSERR_NOSPC = 28, NFSERR_ROFS = 30, NFSERR_NAMETOOLONG = 63, NFSERR_NOTEMPTY = 66, NFSERR_DQUOT = 69, NFSERR_STALE = 70, NFSERR_WFLUSH = 99, }; typedef enum nfsstat nfsstat; enum ftype { NFNON = 0, NFREG = 1, NFDIR = 2, NFBLK = 3, NFCHR = 4, NFLNK = 5, NFSOCK = 6, NFBAD = 7, NFFIFO = 8, }; typedef enum ftype ftype; struct nfs_fh { char data[NFS_FHSIZE]; }; typedef struct nfs_fh nfs_fh; struct nfstime { u_int seconds; u_int useconds; }; typedef struct nfstime nfstime; struct fattr { ftype type; u_int mode; u_int nlink; u_int uid; u_int gid; u_int size; u_int blocksize; u_int rdev; u_int blocks; u_int fsid; u_int fileid; nfstime atime; nfstime mtime; nfstime ctime; }; typedef struct fattr fattr; struct sattr { u_int mode; u_int uid; u_int gid; u_int size; nfstime atime; nfstime mtime; }; typedef struct sattr sattr; typedef char *filename; typedef char *nfspath; struct attrstat { nfsstat status; union { fattr attributes; } attrstat_u; }; typedef struct attrstat attrstat; struct sattrargs { nfs_fh file; sattr attributes; }; typedef struct sattrargs sattrargs; struct diropargs { nfs_fh dir; filename name; }; typedef struct diropargs diropargs; struct diropokres { nfs_fh file; fattr attributes; }; typedef struct diropokres diropokres; struct diropres { nfsstat status; union { diropokres diropres; } diropres_u; }; typedef struct diropres diropres; struct readlinkres { nfsstat status; union { nfspath data; } readlinkres_u; }; typedef struct readlinkres readlinkres; struct readargs { nfs_fh file; u_int offset; u_int count; u_int totalcount; }; typedef struct readargs readargs; struct readokres { fattr attributes; struct { u_int data_len; char *data_val; } data; }; typedef struct readokres readokres; struct readres { nfsstat status; union { readokres reply; } readres_u; }; typedef struct readres readres; struct writeargs { nfs_fh file; u_int beginoffset; u_int offset; u_int totalcount; struct { u_int data_len; char *data_val; } data; }; typedef struct writeargs writeargs; struct createargs { diropargs where; sattr attributes; }; typedef struct createargs createargs; struct renameargs { diropargs from; diropargs to; }; typedef struct renameargs renameargs; struct linkargs { nfs_fh from; diropargs to; }; typedef struct linkargs linkargs; struct symlinkargs { diropargs from; nfspath to; sattr attributes; }; typedef struct symlinkargs symlinkargs; typedef char nfscookie[NFS_COOKIESIZE]; struct readdirargs { nfs_fh dir; nfscookie cookie; u_int count; }; typedef struct readdirargs readdirargs; struct entry { u_int fileid; filename name; nfscookie cookie; struct entry *nextentry; }; typedef struct entry entry; struct dirlist { entry *entries; bool_t eof; }; typedef struct dirlist dirlist; struct readdirres { nfsstat status; union { dirlist reply; } readdirres_u; }; typedef struct readdirres readdirres; struct statfsokres { u_int tsize; u_int bsize; u_int blocks; u_int bfree; u_int bavail; }; typedef struct statfsokres statfsokres; struct statfsres { nfsstat status; union { statfsokres reply; } statfsres_u; }; typedef struct statfsres statfsres; #define MNTPATHLEN 1024 #define MNTNAMLEN 255 #define FHSIZE 32 typedef char fhandle[FHSIZE]; struct fhstatus { u_int fhs_status; union { fhandle fhs_fhandle; } fhstatus_u; }; typedef struct fhstatus fhstatus; typedef char *dirpath; typedef char *name; typedef struct mountbody *mountlist; struct mountbody { name ml_hostname; dirpath ml_directory; mountlist ml_next; }; typedef struct mountbody mountbody; typedef struct groupnode *groups; struct groupnode { name gr_name; groups gr_next; }; typedef struct groupnode groupnode; typedef struct exportnode *exports; struct exportnode { dirpath ex_dir; groups ex_groups; exports ex_next; }; typedef struct exportnode exportnode; struct ppathcnf { int pc_link_max; short pc_max_canon; short pc_max_input; short pc_name_max; short pc_path_max; short pc_pipe_buf; u_char pc_vdisable; char pc_xxx; short pc_mask[2]; }; typedef struct ppathcnf ppathcnf; #endif /*!RPCSVC_NFS_PROT_H*/ #define NFS_PROGRAM 100003 #define NFS_VERSION 2 #if defined(__STDC__) || defined(__cplusplus) #define NFSPROC_NULL 0 extern void * nfsproc_null_2(CLIENT *); extern void * nfsproc_null_2_svc(struct svc_req *); #define NFSPROC_GETATTR 1 extern attrstat * nfsproc_getattr_2(nfs_fh , CLIENT *); extern attrstat * nfsproc_getattr_2_svc(nfs_fh , struct svc_req *); #define NFSPROC_SETATTR 2 extern attrstat * nfsproc_setattr_2(sattrargs , CLIENT *); extern attrstat * nfsproc_setattr_2_svc(sattrargs , struct svc_req *); #define NFSPROC_ROOT 3 extern void * nfsproc_root_2(CLIENT *); extern void * nfsproc_root_2_svc(struct svc_req *); #define NFSPROC_LOOKUP 4 extern diropres * nfsproc_lookup_2(diropargs , CLIENT *); extern diropres * nfsproc_lookup_2_svc(diropargs , struct svc_req *); #define NFSPROC_READLINK 5 extern readlinkres * nfsproc_readlink_2(nfs_fh , CLIENT *); extern readlinkres * nfsproc_readlink_2_svc(nfs_fh , struct svc_req *); #define NFSPROC_READ 6 extern readres * nfsproc_read_2(readargs , CLIENT *); extern readres * nfsproc_read_2_svc(readargs , struct svc_req *); #define NFSPROC_WRITECACHE 7 extern void * nfsproc_writecache_2(CLIENT *); extern void * nfsproc_writecache_2_svc(struct svc_req *); #define NFSPROC_WRITE 8 extern attrstat * nfsproc_write_2(writeargs , CLIENT *); extern attrstat * nfsproc_write_2_svc(writeargs , struct svc_req *); #define NFSPROC_CREATE 9 extern diropres * nfsproc_create_2(createargs , CLIENT *); extern diropres * nfsproc_create_2_svc(createargs , struct svc_req *); #define NFSPROC_REMOVE 10 extern nfsstat * nfsproc_remove_2(diropargs , CLIENT *); extern nfsstat * nfsproc_remove_2_svc(diropargs , struct svc_req *); #define NFSPROC_RENAME 11 extern nfsstat * nfsproc_rename_2(renameargs , CLIENT *); extern nfsstat * nfsproc_rename_2_svc(renameargs , struct svc_req *); #define NFSPROC_LINK 12 extern nfsstat * nfsproc_link_2(linkargs , CLIENT *); extern nfsstat * nfsproc_link_2_svc(linkargs , struct svc_req *); #define NFSPROC_SYMLINK 13 extern nfsstat * nfsproc_symlink_2(symlinkargs , CLIENT *); extern nfsstat * nfsproc_symlink_2_svc(symlinkargs , struct svc_req *); #define NFSPROC_MKDIR 14 extern diropres * nfsproc_mkdir_2(createargs , CLIENT *); extern diropres * nfsproc_mkdir_2_svc(createargs , struct svc_req *); #define NFSPROC_RMDIR 15 extern nfsstat * nfsproc_rmdir_2(diropargs , CLIENT *); extern nfsstat * nfsproc_rmdir_2_svc(diropargs , struct svc_req *); #define NFSPROC_READDIR 16 extern readdirres * nfsproc_readdir_2(readdirargs , CLIENT *); extern readdirres * nfsproc_readdir_2_svc(readdirargs , struct svc_req *); #define NFSPROC_STATFS 17 extern statfsres * nfsproc_statfs_2(nfs_fh , CLIENT *); extern statfsres * nfsproc_statfs_2_svc(nfs_fh , struct svc_req *); extern int nfs_program_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t); #else /* K&R C */ #define NFSPROC_NULL 0 extern void * nfsproc_null_2(); extern void * nfsproc_null_2_svc(); #define NFSPROC_GETATTR 1 extern attrstat * nfsproc_getattr_2(); extern attrstat * nfsproc_getattr_2_svc(); #define NFSPROC_SETATTR 2 extern attrstat * nfsproc_setattr_2(); extern attrstat * nfsproc_setattr_2_svc(); #define NFSPROC_ROOT 3 extern void * nfsproc_root_2(); extern void * nfsproc_root_2_svc(); #define NFSPROC_LOOKUP 4 extern diropres * nfsproc_lookup_2(); extern diropres * nfsproc_lookup_2_svc(); #define NFSPROC_READLINK 5 extern readlinkres * nfsproc_readlink_2(); extern readlinkres * nfsproc_readlink_2_svc(); #define NFSPROC_READ 6 extern readres * nfsproc_read_2(); extern readres * nfsproc_read_2_svc(); #define NFSPROC_WRITECACHE 7 extern void * nfsproc_writecache_2(); extern void * nfsproc_writecache_2_svc(); #define NFSPROC_WRITE 8 extern attrstat * nfsproc_write_2(); extern attrstat * nfsproc_write_2_svc(); #define NFSPROC_CREATE 9 extern diropres * nfsproc_create_2(); extern diropres * nfsproc_create_2_svc(); #define NFSPROC_REMOVE 10 extern nfsstat * nfsproc_remove_2(); extern nfsstat * nfsproc_remove_2_svc(); #define NFSPROC_RENAME 11 extern nfsstat * nfsproc_rename_2(); extern nfsstat * nfsproc_rename_2_svc(); #define NFSPROC_LINK 12 extern nfsstat * nfsproc_link_2(); extern nfsstat * nfsproc_link_2_svc(); #define NFSPROC_SYMLINK 13 extern nfsstat * nfsproc_symlink_2(); extern nfsstat * nfsproc_symlink_2_svc(); #define NFSPROC_MKDIR 14 extern diropres * nfsproc_mkdir_2(); extern diropres * nfsproc_mkdir_2_svc(); #define NFSPROC_RMDIR 15 extern nfsstat * nfsproc_rmdir_2(); extern nfsstat * nfsproc_rmdir_2_svc(); #define NFSPROC_READDIR 16 extern readdirres * nfsproc_readdir_2(); extern readdirres * nfsproc_readdir_2_svc(); #define NFSPROC_STATFS 17 extern statfsres * nfsproc_statfs_2(); extern statfsres * nfsproc_statfs_2_svc(); extern int nfs_program_2_freeresult (); #endif /* K&R C */ #define MOUNTPROG 100005 #define MOUNTVERS 1 #if defined(__STDC__) || defined(__cplusplus) #define MOUNTPROC_NULL 0 extern void * mountproc_null_1(CLIENT *); extern void * mountproc_null_1_svc(struct svc_req *); #define MOUNTPROC_MNT 1 extern fhstatus * mountproc_mnt_1(dirpath , CLIENT *); extern fhstatus * mountproc_mnt_1_svc(dirpath , struct svc_req *); #define MOUNTPROC_DUMP 2 extern mountlist * mountproc_dump_1(CLIENT *); extern mountlist * mountproc_dump_1_svc(struct svc_req *); #define MOUNTPROC_UMNT 3 extern void * mountproc_umnt_1(dirpath , CLIENT *); extern void * mountproc_umnt_1_svc(dirpath , struct svc_req *); #define MOUNTPROC_UMNTALL 4 extern void * mountproc_umntall_1(CLIENT *); extern void * mountproc_umntall_1_svc(struct svc_req *); #define MOUNTPROC_EXPORT 5 extern exports * mountproc_export_1(CLIENT *); extern exports * mountproc_export_1_svc(struct svc_req *); #define MOUNTPROC_EXPORTALL 6 extern exports * mountproc_exportall_1(CLIENT *); extern exports * mountproc_exportall_1_svc(struct svc_req *); extern int mountprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t); #else /* K&R C */ #define MOUNTPROC_NULL 0 extern void * mountproc_null_1(); extern void * mountproc_null_1_svc(); #define MOUNTPROC_MNT 1 extern fhstatus * mountproc_mnt_1(); extern fhstatus * mountproc_mnt_1_svc(); #define MOUNTPROC_DUMP 2 extern mountlist * mountproc_dump_1(); extern mountlist * mountproc_dump_1_svc(); #define MOUNTPROC_UMNT 3 extern void * mountproc_umnt_1(); extern void * mountproc_umnt_1_svc(); #define MOUNTPROC_UMNTALL 4 extern void * mountproc_umntall_1(); extern void * mountproc_umntall_1_svc(); #define MOUNTPROC_EXPORT 5 extern exports * mountproc_export_1(); extern exports * mountproc_export_1_svc(); #define MOUNTPROC_EXPORTALL 6 extern exports * mountproc_exportall_1(); extern exports * mountproc_exportall_1_svc(); extern int mountprog_1_freeresult (); #endif /* K&R C */ #define MOUNTVERS_POSIX 2 #if defined(__STDC__) || defined(__cplusplus) extern void * mountproc_null_2(CLIENT *); extern void * mountproc_null_2_svc(struct svc_req *); extern fhstatus * mountproc_mnt_2(dirpath , CLIENT *); extern fhstatus * mountproc_mnt_2_svc(dirpath , struct svc_req *); extern mountlist * mountproc_dump_2(CLIENT *); extern mountlist * mountproc_dump_2_svc(struct svc_req *); extern void * mountproc_umnt_2(dirpath , CLIENT *); extern void * mountproc_umnt_2_svc(dirpath , struct svc_req *); extern void * mountproc_umntall_2(CLIENT *); extern void * mountproc_umntall_2_svc(struct svc_req *); extern exports * mountproc_export_2(CLIENT *); extern exports * mountproc_export_2_svc(struct svc_req *); extern exports * mountproc_exportall_2(CLIENT *); extern exports * mountproc_exportall_2_svc(struct svc_req *); #define MOUNTPROC_PATHCONF 7 extern ppathcnf * mountproc_pathconf_2(dirpath , CLIENT *); extern ppathcnf * mountproc_pathconf_2_svc(dirpath , struct svc_req *); extern int mountprog_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t); #else /* K&R C */ extern void * mountproc_null_2(); extern void * mountproc_null_2_svc(); extern fhstatus * mountproc_mnt_2(); extern fhstatus * mountproc_mnt_2_svc(); extern mountlist * mountproc_dump_2(); extern mountlist * mountproc_dump_2_svc(); extern void * mountproc_umnt_2(); extern void * mountproc_umnt_2_svc(); extern void * mountproc_umntall_2(); extern void * mountproc_umntall_2_svc(); extern exports * mountproc_export_2(); extern exports * mountproc_export_2_svc(); extern exports * mountproc_exportall_2(); extern exports * mountproc_exportall_2_svc(); #define MOUNTPROC_PATHCONF 7 extern ppathcnf * mountproc_pathconf_2(); extern ppathcnf * mountproc_pathconf_2_svc(); extern int mountprog_2_freeresult (); #endif /* K&R C */ /* the xdr functions */ #if defined(__STDC__) || defined(__cplusplus) extern bool_t xdr_nfsstat (XDR *, nfsstat*); extern bool_t xdr_ftype (XDR *, ftype*); extern bool_t xdr_nfs_fh (XDR *, nfs_fh*); extern bool_t xdr_nfstime (XDR *, nfstime*); extern bool_t xdr_fattr (XDR *, fattr*); extern bool_t xdr_sattr (XDR *, sattr*); extern bool_t xdr_filename (XDR *, filename*); extern bool_t xdr_nfspath (XDR *, nfspath*); extern bool_t xdr_attrstat (XDR *, attrstat*); extern bool_t xdr_sattrargs (XDR *, sattrargs*); extern bool_t xdr_diropargs (XDR *, diropargs*); extern bool_t xdr_diropokres (XDR *, diropokres*); extern bool_t xdr_diropres (XDR *, diropres*); extern bool_t xdr_readlinkres (XDR *, readlinkres*); extern bool_t xdr_readargs (XDR *, readargs*); extern bool_t xdr_readokres (XDR *, readokres*); extern bool_t xdr_readres (XDR *, readres*); extern bool_t xdr_writeargs (XDR *, writeargs*); extern bool_t xdr_createargs (XDR *, createargs*); extern bool_t xdr_renameargs (XDR *, renameargs*); extern bool_t xdr_linkargs (XDR *, linkargs*); extern bool_t xdr_symlinkargs (XDR *, symlinkargs*); extern bool_t xdr_nfscookie (XDR *, nfscookie); extern bool_t xdr_readdirargs (XDR *, readdirargs*); extern bool_t xdr_entry (XDR *, entry*); extern bool_t xdr_dirlist (XDR *, dirlist*); extern bool_t xdr_readdirres (XDR *, readdirres*); extern bool_t xdr_statfsokres (XDR *, statfsokres*); extern bool_t xdr_statfsres (XDR *, statfsres*); extern bool_t xdr_fhandle (XDR *, fhandle); extern bool_t xdr_fhstatus (XDR *, fhstatus*); extern bool_t xdr_dirpath (XDR *, dirpath*); extern bool_t xdr_name (XDR *, name*); extern bool_t xdr_mountlist (XDR *, mountlist*); extern bool_t xdr_mountbody (XDR *, mountbody*); extern bool_t xdr_groups (XDR *, groups*); extern bool_t xdr_groupnode (XDR *, groupnode*); extern bool_t xdr_exports (XDR *, exports*); extern bool_t xdr_exportnode (XDR *, exportnode*); extern bool_t xdr_ppathcnf (XDR *, ppathcnf*); #else /* K&R C */ extern bool_t xdr_nfsstat (); extern bool_t xdr_ftype (); extern bool_t xdr_nfs_fh (); extern bool_t xdr_nfstime (); extern bool_t xdr_fattr (); extern bool_t xdr_sattr (); extern bool_t xdr_filename (); extern bool_t xdr_nfspath (); extern bool_t xdr_attrstat (); extern bool_t xdr_sattrargs (); extern bool_t xdr_diropargs (); extern bool_t xdr_diropokres (); extern bool_t xdr_diropres (); extern bool_t xdr_readlinkres (); extern bool_t xdr_readargs (); extern bool_t xdr_readokres (); extern bool_t xdr_readres (); extern bool_t xdr_writeargs (); extern bool_t xdr_createargs (); extern bool_t xdr_renameargs (); extern bool_t xdr_linkargs (); extern bool_t xdr_symlinkargs (); extern bool_t xdr_nfscookie (); extern bool_t xdr_readdirargs (); extern bool_t xdr_entry (); extern bool_t xdr_dirlist (); extern bool_t xdr_readdirres (); extern bool_t xdr_statfsokres (); extern bool_t xdr_statfsres (); extern bool_t xdr_fhandle (); extern bool_t xdr_fhstatus (); extern bool_t xdr_dirpath (); extern bool_t xdr_name (); extern bool_t xdr_mountlist (); extern bool_t xdr_mountbody (); extern bool_t xdr_groups (); extern bool_t xdr_groupnode (); extern bool_t xdr_exports (); extern bool_t xdr_exportnode (); extern bool_t xdr_ppathcnf (); #endif /* K&R C */ #ifdef __cplusplus } #endif #endif /* !_RPC_NFS2_PROT_H_RPCGEN */