xref: /original-bsd/sys/nfs/nfsmount.h (revision d5354517)
1 /*
2  * Copyright (c) 1989 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * This code is derived from software contributed to Berkeley by
6  * Rick Macklem at The University of Guelph.
7  *
8  * Redistribution and use in source and binary forms are permitted
9  * provided that the above copyright notice and this paragraph are
10  * duplicated in all such forms and that any documentation,
11  * advertising materials, and other materials related to such
12  * distribution and use acknowledge that the software was developed
13  * by the University of California, Berkeley.  The name of the
14  * University may not be used to endorse or promote products derived
15  * from this software without specific prior written permission.
16  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
17  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
18  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19  *
20  *	@(#)nfsmount.h	7.5 (Berkeley) 05/14/90
21  */
22 
23 /*
24  * Mount structure.
25  * One allocated on every NFS mount.
26  * Holds NFS specific information for mount.
27  */
28 struct	nfsmount {
29 	int	nm_flag;		/* Flags for soft/hard... */
30 	struct	mount *nm_mountp;	/* Vfs structure for this filesystem */
31 	nfsv2fh_t nm_fh;		/* File handle of root dir */
32 	struct	socket *nm_so;		/* Rpc socket */
33 	int	nm_sotype;		/* Type of socket */
34 	int	nm_soproto;		/* and protocol */
35 	int	nm_soflags;		/* pr_flags for socket protocol */
36 	struct	mbuf *nm_nam;		/* Addr of server */
37 	short	nm_retry;		/* Max retry count */
38 	short	nm_rexmit;		/* Rexmit on previous request */
39 	short	nm_rtt;			/* Round trip timer ticks @ NFS_HZ */
40 	short	nm_rto;			/* Current timeout */
41 	short	nm_srtt;		/* Smoothed round trip time */
42 	short	nm_rttvar;		/* RTT variance */
43 	short	nm_currto;		/* Current rto of any nfsmount */
44 	short	nm_currexmit;		/* Max rexmit count of nfsmounts */
45 	short	nm_sent;		/* Request send count */
46 	short	nm_window;		/* Request send window (max) */
47 	short	nm_winext;		/* Window incremental value */
48 	short	nm_ssthresh;		/* Slowstart threshold */
49 	short	nm_salen;		/* Actual length of nm_sockaddr */
50 	int	nm_rsize;		/* Max size of read rpc */
51 	int	nm_wsize;		/* Max size of write rpc */
52 };
53 
54 #ifdef KERNEL
55 /*
56  * Convert mount ptr to nfsmount ptr.
57  */
58 #define VFSTONFS(mp)	((struct nfsmount *)((mp)->mnt_data))
59 #endif /* KERNEL */
60