summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient
diff options
context:
space:
mode:
Diffstat (limited to 'sys/nfsclient')
-rw-r--r--sys/nfsclient/bootp_subr.c36
-rw-r--r--sys/nfsclient/krpc.h4
-rw-r--r--sys/nfsclient/krpc_subr.c34
-rw-r--r--sys/nfsclient/nfs.h133
-rw-r--r--sys/nfsclient/nfs_nfsiod.c57
-rw-r--r--sys/nfsclient/nfs_socket.c62
-rw-r--r--sys/nfsclient/nfs_subs.c14
-rw-r--r--sys/nfsclient/nfs_vfsops.c31
-rw-r--r--sys/nfsclient/nfsargs.h133
-rw-r--r--sys/nfsclient/nfsmount.h4
-rw-r--r--sys/nfsclient/nfsstats.h133
11 files changed, 352 insertions, 289 deletions
diff --git a/sys/nfsclient/bootp_subr.c b/sys/nfsclient/bootp_subr.c
index 3d0f587..b1fd716 100644
--- a/sys/nfsclient/bootp_subr.c
+++ b/sys/nfsclient/bootp_subr.c
@@ -1,4 +1,4 @@
-/* $Id: bootp_subr.c,v 1.3 1997/05/14 01:31:54 tegge Exp $ */
+/* $Id: bootp_subr.c,v 1.4 1997/06/12 14:08:20 tegge Exp $ */
/*
* Copyright (c) 1995 Gordon Ross, Adam Glass
@@ -260,16 +260,13 @@ bootpc_call(call,reply,procp)
struct proc *procp;
{
struct socket *so;
- struct sockaddr_in *sin,sa;
- struct mbuf *m, *nam;
+ struct sockaddr_in *sin, sa;
+ struct mbuf *m;
struct uio auio;
struct iovec aio;
int error, rcvflg, timo, secs, len;
u_int tport;
- /* Free at end if not null. */
- nam = NULL;
-
/*
* Create socket and set its recieve timeout.
*/
@@ -310,14 +307,13 @@ bootpc_call(call,reply,procp)
/*
* Bind the local endpoint to a bootp client port.
*/
- m = m_getclr(M_WAIT, MT_SONAME);
- sin = mtod(m, struct sockaddr_in *);
- sin->sin_len = m->m_len = sizeof(*sin);
+ sin = &sa;
+ bzero(sin, sizeof *sin);
+ sin->sin_len = sizeof(*sin);
sin->sin_family = AF_INET;
sin->sin_addr.s_addr = INADDR_ANY;
sin->sin_port = htons(IPPORT_BOOTPC);
- error = sobind(so, m, procp);
- m_freem(m);
+ error = sobind(so, (struct sockaddr *)sin, procp);
if (error) {
printf("bind failed\n");
goto out;
@@ -326,19 +322,13 @@ bootpc_call(call,reply,procp)
/*
* Setup socket address for the server.
*/
- nam = m_get(M_WAIT, MT_SONAME);
- if (nam == NULL) {
- error = ENOBUFS;
- goto out;
- }
- sin = mtod(nam, struct sockaddr_in *);
- sin-> sin_len = sizeof(*sin);
- sin-> sin_family = AF_INET;
+ sin = &sa;
+ bzero(sin, sizeof *sin);
+ sin->sin_len = sizeof(*sin);
+ sin->sin_family = AF_INET;
sin->sin_addr.s_addr = INADDR_BROADCAST;
sin->sin_port = htons(IPPORT_BOOTPS);
- nam->m_len = sizeof(*sin);
-
/*
* Send it, repeatedly, until a reply is received,
* but delay each re-send by an increasing amount.
@@ -359,7 +349,8 @@ bootpc_call(call,reply,procp)
auio.uio_resid = sizeof(*call);
auio.uio_procp = procp;
- error = sosend(so, nam, &auio, NULL, NULL, 0);
+ error = sosend(so, (struct sockaddr *)sin, &auio, NULL,
+ NULL, 0, procp);
if (error) {
printf("bootpc_call: sosend: %d\n", error);
goto out;
@@ -427,7 +418,6 @@ bootpc_call(call,reply,procp)
gotreply:
out:
- if (nam) m_freem(nam);
soclose(so);
return error;
}
diff --git a/sys/nfsclient/krpc.h b/sys/nfsclient/krpc.h
index 88687ae..d847683 100644
--- a/sys/nfsclient/krpc.h
+++ b/sys/nfsclient/krpc.h
@@ -1,11 +1,11 @@
/* $NetBSD: krpc.h,v 1.4 1995/12/19 23:07:11 cgd Exp $ */
-/* $Id: krpc.h,v 1.2 1997/05/11 18:05:39 tegge Exp $ */
+/* $Id: krpc.h,v 1.3 1997/06/12 14:03:16 tegge Exp $ */
#include <sys/cdefs.h>
int krpc_call __P((struct sockaddr_in *sin,
u_int prog, u_int vers, u_int func,
- struct mbuf **data, struct mbuf **from, struct proc *procp));
+ struct mbuf **data, struct sockaddr **from, struct proc *procp));
int krpc_portmap __P((struct sockaddr_in *sin,
u_int prog, u_int vers, u_int16_t *portp,struct proc *procp));
diff --git a/sys/nfsclient/krpc_subr.c b/sys/nfsclient/krpc_subr.c
index e3eadb6..2d8ca1d 100644
--- a/sys/nfsclient/krpc_subr.c
+++ b/sys/nfsclient/krpc_subr.c
@@ -1,5 +1,5 @@
/* $NetBSD: krpc_subr.c,v 1.12.4.1 1996/06/07 00:52:26 cgd Exp $ */
-/* $Id: krpc_subr.c,v 1.2 1997/05/11 18:05:39 tegge Exp $ */
+/* $Id: krpc_subr.c,v 1.3 1997/06/12 14:03:16 tegge Exp $ */
/*
* Copyright (c) 1995 Gordon Ross, Adam Glass
@@ -192,12 +192,13 @@ krpc_call(sa, prog, vers, func, data, from_p, procp)
struct sockaddr_in *sa;
u_int prog, vers, func;
struct mbuf **data; /* input/output */
- struct mbuf **from_p; /* output */
+ struct sockaddr **from_p; /* output */
struct proc *procp;
{
struct socket *so;
- struct sockaddr_in *sin;
- struct mbuf *m, *nam, *mhead, *from;
+ struct sockaddr_in *sin, ssin;
+ struct sockaddr *from;
+ struct mbuf *m, *nam, *mhead;
struct rpc_call *call;
struct rpc_reply *reply;
struct uio auio;
@@ -258,19 +259,18 @@ krpc_call(sa, prog, vers, func, data, from_p, procp)
* because some NFS servers refuse requests from
* non-reserved (non-privileged) ports.
*/
- m = m_getclr(M_WAIT, MT_SONAME);
- sin = mtod(m, struct sockaddr_in *);
- sin->sin_len = m->m_len = sizeof(*sin);
+ sin = &ssin;
+ bzero(sin, sizeof *sin);
+ sin->sin_len = sizeof(*sin);
sin->sin_family = AF_INET;
sin->sin_addr.s_addr = INADDR_ANY;
tport = IPPORT_RESERVED;
do {
tport--;
sin->sin_port = htons(tport);
- error = sobind(so, m, procp);
+ error = sobind(so, (struct sockaddr *)sin, procp);
} while (error == EADDRINUSE &&
tport > IPPORT_RESERVED / 2);
- m_freem(m);
if (error) {
printf("bind failed\n");
goto out;
@@ -279,14 +279,6 @@ krpc_call(sa, prog, vers, func, data, from_p, procp)
/*
* Setup socket address for the server.
*/
- nam = m_get(M_WAIT, MT_SONAME);
- if (nam == NULL) {
- error = ENOBUFS;
- goto out;
- }
- sin = mtod(nam, struct sockaddr_in *);
- bcopy((caddr_t)sa, (caddr_t)sin,
- (nam->m_len = sa->sin_len));
/*
* Prepend RPC message header.
@@ -336,7 +328,8 @@ krpc_call(sa, prog, vers, func, data, from_p, procp)
error = ENOBUFS;
goto out;
}
- error = sosend(so, nam, NULL, m, NULL, 0);
+ error = sosend(so, (struct sockaddr *)sa, NULL, m,
+ NULL, 0, 0);
if (error) {
printf("krpc_call: sosend: %d\n", error);
goto out;
@@ -357,7 +350,7 @@ krpc_call(sa, prog, vers, func, data, from_p, procp)
secs = timo;
while (secs > 0) {
if (from) {
- m_freem(from);
+ FREE(from, M_SONAME);
from = NULL;
}
if (m) {
@@ -445,9 +438,8 @@ krpc_call(sa, prog, vers, func, data, from_p, procp)
}
out:
- if (nam) m_freem(nam);
if (mhead) m_freem(mhead);
- if (from) m_freem(from);
+ if (from) free(from, M_SONAME);
soclose(so);
return error;
}
diff --git a/sys/nfsclient/nfs.h b/sys/nfsclient/nfs.h
index 528a366..e1a4755 100644
--- a/sys/nfsclient/nfs.h
+++ b/sys/nfsclient/nfs.h
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs.h 8.4 (Berkeley) 5/1/95
- * $Id: nfs.h,v 1.28 1997/06/03 17:22:45 dfr Exp $
+ * $Id: nfs.h,v 1.29 1997/07/16 09:06:27 dfr Exp $
*/
#ifndef _NFS_NFS_H_
@@ -382,7 +382,7 @@ extern TAILQ_HEAD(nfs_reqq, nfsreq) nfs_reqq;
*/
union nethostaddr {
u_long had_inetaddr;
- struct mbuf *had_nam;
+ struct sockaddr *had_nam;
};
struct nfsuid {
@@ -406,7 +406,7 @@ struct nfsuid {
struct nfsrv_rec {
STAILQ_ENTRY(nfsrv_rec) nr_link;
- struct mbuf *nr_address;
+ struct sockaddr *nr_address;
struct mbuf *nr_packet;
};
@@ -415,7 +415,7 @@ struct nfssvc_sock {
TAILQ_HEAD(, nfsuid) ns_uidlruhead;
struct file *ns_fp;
struct socket *ns_so;
- struct mbuf *ns_nam;
+ struct sockaddr *ns_nam;
struct mbuf *ns_raw;
struct mbuf *ns_rawend;
STAILQ_HEAD(, nfsrv_rec) ns_rec;
@@ -480,8 +480,8 @@ struct nfsrv_descript {
struct mbuf *nd_mrep; /* Request mbuf list */
struct mbuf *nd_md; /* Current dissect mbuf */
struct mbuf *nd_mreq; /* Reply mbuf list */
- struct mbuf *nd_nam; /* and socket addr */
- struct mbuf *nd_nam2; /* return socket addr */
+ struct sockaddr *nd_nam; /* and socket addr */
+ struct sockaddr *nd_nam2; /* return socket addr */
caddr_t nd_dpos; /* Current dissect pos */
u_int32_t nd_procnum; /* RPC # */
int nd_stable; /* storage type */
@@ -567,70 +567,91 @@ extern int nfs_debug;
int nfs_init __P((struct vfsconf *vfsp));
int nfs_reply __P((struct nfsreq *));
int nfs_getreq __P((struct nfsrv_descript *,struct nfsd *,int));
-int nfs_send __P((struct socket *,struct mbuf *,struct mbuf *,struct nfsreq *));
-int nfs_rephead __P((int,struct nfsrv_descript *,struct nfssvc_sock *,int,int,u_quad_t *,struct mbuf **,struct mbuf **,caddr_t *));
-int nfs_sndlock __P((int *,struct nfsreq *));
+int nfs_send __P((struct socket *, struct sockaddr *, struct mbuf *,
+ struct nfsreq *));
+int nfs_rephead __P((int, struct nfsrv_descript *, struct nfssvc_sock *,
+ int, int, u_quad_t *, struct mbuf **, struct mbuf **,
+ caddr_t *));
+int nfs_sndlock __P((int *, struct nfsreq *));
void nfs_sndunlock __P((int *flagp));
-int nfs_disct __P((struct mbuf **,caddr_t *,int,int,caddr_t *));
-int nfs_vinvalbuf __P((struct vnode *,int,struct ucred *,struct proc *,int));
-int nfs_readrpc __P((struct vnode *,struct uio *,struct ucred *));
-int nfs_writerpc __P((struct vnode *,struct uio *,struct ucred *,int *,int *));
-int nfs_readdirrpc __P((register struct vnode *,struct uio *,struct ucred *));
-int nfs_asyncio __P((struct buf *,struct ucred *));
-int nfs_doio __P((struct buf *,struct ucred *,struct proc *));
-int nfs_readlinkrpc __P((struct vnode *,struct uio *,struct ucred *));
-int nfs_sigintr __P((struct nfsmount *,struct nfsreq *r,struct proc *));
-int nfs_readdirplusrpc __P((struct vnode *,register struct uio *,struct ucred *));
-int nfsm_disct __P((struct mbuf **,caddr_t *,int,int,caddr_t *));
-void nfsm_srvfattr __P((struct nfsrv_descript *,struct vattr *,struct nfs_fattr *));
-void nfsm_srvwcc __P((struct nfsrv_descript *,int,struct vattr *,int,struct vattr *,struct mbuf **,char **));
-void nfsm_srvpostopattr __P((struct nfsrv_descript *,int,struct vattr *,struct mbuf **,char **));
-int netaddr_match __P((int,union nethostaddr *,struct mbuf *));
-int nfs_request __P((struct vnode *,struct mbuf *,int,struct proc *,struct ucred *,struct mbuf **,struct mbuf **,caddr_t *));
-int nfs_loadattrcache __P((struct vnode **,struct mbuf **,caddr_t *,struct vattr *));
-int nfs_namei __P((struct nameidata *,fhandle_t *,int,struct nfssvc_sock *,struct mbuf *,struct mbuf **,caddr_t *,struct vnode **,struct proc *,int,int));
-void nfsm_adj __P((struct mbuf *,int,int));
-int nfsm_mbuftouio __P((struct mbuf **,struct uio *,int,caddr_t *));
+int nfs_disct __P((struct mbuf **, caddr_t *, int, int, caddr_t *));
+int nfs_vinvalbuf __P((struct vnode *, int, struct ucred *, struct proc *,
+ int));
+int nfs_readrpc __P((struct vnode *, struct uio *, struct ucred *));
+int nfs_writerpc __P((struct vnode *, struct uio *, struct ucred *, int *,
+ int *));
+int nfs_readdirrpc __P((struct vnode *, struct uio *, struct ucred *));
+int nfs_asyncio __P((struct buf *, struct ucred *));
+int nfs_doio __P((struct buf *, struct ucred *, struct proc *));
+int nfs_readlinkrpc __P((struct vnode *, struct uio *, struct ucred *));
+int nfs_sigintr __P((struct nfsmount *, struct nfsreq *, struct proc *));
+int nfs_readdirplusrpc __P((struct vnode *, struct uio *, struct ucred *));
+int nfsm_disct __P((struct mbuf **, caddr_t *, int, int, caddr_t *));
+void nfsm_srvfattr __P((struct nfsrv_descript *, struct vattr *,
+ struct nfs_fattr *));
+void nfsm_srvwcc __P((struct nfsrv_descript *, int, struct vattr *, int,
+ struct vattr *, struct mbuf **, char **));
+void nfsm_srvpostopattr __P((struct nfsrv_descript *, int, struct vattr *,
+ struct mbuf **, char **));
+int netaddr_match __P((int, union nethostaddr *, struct sockaddr *));
+int nfs_request __P((struct vnode *, struct mbuf *, int, struct proc *,
+ struct ucred *, struct mbuf **, struct mbuf **,
+ caddr_t *));
+int nfs_loadattrcache __P((struct vnode **, struct mbuf **, caddr_t *,
+ struct vattr *));
+int nfs_namei __P((struct nameidata *, fhandle_t *, int,
+ struct nfssvc_sock *, struct sockaddr *, struct mbuf **,
+ caddr_t *, struct vnode **, struct proc *, int, int));
+void nfsm_adj __P((struct mbuf *, int, int));
+int nfsm_mbuftouio __P((struct mbuf **, struct uio *, int, caddr_t *));
void nfsrv_initcache __P((void));
-int nfs_getauth __P((struct nfsmount *,struct nfsreq *,struct ucred *,char **,int *,char *,int *,NFSKERBKEY_T));
-int nfs_getnickauth __P((struct nfsmount *,struct ucred *,char **,int *,char *,int));
-int nfs_savenickauth __P((struct nfsmount *,struct ucred *,int,NFSKERBKEY_T,struct mbuf **,char **,struct mbuf *));
-int nfs_adv __P((struct mbuf **,caddr_t *,int,int));
+int nfs_getauth __P((struct nfsmount *, struct nfsreq *, struct ucred *,
+ char **, int *, char *, int *, NFSKERBKEY_T));
+int nfs_getnickauth __P((struct nfsmount *, struct ucred *, char **,
+ int *, char *, int));
+int nfs_savenickauth __P((struct nfsmount *, struct ucred *, int,
+ NFSKERBKEY_T, struct mbuf **, char **,
+ struct mbuf *));
+int nfs_adv __P((struct mbuf **, caddr_t *, int, int));
void nfs_nhinit __P((void));
void nfs_timer __P((void*));
-u_long nfs_hash __P((nfsfh_t *,int));
-int nfsrv_dorec __P((struct nfssvc_sock *,struct nfsd *,struct nfsrv_descript **));
-int nfsrv_getcache __P((struct nfsrv_descript *,struct nfssvc_sock *,struct mbuf **));
-void nfsrv_updatecache __P((struct nfsrv_descript *,int,struct mbuf *));
+u_long nfs_hash __P((nfsfh_t *, int));
+int nfsrv_dorec __P((struct nfssvc_sock *, struct nfsd *,
+ struct nfsrv_descript **));
+int nfsrv_getcache __P((struct nfsrv_descript *, struct nfssvc_sock *,
+ struct mbuf **));
+void nfsrv_updatecache __P((struct nfsrv_descript *, int, struct mbuf *));
void nfsrv_cleancache __P((void));
-int nfs_connect __P((struct nfsmount *,struct nfsreq *));
+int nfs_connect __P((struct nfsmount *, struct nfsreq *));
void nfs_disconnect __P((struct nfsmount *));
-int nfs_getattrcache __P((struct vnode *,struct vattr *));
-int nfsm_strtmbuf __P((struct mbuf **,char **,char *,long));
-int nfs_bioread __P((struct vnode *,struct uio *,int,struct ucred *, int getpages));
-int nfsm_uiotombuf __P((struct uio *,struct mbuf **,int,caddr_t *));
+int nfs_getattrcache __P((struct vnode *, struct vattr *));
+int nfsm_strtmbuf __P((struct mbuf **, char **, char *, long));
+int nfs_bioread __P((struct vnode *, struct uio *, int, struct ucred *,
+ int));
+int nfsm_uiotombuf __P((struct uio *, struct mbuf **, int, caddr_t *));
void nfsrv_init __P((int));
void nfs_clearcommit __P((struct mount *));
int nfsrv_errmap __P((struct nfsrv_descript *, int));
-void nfsrvw_sort __P((gid_t [],int));
-void nfsrv_setcred __P((struct ucred *,struct ucred *));
-int nfs_writebp __P((struct buf *,int));
-int nfsrv_object_create __P(( struct vnode * ));
+void nfsrvw_sort __P((gid_t *, int));
+void nfsrv_setcred __P((struct ucred *, struct ucred *));
+int nfs_writebp __P((struct buf *, int));
+int nfsrv_object_create __P((struct vnode *));
void nfsrv_wakenfsd __P((struct nfssvc_sock *slp));
int nfsrv_writegather __P((struct nfsrv_descript **, struct nfssvc_sock *,
struct proc *, struct mbuf **));
int nfs_fsinfo __P((struct nfsmount *, struct vnode *, struct ucred *,
struct proc *p));
-int nfsrv3_access __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
+int nfsrv3_access __P((struct nfsrv_descript *nfsd,
+ struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
int nfsrv_commit __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
int nfsrv_create __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
-int nfsrv_fhtovp __P((fhandle_t *,int,struct vnode **,
- struct ucred *,struct nfssvc_sock *,struct mbuf *,
- int *,int,int));
+int nfsrv_fhtovp __P((fhandle_t *, int, struct vnode **, struct ucred *,
+ struct nfssvc_sock *, struct sockaddr *, int *,
+ int, int));
int nfsrv_setpublicfs __P((struct mount *, struct netexport *,
struct export_args *));
int nfs_ispublicfh __P((fhandle_t *));
@@ -655,7 +676,8 @@ int nfsrv_pathconf __P((struct nfsrv_descript *nfsd,
struct mbuf **mrq));
int nfsrv_read __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
-int nfsrv_readdir __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
+int nfsrv_readdir __P((struct nfsrv_descript *nfsd,
+ struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
int nfsrv_readdirplus __P((struct nfsrv_descript *nfsd,
struct nfssvc_sock *slp, struct proc *procp,
@@ -669,11 +691,14 @@ int nfsrv_rename __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
int nfsrv_rmdir __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
-int nfsrv_setattr __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
+int nfsrv_setattr __P((struct nfsrv_descript *nfsd,
+ struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
-int nfsrv_statfs __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
+int nfsrv_statfs __P((struct nfsrv_descript *nfsd,
+ struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
-int nfsrv_symlink __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
+int nfsrv_symlink __P((struct nfsrv_descript *nfsd,
+ struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
int nfsrv_write __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
diff --git a/sys/nfsclient/nfs_nfsiod.c b/sys/nfsclient/nfs_nfsiod.c
index 0c46e28..ad93ce6 100644
--- a/sys/nfsclient/nfs_nfsiod.c
+++ b/sys/nfsclient/nfs_nfsiod.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_syscalls.c 8.5 (Berkeley) 3/30/95
- * $Id: nfs_syscalls.c,v 1.25 1997/06/25 21:07:26 tegge Exp $
+ * $Id: nfs_syscalls.c,v 1.26 1997/07/16 09:06:29 dfr Exp $
*/
#include <sys/param.h>
@@ -106,7 +106,7 @@ static int notstarted = 1;
static int modify_flag = 0;
static void nfsd_rt __P((int sotype, struct nfsrv_descript *nd,
int cacherep));
-static int nfssvc_addsock __P((struct file *, struct mbuf *,
+static int nfssvc_addsock __P((struct file *, struct sockaddr *,
struct proc *));
static int nfssvc_nfsd __P((struct nfsd_srvargs *,caddr_t,struct proc *));
@@ -184,7 +184,7 @@ nfssvc(p, uap, retval)
#ifndef NFS_NOSERVER
struct nameidata nd;
struct file *fp;
- struct mbuf *nam;
+ struct sockaddr *nam;
struct nfsd_args nfsdarg;
struct nfsd_srvargs nfsd_srvargs, *nsd = &nfsd_srvargs;
struct nfsd_cargs ncd;
@@ -243,10 +243,10 @@ nfssvc(p, uap, retval)
* Get the client address for connected sockets.
*/
if (nfsdarg.name == NULL || nfsdarg.namelen == 0)
- nam = (struct mbuf *)0;
+ nam = (struct sockaddr *)0;
else {
- error = sockargs(&nam, nfsdarg.name, nfsdarg.namelen,
- MT_SONAME);
+ error = getsockaddr(&nam, nfsdarg.name,
+ nfsdarg.namelen);
if (error)
return (error);
}
@@ -295,7 +295,7 @@ nfssvc(p, uap, retval)
TAILQ_REMOVE(&slp->ns_uidlruhead, nuidp,
nu_lru);
if (nuidp->nu_flag & NU_NAM)
- m_freem(nuidp->nu_nam);
+ FREE(nuidp->nu_nam, M_SONAME);
}
nuidp->nu_flag = 0;
nuidp->nu_cr = nsd->nsd_cr;
@@ -312,8 +312,8 @@ nfssvc(p, uap, retval)
if (nfsd->nfsd_nd->nd_nam2) {
struct sockaddr_in *saddr;
- saddr = mtod(nfsd->nfsd_nd->nd_nam2,
- struct sockaddr_in *);
+ saddr = (struct sockaddr_in *)
+ nfsd->nfsd_nd->nd_nam2;
switch (saddr->sin_family) {
case AF_INET:
nuidp->nu_flag |= NU_INETADDR;
@@ -323,9 +323,9 @@ nfssvc(p, uap, retval)
case AF_ISO:
default:
nuidp->nu_flag |= NU_NAM;
- nuidp->nu_nam = m_copym(
- nfsd->nfsd_nd->nd_nam2, 0,
- M_COPYALL, M_WAIT);
+ nuidp->nu_nam =
+ dup_sockaddr(nfsd->nfsd_nd->
+ nd_nam2, 1);
break;
};
}
@@ -356,7 +356,7 @@ nfssvc(p, uap, retval)
static int
nfssvc_addsock(fp, mynam, p)
struct file *fp;
- struct mbuf *mynam;
+ struct sockaddr *mynam;
struct proc *p;
{
register struct mbuf *m;
@@ -374,14 +374,14 @@ nfssvc_addsock(fp, mynam, p)
if (so->so_proto->pr_protocol == IPPROTO_UDP) {
tslp = nfs_udpsock;
if (tslp->ns_flag & SLP_VALID) {
- m_freem(mynam);
+ FREE(mynam, M_SONAME);
return (EPERM);
}
#ifdef ISO
} else if (so->so_proto->pr_protocol == ISOPROTO_CLTP) {
tslp = nfs_cltpsock;
if (tslp->ns_flag & SLP_VALID) {
- m_freem(mynam);
+ FREE(mynam, M_SONAME);
return (EPERM);
}
#endif /* ISO */
@@ -392,7 +392,7 @@ nfssvc_addsock(fp, mynam, p)
siz = NFS_MAXPACKET;
error = soreserve(so, siz, siz);
if (error) {
- m_freem(mynam);
+ FREE(mynam, M_SONAME);
return (error);
}
@@ -564,8 +564,9 @@ nfssvc_nfsd(nsd, argp, p)
*/
if (nfsd->nfsd_flag & NFSD_NEEDAUTH) {
nfsd->nfsd_flag &= ~NFSD_NEEDAUTH;
- nsd->nsd_haddr = mtod(nd->nd_nam,
- struct sockaddr_in *)->sin_addr.s_addr;
+ nsd->nsd_haddr =
+ ((struct sockaddr_in *)
+ nd->nd_nam)->sin_addr.s_addr;
nsd->nsd_authlen = nfsd->nfsd_authlen;
nsd->nsd_verflen = nfsd->nfsd_verflen;
if (!copyout(nfsd->nfsd_authstr,nsd->nsd_authstr,
@@ -607,10 +608,10 @@ nfssvc_nfsd(nsd, argp, p)
/* Check if source port is privileged */
u_short port;
u_long addr;
- struct mbuf *nam = nd->nd_nam;
+ struct sockaddr *nam = nd->nd_nam;
struct sockaddr_in *sin;
- sin = mtod(nam, struct sockaddr_in *);
+ sin = (struct sockaddr_in *)nam;
port = ntohs(sin->sin_port);
if (port >= IPPORT_RESERVED &&
nd->nd_procnum != NFSPROC_NULL) {
@@ -649,7 +650,7 @@ nfssvc_nfsd(nsd, argp, p)
nfsstats.srv_errs++;
nfsrv_updatecache(nd, FALSE, mreq);
if (nd->nd_nam2)
- m_freem(nd->nd_nam2);
+ FREE(nd->nd_nam2, M_SONAME);
break;
}
nfsstats.srvrpccnt[nd->nd_procnum]++;
@@ -688,7 +689,7 @@ nfssvc_nfsd(nsd, argp, p)
if (nfsrtton)
nfsd_rt(sotype, nd, cacherep);
if (nd->nd_nam2)
- MFREE(nd->nd_nam2, m);
+ FREE(nd->nd_nam2, M_SONAME);
if (nd->nd_mrep)
m_freem(nd->nd_mrep);
if (error == EPIPE)
@@ -706,7 +707,7 @@ nfssvc_nfsd(nsd, argp, p)
if (nfsrtton)
nfsd_rt(sotype, nd, cacherep);
m_freem(nd->nd_mrep);
- m_freem(nd->nd_nam2);
+ FREE(nd->nd_nam2, M_SONAME);
break;
};
if (nd) {
@@ -857,12 +858,12 @@ nfsrv_zapsock(slp)
soshutdown(so, 2);
closef(fp, (struct proc *)0);
if (slp->ns_nam)
- MFREE(slp->ns_nam, m);
+ FREE(slp->ns_nam, M_SONAME);
m_freem(slp->ns_raw);
while (rec = STAILQ_FIRST(&slp->ns_rec)) {
STAILQ_REMOVE_HEAD(&slp->ns_rec, nr_link);
if (rec->nr_address)
- m_freem(rec->nr_address);
+ FREE(rec->nr_address, M_SONAME);
m_freem(rec->nr_packet);
free(rec, M_NFSRVDESC);
}
@@ -872,7 +873,7 @@ nfsrv_zapsock(slp)
LIST_REMOVE(nuidp, nu_hash);
TAILQ_REMOVE(&slp->ns_uidlruhead, nuidp, nu_lru);
if (nuidp->nu_flag & NU_NAM)
- m_freem(nuidp->nu_nam);
+ FREE(nuidp->nu_nam, M_SONAME);
free((caddr_t)nuidp, M_NFSUID);
}
s = splsoftclock();
@@ -1182,8 +1183,8 @@ nfsd_rt(sotype, nd, cacherep)
else if (nd->nd_flag & ND_NFSV3)
rt->flag |= DRT_NFSV3;
rt->proc = nd->nd_procnum;
- if (mtod(nd->nd_nam, struct sockaddr *)->sa_family == AF_INET)
- rt->ipadr = mtod(nd->nd_nam, struct sockaddr_in *)->sin_addr.s_addr;
+ if (nd->nd_nam->sa_family == AF_INET)
+ rt->ipadr = ((struct sockaddr_in *)nd->nd_nam)->sin_addr.s_addr;
else
rt->ipadr = INADDR_ANY;
rt->resptime = ((time.tv_sec - nd->nd_starttime.tv_sec) * 1000000) +
diff --git a/sys/nfsclient/nfs_socket.c b/sys/nfsclient/nfs_socket.c
index 0ea7f69..4b41e67 100644
--- a/sys/nfsclient/nfs_socket.c
+++ b/sys/nfsclient/nfs_socket.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_socket.c 8.5 (Berkeley) 3/30/95
- * $Id: nfs_socket.c,v 1.25 1997/05/13 17:25:44 dfr Exp $
+ * $Id: nfs_socket.c,v 1.26 1997/06/03 17:22:46 dfr Exp $
*/
/*
@@ -138,7 +138,7 @@ static int nfs_msg __P((struct proc *,char *,char *));
static int nfs_rcvlock __P((struct nfsreq *));
static void nfs_rcvunlock __P((int *flagp));
static void nfs_realign __P((struct mbuf *m, int hsiz));
-static int nfs_receive __P((struct nfsreq *rep, struct mbuf **aname,
+static int nfs_receive __P((struct nfsreq *rep, struct sockaddr **aname,
struct mbuf **mp));
static int nfs_reconnect __P((struct nfsreq *rep));
#ifndef NFS_NOSERVER
@@ -195,7 +195,7 @@ nfs_connect(nmp, rep)
struct proc *p = &proc0; /* only used for socreate and sobind */
nmp->nm_so = (struct socket *)0;
- saddr = mtod(nmp->nm_nam, struct sockaddr *);
+ saddr = nmp->nm_nam;
error = socreate(saddr->sa_family, &nmp->nm_so, nmp->nm_sotype,
nmp->nm_soproto, p);
if (error)
@@ -207,17 +207,18 @@ nfs_connect(nmp, rep)
* Some servers require that the client port be a reserved port number.
*/
if (saddr->sa_family == AF_INET && (nmp->nm_flag & NFSMNT_RESVPORT)) {
- MGET(m, M_WAIT, MT_SONAME);
- sin = mtod(m, struct sockaddr_in *);
- sin->sin_len = m->m_len = sizeof (struct sockaddr_in);
+ struct sockaddr_in ssin;
+ bzero(&ssin, sizeof ssin);
+ sin = &ssin;
+ sin->sin_len = sizeof (struct sockaddr_in);
sin->sin_family = AF_INET;
sin->sin_addr.s_addr = INADDR_ANY;
tport = IPPORT_RESERVED - 1;
sin->sin_port = htons(tport);
- while ((error = sobind(so, m, p)) == EADDRINUSE &&
+ while ((error = sobind(so, (struct sockaddr *)sin, p))
+ == EADDRINUSE &&
--tport > IPPORT_RESERVED / 2)
sin->sin_port = htons(tport);
- m_freem(m);
if (error)
goto bad;
}
@@ -232,6 +233,7 @@ nfs_connect(nmp, rep)
goto bad;
}
} else {
+ /* XXX should not use mbuf */
error = soconnect(so, nmp->nm_nam, p);
if (error)
goto bad;
@@ -383,11 +385,11 @@ nfs_disconnect(nmp)
int
nfs_send(so, nam, top, rep)
register struct socket *so;
- struct mbuf *nam;
+ struct sockaddr *nam;
register struct mbuf *top;
struct nfsreq *rep;
{
- struct mbuf *sendnam;
+ struct sockaddr *sendnam;
int error, soflags, flags;
if (rep) {
@@ -405,7 +407,7 @@ nfs_send(so, nam, top, rep)
} else
soflags = so->so_proto->pr_flags;
if ((soflags & PR_CONNREQUIRED) || (so->so_state & SS_ISCONNECTED))
- sendnam = (struct mbuf *)0;
+ sendnam = (struct sockaddr *)0;
else
sendnam = nam;
if (so->so_type == SOCK_SEQPACKET)
@@ -414,10 +416,11 @@ nfs_send(so, nam, top, rep)
flags = 0;
error = so->so_proto->pr_usrreqs->pru_sosend(so, sendnam, 0, top, 0,
- flags);
+ flags, curproc /*XXX*/);
if (error) {
if (rep) {
- log(LOG_INFO, "nfs send error %d for server %s\n",error,
+ log(LOG_INFO, "nfs send error %d for server %s\n",
+ error,
rep->r_nmp->nm_mountp->mnt_stat.f_mntfromname);
/*
* Deal with errors for the client side.
@@ -451,7 +454,7 @@ nfs_send(so, nam, top, rep)
static int
nfs_receive(rep, aname, mp)
register struct nfsreq *rep;
- struct mbuf **aname;
+ struct sockaddr **aname;
struct mbuf **mp;
{
register struct socket *so;
@@ -460,7 +463,7 @@ nfs_receive(rep, aname, mp)
register struct mbuf *m;
struct mbuf *control;
u_long len;
- struct mbuf **getnam;
+ struct sockaddr **getnam;
int error, sotype, rcvflg;
struct proc *p = curproc; /* XXX */
@@ -468,7 +471,7 @@ nfs_receive(rep, aname, mp)
* Set up arguments for soreceive()
*/
*mp = (struct mbuf *)0;
- *aname = (struct mbuf *)0;
+ *aname = (struct sockaddr *)0;
sotype = rep->r_nmp->nm_sotype;
/*
@@ -533,7 +536,7 @@ tryagain:
do {
rcvflg = MSG_WAITALL;
error = so->so_proto->pr_usrreqs->pru_soreceive
- (so, (struct mbuf **)0, &auio,
+ (so, (struct sockaddr **)0, &auio,
(struct mbuf **)0, (struct mbuf **)0,
&rcvflg);
if (error == EWOULDBLOCK && rep) {
@@ -568,7 +571,7 @@ tryagain:
do {
rcvflg = MSG_WAITALL;
error = so->so_proto->pr_usrreqs->pru_soreceive
- (so, (struct mbuf **)0,
+ (so, (struct sockaddr **)0,
&auio, mp, (struct mbuf **)0, &rcvflg);
} while (error == EWOULDBLOCK || error == EINTR ||
error == ERESTART);
@@ -593,7 +596,7 @@ tryagain:
do {
rcvflg = 0;
error = so->so_proto->pr_usrreqs->pru_soreceive
- (so, (struct mbuf **)0,
+ (so, (struct sockaddr **)0,
&auio, mp, &control, &rcvflg);
if (control)
m_freem(control);
@@ -628,7 +631,7 @@ errout:
if ((so = rep->r_nmp->nm_so) == NULL)
return (EACCES);
if (so->so_state & SS_ISCONNECTED)
- getnam = (struct mbuf **)0;
+ getnam = (struct sockaddr **)0;
else
getnam = aname;
auio.uio_resid = len = 1000000;
@@ -671,7 +674,8 @@ nfs_reply(myrep)
register struct nfsreq *rep;
register struct nfsmount *nmp = myrep->r_nmp;
register long t1;
- struct mbuf *mrep, *nam, *md;
+ struct mbuf *mrep, *md;
+ struct sockaddr *nam;
u_long rxid, *tl;
caddr_t dpos, cp2;
int error;
@@ -715,7 +719,7 @@ nfs_reply(myrep)
return (error);
}
if (nam)
- m_freem(nam);
+ FREE(nam, M_SONAME);
/*
* Get the xid and check that it is an rpc reply
@@ -1356,7 +1360,7 @@ nfs_timer(arg)
(m = m_copym(rep->r_mreq, 0, M_COPYALL, M_DONTWAIT))){
if ((nmp->nm_flag & NFSMNT_NOCONN) == 0)
error = (*so->so_proto->pr_usrreqs->pru_send)
- (so, 0, m, (struct mbuf *)0,
+ (so, 0, m, (struct sockaddr *)0,
(struct mbuf *)0, p);
else
error = (*so->so_proto->pr_usrreqs->pru_send)
@@ -1642,7 +1646,8 @@ nfsrv_rcv(so, arg, waitflag)
{
register struct nfssvc_sock *slp = (struct nfssvc_sock *)arg;
register struct mbuf *m;
- struct mbuf *mp, *nam;
+ struct mbuf *mp;
+ struct sockaddr *nam;
struct uio auio;
int flags, error;
@@ -1717,7 +1722,7 @@ nfsrv_rcv(so, arg, waitflag)
M_NFSRVDESC, waitflag);
if (!rec) {
if (nam)
- m_freem(nam);
+ FREE(nam, M_SONAME);
m_freem(mp);
continue;
}
@@ -1864,7 +1869,7 @@ nfsrv_getstream(slp, waitflag)
m_freem(slp->ns_frag);
} else {
nfs_realign(slp->ns_frag, 10 * NFSX_UNSIGNED);
- rec->nr_address = (struct mbuf*)0;
+ rec->nr_address = (struct sockaddr *)0;
rec->nr_packet = slp->ns_frag;
STAILQ_INSERT_TAIL(&slp->ns_rec, rec, nr_link);
}
@@ -1883,7 +1888,8 @@ nfsrv_dorec(slp, nfsd, ndp)
struct nfsrv_descript **ndp;
{
struct nfsrv_rec *rec;
- register struct mbuf *m, *nam;
+ register struct mbuf *m;
+ struct sockaddr *nam;
register struct nfsrv_descript *nd;
int error;
@@ -1902,7 +1908,7 @@ nfsrv_dorec(slp, nfsd, ndp)
nd->nd_dpos = mtod(m, caddr_t);
error = nfs_getreq(nd, nfsd, TRUE);
if (error) {
- m_freem(nam);
+ FREE(nam, M_SONAME);
free((caddr_t)nd, M_NFSRVDESC);
return (error);
}
diff --git a/sys/nfsclient/nfs_subs.c b/sys/nfsclient/nfs_subs.c
index 4c102c8..69baccb 100644
--- a/sys/nfsclient/nfs_subs.c
+++ b/sys/nfsclient/nfs_subs.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_subs.c 8.3 (Berkeley) 1/4/94
- * $Id: nfs_subs.c,v 1.39 1997/07/16 09:06:29 dfr Exp $
+ * $Id: nfs_subs.c,v 1.40 1997/07/22 15:35:57 dfr Exp $
*/
/*
@@ -1429,7 +1429,7 @@ nfs_namei(ndp, fhp, len, slp, nam, mdp, dposp, retdirp, p, kerbflag, pubflag)
fhandle_t *fhp;
int len;
struct nfssvc_sock *slp;
- struct mbuf *nam;
+ struct sockaddr *nam;
struct mbuf **mdp;
caddr_t *dposp;
struct vnode **retdirp;
@@ -1840,7 +1840,7 @@ nfsrv_fhtovp(fhp, lockflag, vpp, cred, slp, nam, rdonlyp, kerbflag, pubflag)
struct vnode **vpp;
struct ucred *cred;
struct nfssvc_sock *slp;
- struct mbuf *nam;
+ struct sockaddr *nam;
int *rdonlyp;
int kerbflag;
int pubflag;
@@ -1925,13 +1925,13 @@ int
netaddr_match(family, haddr, nam)
int family;
union nethostaddr *haddr;
- struct mbuf *nam;
+ struct sockaddr *nam;
{
register struct sockaddr_in *inetaddr;
switch (family) {
case AF_INET:
- inetaddr = mtod(nam, struct sockaddr_in *);
+ inetaddr = (struct sockaddr_in *)nam;
if (inetaddr->sin_family == AF_INET &&
inetaddr->sin_addr.s_addr == haddr->had_inetaddr)
return (1);
@@ -1941,8 +1941,8 @@ netaddr_match(family, haddr, nam)
{
register struct sockaddr_iso *isoaddr1, *isoaddr2;
- isoaddr1 = mtod(nam, struct sockaddr_iso *);
- isoaddr2 = mtod(haddr->had_nam, struct sockaddr_iso *);
+ isoaddr1 = (struct sockaddr_iso *)nam;
+ isoaddr2 = (struct sockaddr_iso *)haddr->had_nam;
if (isoaddr1->siso_family == AF_ISO &&
isoaddr1->siso_nlen > 0 &&
isoaddr1->siso_nlen == isoaddr2->siso_nlen &&
diff --git a/sys/nfsclient/nfs_vfsops.c b/sys/nfsclient/nfs_vfsops.c
index f867948..12f168c 100644
--- a/sys/nfsclient/nfs_vfsops.c
+++ b/sys/nfsclient/nfs_vfsops.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_vfsops.c 8.12 (Berkeley) 5/20/95
- * $Id: nfs_vfsops.c,v 1.43 1997/06/03 17:22:47 dfr Exp $
+ * $Id: nfs_vfsops.c,v 1.44 1997/06/27 19:10:46 wpaul Exp $
*/
#include <sys/param.h>
@@ -86,7 +86,7 @@ SYSCTL_INT(_vfs_nfs, OID_AUTO, debug, CTLFLAG_RW, &nfs_debug, 0, "");
static int nfs_iosize __P((struct nfsmount *nmp));
static int mountnfs __P((struct nfs_args *,struct mount *,
- struct mbuf *,char *,char *,struct vnode **));
+ struct sockaddr *,char *,char *,struct vnode **));
static int nfs_mount __P(( struct mount *mp, char *path, caddr_t data,
struct nameidata *ndp, struct proc *p));
static int nfs_start __P(( struct mount *mp, int flags,
@@ -102,7 +102,7 @@ static int nfs_sync __P(( struct mount *mp, int waitfor,
struct ucred *cred, struct proc *p));
static int nfs_vptofh __P(( struct vnode *vp, struct fid *fhp));
static int nfs_fhtovp __P((struct mount *mp, struct fid *fhp,
- struct mbuf *nam, struct vnode **vpp,
+ struct sockaddr *nam, struct vnode **vpp,
int *exflagsp, struct ucred **credanonp));
static int nfs_vget __P((struct mount *, ino_t, struct vnode **));
@@ -557,25 +557,24 @@ nfs_mountdiskless(path, which, mountflag, sin, args, p, vpp, mpp)
struct mount **mpp;
{
struct mount *mp;
- struct mbuf *m;
+ struct sockaddr *nam;
int error;
mp = *mpp;
- if (!mp && ( error = vfs_rootmountalloc("nfs", path, &mp))) {
+ if (!mp && (error = vfs_rootmountalloc("nfs", path, &mp))) {
printf("nfs_mountroot: NFS not configured");
return (error);
}
mp->mnt_flag = mountflag;
- MGET(m, MT_SONAME, M_WAITOK);
- bcopy((caddr_t)sin, mtod(m, caddr_t), sin->sin_len);
- m->m_len = sin->sin_len;
- if (error = mountnfs(args, mp, m, which, path, vpp)) {
+ nam = dup_sockaddr((struct sockaddr *)sin, 1);
+ if (error = mountnfs(args, mp, nam, which, path, vpp)) {
printf("nfs_mountroot: mount %s on %s: %d", path, which, error);
mp->mnt_vfc->vfc_refcount--;
vfs_unbusy(mp, p);
free(mp, M_MOUNT);
+ FREE(nam, M_SONAME);
return (error);
}
(void) copystr(which, mp->mnt_stat.f_mntonname, MNAMELEN - 1, 0);
@@ -603,7 +602,7 @@ nfs_mount(mp, path, data, ndp, p)
{
int error;
struct nfs_args args;
- struct mbuf *nam;
+ struct sockaddr *nam;
struct vnode *vp;
char pth[MNAMELEN], hst[MNAMELEN];
u_int len;
@@ -644,7 +643,7 @@ nfs_mount(mp, path, data, ndp, p)
return (error);
bzero(&hst[len], MNAMELEN - len);
/* sockargs() call must be after above copyin() calls */
- error = sockargs(&nam, (caddr_t)args.addr, args.addrlen, MT_SONAME);
+ error = getsockaddr(&nam, (caddr_t)args.addr, args.addrlen);
if (error)
return (error);
args.fh = nfh;
@@ -659,7 +658,7 @@ static int
mountnfs(argp, mp, nam, pth, hst, vpp)
register struct nfs_args *argp;
register struct mount *mp;
- struct mbuf *nam;
+ struct sockaddr *nam;
char *pth, *hst;
struct vnode **vpp;
{
@@ -671,7 +670,7 @@ mountnfs(argp, mp, nam, pth, hst, vpp)
if (mp->mnt_flag & MNT_UPDATE) {
nmp = VFSTONFS(mp);
/* update paths, file handles, etc, here XXX */
- m_freem(nam);
+ FREE(nam, M_SONAME);
return (0);
} else {
MALLOC(nmp, struct nfsmount *, sizeof (struct nfsmount),
@@ -829,7 +828,7 @@ mountnfs(argp, mp, nam, pth, hst, vpp)
bad:
nfs_disconnect(nmp);
free((caddr_t)nmp, M_NFSMNT);
- m_freem(nam);
+ FREE(nam, M_SONAME);
return (error);
}
@@ -900,7 +899,7 @@ nfs_unmount(mp, mntflags, p)
vrele(vp);
vgone(vp);
nfs_disconnect(nmp);
- m_freem(nmp->nm_nam);
+ FREE(nmp->nm_nam, M_SONAME);
if ((nmp->nm_flag & (NFSMNT_NQNFS | NFSMNT_KERB)) == 0)
free((caddr_t)nmp, M_NFSMNT);
@@ -996,7 +995,7 @@ static int
nfs_fhtovp(mp, fhp, nam, vpp, exflagsp, credanonp)
register struct mount *mp;
struct fid *fhp;
- struct mbuf *nam;
+ struct sockaddr *nam;
struct vnode **vpp;
int *exflagsp;
struct ucred **credanonp;
diff --git a/sys/nfsclient/nfsargs.h b/sys/nfsclient/nfsargs.h
index 528a366..e1a4755 100644
--- a/sys/nfsclient/nfsargs.h
+++ b/sys/nfsclient/nfsargs.h
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs.h 8.4 (Berkeley) 5/1/95
- * $Id: nfs.h,v 1.28 1997/06/03 17:22:45 dfr Exp $
+ * $Id: nfs.h,v 1.29 1997/07/16 09:06:27 dfr Exp $
*/
#ifndef _NFS_NFS_H_
@@ -382,7 +382,7 @@ extern TAILQ_HEAD(nfs_reqq, nfsreq) nfs_reqq;
*/
union nethostaddr {
u_long had_inetaddr;
- struct mbuf *had_nam;
+ struct sockaddr *had_nam;
};
struct nfsuid {
@@ -406,7 +406,7 @@ struct nfsuid {
struct nfsrv_rec {
STAILQ_ENTRY(nfsrv_rec) nr_link;
- struct mbuf *nr_address;
+ struct sockaddr *nr_address;
struct mbuf *nr_packet;
};
@@ -415,7 +415,7 @@ struct nfssvc_sock {
TAILQ_HEAD(, nfsuid) ns_uidlruhead;
struct file *ns_fp;
struct socket *ns_so;
- struct mbuf *ns_nam;
+ struct sockaddr *ns_nam;
struct mbuf *ns_raw;
struct mbuf *ns_rawend;
STAILQ_HEAD(, nfsrv_rec) ns_rec;
@@ -480,8 +480,8 @@ struct nfsrv_descript {
struct mbuf *nd_mrep; /* Request mbuf list */
struct mbuf *nd_md; /* Current dissect mbuf */
struct mbuf *nd_mreq; /* Reply mbuf list */
- struct mbuf *nd_nam; /* and socket addr */
- struct mbuf *nd_nam2; /* return socket addr */
+ struct sockaddr *nd_nam; /* and socket addr */
+ struct sockaddr *nd_nam2; /* return socket addr */
caddr_t nd_dpos; /* Current dissect pos */
u_int32_t nd_procnum; /* RPC # */
int nd_stable; /* storage type */
@@ -567,70 +567,91 @@ extern int nfs_debug;
int nfs_init __P((struct vfsconf *vfsp));
int nfs_reply __P((struct nfsreq *));
int nfs_getreq __P((struct nfsrv_descript *,struct nfsd *,int));
-int nfs_send __P((struct socket *,struct mbuf *,struct mbuf *,struct nfsreq *));
-int nfs_rephead __P((int,struct nfsrv_descript *,struct nfssvc_sock *,int,int,u_quad_t *,struct mbuf **,struct mbuf **,caddr_t *));
-int nfs_sndlock __P((int *,struct nfsreq *));
+int nfs_send __P((struct socket *, struct sockaddr *, struct mbuf *,
+ struct nfsreq *));
+int nfs_rephead __P((int, struct nfsrv_descript *, struct nfssvc_sock *,
+ int, int, u_quad_t *, struct mbuf **, struct mbuf **,
+ caddr_t *));
+int nfs_sndlock __P((int *, struct nfsreq *));
void nfs_sndunlock __P((int *flagp));
-int nfs_disct __P((struct mbuf **,caddr_t *,int,int,caddr_t *));
-int nfs_vinvalbuf __P((struct vnode *,int,struct ucred *,struct proc *,int));
-int nfs_readrpc __P((struct vnode *,struct uio *,struct ucred *));
-int nfs_writerpc __P((struct vnode *,struct uio *,struct ucred *,int *,int *));
-int nfs_readdirrpc __P((register struct vnode *,struct uio *,struct ucred *));
-int nfs_asyncio __P((struct buf *,struct ucred *));
-int nfs_doio __P((struct buf *,struct ucred *,struct proc *));
-int nfs_readlinkrpc __P((struct vnode *,struct uio *,struct ucred *));
-int nfs_sigintr __P((struct nfsmount *,struct nfsreq *r,struct proc *));
-int nfs_readdirplusrpc __P((struct vnode *,register struct uio *,struct ucred *));
-int nfsm_disct __P((struct mbuf **,caddr_t *,int,int,caddr_t *));
-void nfsm_srvfattr __P((struct nfsrv_descript *,struct vattr *,struct nfs_fattr *));
-void nfsm_srvwcc __P((struct nfsrv_descript *,int,struct vattr *,int,struct vattr *,struct mbuf **,char **));
-void nfsm_srvpostopattr __P((struct nfsrv_descript *,int,struct vattr *,struct mbuf **,char **));
-int netaddr_match __P((int,union nethostaddr *,struct mbuf *));
-int nfs_request __P((struct vnode *,struct mbuf *,int,struct proc *,struct ucred *,struct mbuf **,struct mbuf **,caddr_t *));
-int nfs_loadattrcache __P((struct vnode **,struct mbuf **,caddr_t *,struct vattr *));
-int nfs_namei __P((struct nameidata *,fhandle_t *,int,struct nfssvc_sock *,struct mbuf *,struct mbuf **,caddr_t *,struct vnode **,struct proc *,int,int));
-void nfsm_adj __P((struct mbuf *,int,int));
-int nfsm_mbuftouio __P((struct mbuf **,struct uio *,int,caddr_t *));
+int nfs_disct __P((struct mbuf **, caddr_t *, int, int, caddr_t *));
+int nfs_vinvalbuf __P((struct vnode *, int, struct ucred *, struct proc *,
+ int));
+int nfs_readrpc __P((struct vnode *, struct uio *, struct ucred *));
+int nfs_writerpc __P((struct vnode *, struct uio *, struct ucred *, int *,
+ int *));
+int nfs_readdirrpc __P((struct vnode *, struct uio *, struct ucred *));
+int nfs_asyncio __P((struct buf *, struct ucred *));
+int nfs_doio __P((struct buf *, struct ucred *, struct proc *));
+int nfs_readlinkrpc __P((struct vnode *, struct uio *, struct ucred *));
+int nfs_sigintr __P((struct nfsmount *, struct nfsreq *, struct proc *));
+int nfs_readdirplusrpc __P((struct vnode *, struct uio *, struct ucred *));
+int nfsm_disct __P((struct mbuf **, caddr_t *, int, int, caddr_t *));
+void nfsm_srvfattr __P((struct nfsrv_descript *, struct vattr *,
+ struct nfs_fattr *));
+void nfsm_srvwcc __P((struct nfsrv_descript *, int, struct vattr *, int,
+ struct vattr *, struct mbuf **, char **));
+void nfsm_srvpostopattr __P((struct nfsrv_descript *, int, struct vattr *,
+ struct mbuf **, char **));
+int netaddr_match __P((int, union nethostaddr *, struct sockaddr *));
+int nfs_request __P((struct vnode *, struct mbuf *, int, struct proc *,
+ struct ucred *, struct mbuf **, struct mbuf **,
+ caddr_t *));
+int nfs_loadattrcache __P((struct vnode **, struct mbuf **, caddr_t *,
+ struct vattr *));
+int nfs_namei __P((struct nameidata *, fhandle_t *, int,
+ struct nfssvc_sock *, struct sockaddr *, struct mbuf **,
+ caddr_t *, struct vnode **, struct proc *, int, int));
+void nfsm_adj __P((struct mbuf *, int, int));
+int nfsm_mbuftouio __P((struct mbuf **, struct uio *, int, caddr_t *));
void nfsrv_initcache __P((void));
-int nfs_getauth __P((struct nfsmount *,struct nfsreq *,struct ucred *,char **,int *,char *,int *,NFSKERBKEY_T));
-int nfs_getnickauth __P((struct nfsmount *,struct ucred *,char **,int *,char *,int));
-int nfs_savenickauth __P((struct nfsmount *,struct ucred *,int,NFSKERBKEY_T,struct mbuf **,char **,struct mbuf *));
-int nfs_adv __P((struct mbuf **,caddr_t *,int,int));
+int nfs_getauth __P((struct nfsmount *, struct nfsreq *, struct ucred *,
+ char **, int *, char *, int *, NFSKERBKEY_T));
+int nfs_getnickauth __P((struct nfsmount *, struct ucred *, char **,
+ int *, char *, int));
+int nfs_savenickauth __P((struct nfsmount *, struct ucred *, int,
+ NFSKERBKEY_T, struct mbuf **, char **,
+ struct mbuf *));
+int nfs_adv __P((struct mbuf **, caddr_t *, int, int));
void nfs_nhinit __P((void));
void nfs_timer __P((void*));
-u_long nfs_hash __P((nfsfh_t *,int));
-int nfsrv_dorec __P((struct nfssvc_sock *,struct nfsd *,struct nfsrv_descript **));
-int nfsrv_getcache __P((struct nfsrv_descript *,struct nfssvc_sock *,struct mbuf **));
-void nfsrv_updatecache __P((struct nfsrv_descript *,int,struct mbuf *));
+u_long nfs_hash __P((nfsfh_t *, int));
+int nfsrv_dorec __P((struct nfssvc_sock *, struct nfsd *,
+ struct nfsrv_descript **));
+int nfsrv_getcache __P((struct nfsrv_descript *, struct nfssvc_sock *,
+ struct mbuf **));
+void nfsrv_updatecache __P((struct nfsrv_descript *, int, struct mbuf *));
void nfsrv_cleancache __P((void));
-int nfs_connect __P((struct nfsmount *,struct nfsreq *));
+int nfs_connect __P((struct nfsmount *, struct nfsreq *));
void nfs_disconnect __P((struct nfsmount *));
-int nfs_getattrcache __P((struct vnode *,struct vattr *));
-int nfsm_strtmbuf __P((struct mbuf **,char **,char *,long));
-int nfs_bioread __P((struct vnode *,struct uio *,int,struct ucred *, int getpages));
-int nfsm_uiotombuf __P((struct uio *,struct mbuf **,int,caddr_t *));
+int nfs_getattrcache __P((struct vnode *, struct vattr *));
+int nfsm_strtmbuf __P((struct mbuf **, char **, char *, long));
+int nfs_bioread __P((struct vnode *, struct uio *, int, struct ucred *,
+ int));
+int nfsm_uiotombuf __P((struct uio *, struct mbuf **, int, caddr_t *));
void nfsrv_init __P((int));
void nfs_clearcommit __P((struct mount *));
int nfsrv_errmap __P((struct nfsrv_descript *, int));
-void nfsrvw_sort __P((gid_t [],int));
-void nfsrv_setcred __P((struct ucred *,struct ucred *));
-int nfs_writebp __P((struct buf *,int));
-int nfsrv_object_create __P(( struct vnode * ));
+void nfsrvw_sort __P((gid_t *, int));
+void nfsrv_setcred __P((struct ucred *, struct ucred *));
+int nfs_writebp __P((struct buf *, int));
+int nfsrv_object_create __P((struct vnode *));
void nfsrv_wakenfsd __P((struct nfssvc_sock *slp));
int nfsrv_writegather __P((struct nfsrv_descript **, struct nfssvc_sock *,
struct proc *, struct mbuf **));
int nfs_fsinfo __P((struct nfsmount *, struct vnode *, struct ucred *,
struct proc *p));
-int nfsrv3_access __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
+int nfsrv3_access __P((struct nfsrv_descript *nfsd,
+ struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
int nfsrv_commit __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
int nfsrv_create __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
-int nfsrv_fhtovp __P((fhandle_t *,int,struct vnode **,
- struct ucred *,struct nfssvc_sock *,struct mbuf *,
- int *,int,int));
+int nfsrv_fhtovp __P((fhandle_t *, int, struct vnode **, struct ucred *,
+ struct nfssvc_sock *, struct sockaddr *, int *,
+ int, int));
int nfsrv_setpublicfs __P((struct mount *, struct netexport *,
struct export_args *));
int nfs_ispublicfh __P((fhandle_t *));
@@ -655,7 +676,8 @@ int nfsrv_pathconf __P((struct nfsrv_descript *nfsd,
struct mbuf **mrq));
int nfsrv_read __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
-int nfsrv_readdir __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
+int nfsrv_readdir __P((struct nfsrv_descript *nfsd,
+ struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
int nfsrv_readdirplus __P((struct nfsrv_descript *nfsd,
struct nfssvc_sock *slp, struct proc *procp,
@@ -669,11 +691,14 @@ int nfsrv_rename __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
int nfsrv_rmdir __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
-int nfsrv_setattr __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
+int nfsrv_setattr __P((struct nfsrv_descript *nfsd,
+ struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
-int nfsrv_statfs __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
+int nfsrv_statfs __P((struct nfsrv_descript *nfsd,
+ struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
-int nfsrv_symlink __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
+int nfsrv_symlink __P((struct nfsrv_descript *nfsd,
+ struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
int nfsrv_write __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
diff --git a/sys/nfsclient/nfsmount.h b/sys/nfsclient/nfsmount.h
index d119a20..63de0ad 100644
--- a/sys/nfsclient/nfsmount.h
+++ b/sys/nfsclient/nfsmount.h
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfsmount.h 8.3 (Berkeley) 3/30/95
- * $Id: nfsmount.h,v 1.11 1997/02/22 09:42:48 peter Exp $
+ * $Id: nfsmount.h,v 1.12 1997/05/10 16:12:03 dfr Exp $
*/
@@ -56,7 +56,7 @@ struct nfsmount {
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 */
+ struct sockaddr *nm_nam; /* Addr of server */
int nm_timeo; /* Init timer for NFSMNT_DUMBTIMR */
int nm_retry; /* Max retries */
int nm_srtt[4]; /* Timers for rpcs */
diff --git a/sys/nfsclient/nfsstats.h b/sys/nfsclient/nfsstats.h
index 528a366..e1a4755 100644
--- a/sys/nfsclient/nfsstats.h
+++ b/sys/nfsclient/nfsstats.h
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs.h 8.4 (Berkeley) 5/1/95
- * $Id: nfs.h,v 1.28 1997/06/03 17:22:45 dfr Exp $
+ * $Id: nfs.h,v 1.29 1997/07/16 09:06:27 dfr Exp $
*/
#ifndef _NFS_NFS_H_
@@ -382,7 +382,7 @@ extern TAILQ_HEAD(nfs_reqq, nfsreq) nfs_reqq;
*/
union nethostaddr {
u_long had_inetaddr;
- struct mbuf *had_nam;
+ struct sockaddr *had_nam;
};
struct nfsuid {
@@ -406,7 +406,7 @@ struct nfsuid {
struct nfsrv_rec {
STAILQ_ENTRY(nfsrv_rec) nr_link;
- struct mbuf *nr_address;
+ struct sockaddr *nr_address;
struct mbuf *nr_packet;
};
@@ -415,7 +415,7 @@ struct nfssvc_sock {
TAILQ_HEAD(, nfsuid) ns_uidlruhead;
struct file *ns_fp;
struct socket *ns_so;
- struct mbuf *ns_nam;
+ struct sockaddr *ns_nam;
struct mbuf *ns_raw;
struct mbuf *ns_rawend;
STAILQ_HEAD(, nfsrv_rec) ns_rec;
@@ -480,8 +480,8 @@ struct nfsrv_descript {
struct mbuf *nd_mrep; /* Request mbuf list */
struct mbuf *nd_md; /* Current dissect mbuf */
struct mbuf *nd_mreq; /* Reply mbuf list */
- struct mbuf *nd_nam; /* and socket addr */
- struct mbuf *nd_nam2; /* return socket addr */
+ struct sockaddr *nd_nam; /* and socket addr */
+ struct sockaddr *nd_nam2; /* return socket addr */
caddr_t nd_dpos; /* Current dissect pos */
u_int32_t nd_procnum; /* RPC # */
int nd_stable; /* storage type */
@@ -567,70 +567,91 @@ extern int nfs_debug;
int nfs_init __P((struct vfsconf *vfsp));
int nfs_reply __P((struct nfsreq *));
int nfs_getreq __P((struct nfsrv_descript *,struct nfsd *,int));
-int nfs_send __P((struct socket *,struct mbuf *,struct mbuf *,struct nfsreq *));
-int nfs_rephead __P((int,struct nfsrv_descript *,struct nfssvc_sock *,int,int,u_quad_t *,struct mbuf **,struct mbuf **,caddr_t *));
-int nfs_sndlock __P((int *,struct nfsreq *));
+int nfs_send __P((struct socket *, struct sockaddr *, struct mbuf *,
+ struct nfsreq *));
+int nfs_rephead __P((int, struct nfsrv_descript *, struct nfssvc_sock *,
+ int, int, u_quad_t *, struct mbuf **, struct mbuf **,
+ caddr_t *));
+int nfs_sndlock __P((int *, struct nfsreq *));
void nfs_sndunlock __P((int *flagp));
-int nfs_disct __P((struct mbuf **,caddr_t *,int,int,caddr_t *));
-int nfs_vinvalbuf __P((struct vnode *,int,struct ucred *,struct proc *,int));
-int nfs_readrpc __P((struct vnode *,struct uio *,struct ucred *));
-int nfs_writerpc __P((struct vnode *,struct uio *,struct ucred *,int *,int *));
-int nfs_readdirrpc __P((register struct vnode *,struct uio *,struct ucred *));
-int nfs_asyncio __P((struct buf *,struct ucred *));
-int nfs_doio __P((struct buf *,struct ucred *,struct proc *));
-int nfs_readlinkrpc __P((struct vnode *,struct uio *,struct ucred *));
-int nfs_sigintr __P((struct nfsmount *,struct nfsreq *r,struct proc *));
-int nfs_readdirplusrpc __P((struct vnode *,register struct uio *,struct ucred *));
-int nfsm_disct __P((struct mbuf **,caddr_t *,int,int,caddr_t *));
-void nfsm_srvfattr __P((struct nfsrv_descript *,struct vattr *,struct nfs_fattr *));
-void nfsm_srvwcc __P((struct nfsrv_descript *,int,struct vattr *,int,struct vattr *,struct mbuf **,char **));
-void nfsm_srvpostopattr __P((struct nfsrv_descript *,int,struct vattr *,struct mbuf **,char **));
-int netaddr_match __P((int,union nethostaddr *,struct mbuf *));
-int nfs_request __P((struct vnode *,struct mbuf *,int,struct proc *,struct ucred *,struct mbuf **,struct mbuf **,caddr_t *));
-int nfs_loadattrcache __P((struct vnode **,struct mbuf **,caddr_t *,struct vattr *));
-int nfs_namei __P((struct nameidata *,fhandle_t *,int,struct nfssvc_sock *,struct mbuf *,struct mbuf **,caddr_t *,struct vnode **,struct proc *,int,int));
-void nfsm_adj __P((struct mbuf *,int,int));
-int nfsm_mbuftouio __P((struct mbuf **,struct uio *,int,caddr_t *));
+int nfs_disct __P((struct mbuf **, caddr_t *, int, int, caddr_t *));
+int nfs_vinvalbuf __P((struct vnode *, int, struct ucred *, struct proc *,
+ int));
+int nfs_readrpc __P((struct vnode *, struct uio *, struct ucred *));
+int nfs_writerpc __P((struct vnode *, struct uio *, struct ucred *, int *,
+ int *));
+int nfs_readdirrpc __P((struct vnode *, struct uio *, struct ucred *));
+int nfs_asyncio __P((struct buf *, struct ucred *));
+int nfs_doio __P((struct buf *, struct ucred *, struct proc *));
+int nfs_readlinkrpc __P((struct vnode *, struct uio *, struct ucred *));
+int nfs_sigintr __P((struct nfsmount *, struct nfsreq *, struct proc *));
+int nfs_readdirplusrpc __P((struct vnode *, struct uio *, struct ucred *));
+int nfsm_disct __P((struct mbuf **, caddr_t *, int, int, caddr_t *));
+void nfsm_srvfattr __P((struct nfsrv_descript *, struct vattr *,
+ struct nfs_fattr *));
+void nfsm_srvwcc __P((struct nfsrv_descript *, int, struct vattr *, int,
+ struct vattr *, struct mbuf **, char **));
+void nfsm_srvpostopattr __P((struct nfsrv_descript *, int, struct vattr *,
+ struct mbuf **, char **));
+int netaddr_match __P((int, union nethostaddr *, struct sockaddr *));
+int nfs_request __P((struct vnode *, struct mbuf *, int, struct proc *,
+ struct ucred *, struct mbuf **, struct mbuf **,
+ caddr_t *));
+int nfs_loadattrcache __P((struct vnode **, struct mbuf **, caddr_t *,
+ struct vattr *));
+int nfs_namei __P((struct nameidata *, fhandle_t *, int,
+ struct nfssvc_sock *, struct sockaddr *, struct mbuf **,
+ caddr_t *, struct vnode **, struct proc *, int, int));
+void nfsm_adj __P((struct mbuf *, int, int));
+int nfsm_mbuftouio __P((struct mbuf **, struct uio *, int, caddr_t *));
void nfsrv_initcache __P((void));
-int nfs_getauth __P((struct nfsmount *,struct nfsreq *,struct ucred *,char **,int *,char *,int *,NFSKERBKEY_T));
-int nfs_getnickauth __P((struct nfsmount *,struct ucred *,char **,int *,char *,int));
-int nfs_savenickauth __P((struct nfsmount *,struct ucred *,int,NFSKERBKEY_T,struct mbuf **,char **,struct mbuf *));
-int nfs_adv __P((struct mbuf **,caddr_t *,int,int));
+int nfs_getauth __P((struct nfsmount *, struct nfsreq *, struct ucred *,
+ char **, int *, char *, int *, NFSKERBKEY_T));
+int nfs_getnickauth __P((struct nfsmount *, struct ucred *, char **,
+ int *, char *, int));
+int nfs_savenickauth __P((struct nfsmount *, struct ucred *, int,
+ NFSKERBKEY_T, struct mbuf **, char **,
+ struct mbuf *));
+int nfs_adv __P((struct mbuf **, caddr_t *, int, int));
void nfs_nhinit __P((void));
void nfs_timer __P((void*));
-u_long nfs_hash __P((nfsfh_t *,int));
-int nfsrv_dorec __P((struct nfssvc_sock *,struct nfsd *,struct nfsrv_descript **));
-int nfsrv_getcache __P((struct nfsrv_descript *,struct nfssvc_sock *,struct mbuf **));
-void nfsrv_updatecache __P((struct nfsrv_descript *,int,struct mbuf *));
+u_long nfs_hash __P((nfsfh_t *, int));
+int nfsrv_dorec __P((struct nfssvc_sock *, struct nfsd *,
+ struct nfsrv_descript **));
+int nfsrv_getcache __P((struct nfsrv_descript *, struct nfssvc_sock *,
+ struct mbuf **));
+void nfsrv_updatecache __P((struct nfsrv_descript *, int, struct mbuf *));
void nfsrv_cleancache __P((void));
-int nfs_connect __P((struct nfsmount *,struct nfsreq *));
+int nfs_connect __P((struct nfsmount *, struct nfsreq *));
void nfs_disconnect __P((struct nfsmount *));
-int nfs_getattrcache __P((struct vnode *,struct vattr *));
-int nfsm_strtmbuf __P((struct mbuf **,char **,char *,long));
-int nfs_bioread __P((struct vnode *,struct uio *,int,struct ucred *, int getpages));
-int nfsm_uiotombuf __P((struct uio *,struct mbuf **,int,caddr_t *));
+int nfs_getattrcache __P((struct vnode *, struct vattr *));
+int nfsm_strtmbuf __P((struct mbuf **, char **, char *, long));
+int nfs_bioread __P((struct vnode *, struct uio *, int, struct ucred *,
+ int));
+int nfsm_uiotombuf __P((struct uio *, struct mbuf **, int, caddr_t *));
void nfsrv_init __P((int));
void nfs_clearcommit __P((struct mount *));
int nfsrv_errmap __P((struct nfsrv_descript *, int));
-void nfsrvw_sort __P((gid_t [],int));
-void nfsrv_setcred __P((struct ucred *,struct ucred *));
-int nfs_writebp __P((struct buf *,int));
-int nfsrv_object_create __P(( struct vnode * ));
+void nfsrvw_sort __P((gid_t *, int));
+void nfsrv_setcred __P((struct ucred *, struct ucred *));
+int nfs_writebp __P((struct buf *, int));
+int nfsrv_object_create __P((struct vnode *));
void nfsrv_wakenfsd __P((struct nfssvc_sock *slp));
int nfsrv_writegather __P((struct nfsrv_descript **, struct nfssvc_sock *,
struct proc *, struct mbuf **));
int nfs_fsinfo __P((struct nfsmount *, struct vnode *, struct ucred *,
struct proc *p));
-int nfsrv3_access __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
+int nfsrv3_access __P((struct nfsrv_descript *nfsd,
+ struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
int nfsrv_commit __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
int nfsrv_create __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
-int nfsrv_fhtovp __P((fhandle_t *,int,struct vnode **,
- struct ucred *,struct nfssvc_sock *,struct mbuf *,
- int *,int,int));
+int nfsrv_fhtovp __P((fhandle_t *, int, struct vnode **, struct ucred *,
+ struct nfssvc_sock *, struct sockaddr *, int *,
+ int, int));
int nfsrv_setpublicfs __P((struct mount *, struct netexport *,
struct export_args *));
int nfs_ispublicfh __P((fhandle_t *));
@@ -655,7 +676,8 @@ int nfsrv_pathconf __P((struct nfsrv_descript *nfsd,
struct mbuf **mrq));
int nfsrv_read __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
-int nfsrv_readdir __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
+int nfsrv_readdir __P((struct nfsrv_descript *nfsd,
+ struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
int nfsrv_readdirplus __P((struct nfsrv_descript *nfsd,
struct nfssvc_sock *slp, struct proc *procp,
@@ -669,11 +691,14 @@ int nfsrv_rename __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
int nfsrv_rmdir __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
-int nfsrv_setattr __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
+int nfsrv_setattr __P((struct nfsrv_descript *nfsd,
+ struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
-int nfsrv_statfs __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
+int nfsrv_statfs __P((struct nfsrv_descript *nfsd,
+ struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
-int nfsrv_symlink __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
+int nfsrv_symlink __P((struct nfsrv_descript *nfsd,
+ struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
int nfsrv_write __P((struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
struct proc *procp, struct mbuf **mrq));
OpenPOWER on IntegriCloud