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 | 77 |
1 files changed, 20 insertions, 57 deletions
diff --git a/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h b/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h index ebc82e5..af840cc 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 acknowledgement: + * must display the following acknowledgment: * 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.3 1998/09/09 16:11:01 obrien Exp $ + * $Id: nfs_prot_freebsd3.h,v 1.4 1998/11/14 03:13:31 obrien Exp $ * */ @@ -153,66 +153,29 @@ typedef writeargs nfswriteargs; /* * - * FreeBSD 3.0 pre-release 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 needed for NFS V3 here. - * The problem is fixed in FreeBSD-3.0-RELEASE hence this code is off. + * 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... */ #ifdef NFSMNT_NFSV3 # define MOUNT_NFS3 MOUNT_NFS # define MNTOPT_NFS3 "nfs" -#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 { +/* + * 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 { u_int fh3_length; union nfs_fh3_u { struct nfs_fh3_i { @@ -221,7 +184,7 @@ struct nfs_fh3 { char data[NFS3_FHSIZE]; } fh3_u; }; -typedef struct nfs_fh3 nfs_fh3; +typedef struct nfs_fh3_freebsd3 nfs_fh3_freebsd3; #endif /* NFSMNT_NFSV3 */ |