NSF update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4695 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
9e491b4b8e
commit
2092af7208
@ -58,6 +58,7 @@
|
|||||||
# include <sys/socket.h>
|
# include <sys/socket.h>
|
||||||
# include <netinet/in.h>
|
# include <netinet/in.h>
|
||||||
# include <nuttx/fs/nfs.h>
|
# include <nuttx/fs/nfs.h>
|
||||||
|
# include <nuttx/kmalloc.h>
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
@ -1224,8 +1225,8 @@ int cmd_nfsmount(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
|||||||
struct nfs_args data;
|
struct nfs_args data;
|
||||||
FAR char *address;
|
FAR char *address;
|
||||||
FAR char *target;
|
FAR char *target;
|
||||||
FAR char *protocol = NULL;
|
FAR char *protocol;
|
||||||
struct sockaddr_in sin;
|
struct sockaddr_in *sin;
|
||||||
bool badarg = false;
|
bool badarg = false;
|
||||||
#ifdef CONFIG_NET_IPv6
|
#ifdef CONFIG_NET_IPv6
|
||||||
struct in6_addr inaddr;
|
struct in6_addr inaddr;
|
||||||
@ -1337,26 +1338,35 @@ int cmd_nfsmount(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
|||||||
return ERROR;
|
return ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Create an instance of the sockaddr_in state structure */
|
||||||
|
|
||||||
|
sin = (struct sockaddr_in *)kzalloc(sizeof(struct sockaddr_in));
|
||||||
|
if (!sin)
|
||||||
|
{
|
||||||
|
nsh_output(vtbl, g_fmtcmdoutofmemory, argv[0]);
|
||||||
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
/* Place all of the NFS arguements into the nfs_args structure */
|
/* Place all of the NFS arguements into the nfs_args structure */
|
||||||
|
|
||||||
memset(&data, 0, sizeof(data));
|
memset(&data, 0, sizeof(data));
|
||||||
data.version = NFS_ARGSVERSION;
|
data.version = NFS_ARGSVERSION;
|
||||||
data.proto = (tcp) ? IPPROTO_TCP : IPPROTO_UDP;
|
data.proto = (tcp) ? IPPROTO_TCP : IPPROTO_UDP;
|
||||||
data.sotype = (tcp) ? SOCK_STREAM : SOCK_DGRAM;
|
data.sotype = (tcp) ? SOCK_STREAM : SOCK_DGRAM;
|
||||||
sin.sin_family = AF_INET;
|
sin->sin_family = AF_INET;
|
||||||
sin.sin_port = htons(NFS_PORT);
|
sin->sin_port = htons(NFS_PORT);
|
||||||
sin.sin_addr = inaddr;
|
sin->sin_addr = inaddr;
|
||||||
data.addr = (struct sockaddr *)&sin;
|
data.addr = (struct sockaddr *)sin;
|
||||||
data.addrlen = sizeof(struct sockaddr);
|
data.addrlen = sizeof(struct sockaddr);
|
||||||
data.flags = NFSMNT_NFSV3;
|
data.flags = NFSMNT_NFSV3;
|
||||||
data.retrans = 3;
|
data.retrans = 3;
|
||||||
data.acregmin = 3;
|
data.acregmin = 3;
|
||||||
data.acregmax = 60;
|
data.acregmax = 60;
|
||||||
data.acdirmin = 30;
|
data.acdirmin = 30;
|
||||||
data.acdirmax = 60;
|
data.acdirmax = 60;
|
||||||
data.rsize = 0;
|
data.rsize = 0;
|
||||||
data.wsize = 0;
|
data.wsize = 0;
|
||||||
data.timeo = (tcp) ? 70 : 7;
|
data.timeo = (tcp) ? 70 : 7;
|
||||||
|
|
||||||
/* Perform the mount */
|
/* Perform the mount */
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user