summaryrefslogtreecommitdiff
path: root/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h')
-rw-r--r--contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h80
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 */