diff options
Diffstat (limited to 'contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h')
-rw-r--r-- | contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h | 80 |
1 files changed, 56 insertions, 24 deletions
diff --git a/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h b/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h index 070ada089ff19..0c319d39b60dd 100644 --- a/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h +++ b/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h @@ -17,7 +17,7 @@ * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgment: + * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors @@ -38,7 +38,7 @@ * * %W% (Berkeley) %G% * - * $Id: nfs_prot_freebsd3.h,v 1.5 1999/01/13 20:03:57 obrien Exp $ + * $Id: nfs_prot_freebsd3.h,v 1.2 1998/08/27 07:33:23 obrien Exp $ * */ @@ -153,29 +153,65 @@ typedef writeargs nfswriteargs; /* * - * FreeBSD-3.0-RELEASE has NFS V3. Older versions had it only defined - * in the rpcgen source file. If you are on an older system, and you - * want NFSv3 support, you need to regenerate the rpcsvc header files as - * follows: - * cd /usr/include/rpcsvc - * rpcgen -h -C -DWANT_NFS3 mount.x - * rpcgen -h -C -DWANT_NFS3 nfs_prot.x - * If you don't want NFSv3, then you will have to turn off the NFSMNT_NFSV3 - * macro below. If the code doesn't compile, upgrade to the latest 3.0 - * version... + * FreeBSD 3.0 has NFS V3, but you need to regenrate the rpcsc header files + * as follows: + * cd /usr/local/rpcsvc + * rpcgen -DWANT_NFS3 mount.x + * rpcgen -DWANT_NFS3 nfs_prot.x + * But that's not expected of everyone, plus there are additional things + * needed so I define everything that's neede for NFS V3 here. */ #ifdef NFSMNT_NFSV3 # define MOUNT_NFS3 MOUNT_NFS # define MNTOPT_NFS3 "nfs" -/* - * as of 3.0-RELEASE the nfs_fh3 that is defined in the system headers - * (or the one generated by rpcgen) lacks the proper full definition, - * listed below. A special macro (aux/macros/struct_nfs_fh3.m4) searches - * for this special name before other names. - */ -struct nfs_fh3_freebsd3 { +#ifdef COMMENT_OUT +#define FHSIZE3 64 /* size in bytes of a file handle (v3) */ +#define NFS3_FHSIZE 64 +#define MOUNTVERS3 ((unsigned long)(3)) +#define NFS_V3 ((unsigned long)(3)) +#endif /* COMMENT_OUT */ + +#ifdef COMMENT_OUT +typedef struct { + u_int fhandle3_len; + char *fhandle3_val; +} fhandle3; + +enum mountstat3 { + MNT3_OK = 0, + MNT3ERR_PERM = 1, + MNT3ERR_NOENT = 2, + MNT3ERR_IO = 5, + MNT3ERR_ACCES = 13, + MNT3ERR_NOTDIR = 20, + MNT3ERR_INVAL = 22, + MNT3ERR_NAMETOOLONG = 63, + MNT3ERR_NOTSUPP = 10004, + MNT3ERR_SERVERFAULT = 10006 +}; +typedef enum mountstat3 mountstat3; + +struct mountres3_ok { + fhandle3 fhandle; + struct { + u_int auth_flavors_len; + int *auth_flavors_val; + } auth_flavors; +}; +typedef struct mountres3_ok mountres3_ok; + +struct mountres3 { + mountstat3 fhs_status; + union { + mountres3_ok mountinfo; + } mountres3_u; +}; +typedef struct mountres3 mountres3; +#endif /* COMMENT_OUT */ + +struct nfs_fh3 { u_int fh3_length; union nfs_fh3_u { struct nfs_fh3_i { @@ -184,11 +220,7 @@ struct nfs_fh3_freebsd3 { char data[NFS3_FHSIZE]; } fh3_u; }; -typedef struct nfs_fh3_freebsd3 nfs_fh3_freebsd3; - -/* since we don't use Am-utils's aux/macros/struct_nfs_fh3.m4, we don't get - their special searching. So restore the standard name. */ -typedef struct nfs_fh3_freebsd3 nfs_fh3; +typedef struct nfs_fh3 nfs_fh3; #endif /* NFSMNT_NFSV3 */ |