add prototypes for NFS vnode ops
[unix-history] / usr / src / sys / nfs / nfsmount.h
index 7ca645c..2d6a05c 100644 (file)
@@ -5,38 +5,45 @@
  * This code is derived from software contributed to Berkeley by
  * Rick Macklem at The University of Guelph.
  *
  * This code is derived from software contributed to Berkeley by
  * Rick Macklem at The University of Guelph.
  *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the University of California, Berkeley.  The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ * %sccs.include.redist.c%
  *
  *
- *     @(#)nfsmount.h  7.2 (Berkeley) %G%
+ *     @(#)nfsmount.h  7.6 (Berkeley) %G%
  */
 
 /*
  * Mount structure.
  */
 
 /*
  * Mount structure.
- * One allocated on every nfs mount.
- * Holds nfs specific info for mount (sockets...)
+ * One allocated on every NFS mount.
+ * Holds NFS specific information for mount.
  */
 struct nfsmount {
        int     nm_flag;                /* Flags for soft/hard... */
  */
 struct nfsmount {
        int     nm_flag;                /* Flags for soft/hard... */
-       struct  mount *nm_mountp;       /* vfs structure for this filesystem */
+       struct  mount *nm_mountp;       /* Vfs structure for this filesystem */
        nfsv2fh_t nm_fh;                /* File handle of root dir */
        nfsv2fh_t nm_fh;                /* File handle of root dir */
-       struct  mbuf *nm_sockaddr;      /* Address of server */
-       struct  socket  *nm_so;         /* rpc socket */
-       int     nm_timeo;               /* Timeout interval */
-       int     nm_retrans;             /* # of retransmits */
+       struct  socket *nm_so;          /* Rpc socket */
+       int     nm_sotype;              /* Type of socket */
+       int     nm_soproto;             /* and protocol */
+       int     nm_soflags;             /* pr_flags for socket protocol */
+       struct  mbuf *nm_nam;           /* Addr of server */
+       short   nm_retry;               /* Max retry count */
+       short   nm_rexmit;              /* Rexmit on previous request */
+       short   nm_rtt;                 /* Round trip timer ticks @ NFS_HZ */
+       short   nm_rto;                 /* Current timeout */
+       short   nm_srtt;                /* Smoothed round trip time */
+       short   nm_rttvar;              /* RTT variance */
+       short   nm_currto;              /* Current rto of any nfsmount */
+       short   nm_currexmit;           /* Max rexmit count of nfsmounts */
+       short   nm_sent;                /* Request send count */
+       short   nm_window;              /* Request send window (max) */
+       short   nm_winext;              /* Window incremental value */
+       short   nm_ssthresh;            /* Slowstart threshold */
+       short   nm_salen;               /* Actual length of nm_sockaddr */
        int     nm_rsize;               /* Max size of read rpc */
        int     nm_wsize;               /* Max size of write rpc */
        int     nm_rsize;               /* Max size of read rpc */
        int     nm_wsize;               /* Max size of write rpc */
-       char    nm_path[MNAMELEN];      /* Path mounted on */
-       char    nm_host[MNAMELEN];      /* Remote host name */
 };
 
 };
 
-struct nfsmount *vfs_to_nfs();
+#ifdef KERNEL
+/*
+ * Convert mount ptr to nfsmount ptr.
+ */
+#define VFSTONFS(mp)   ((struct nfsmount *)((mp)->mnt_data))
+#endif /* KERNEL */