change the timeout of NFS link; add copy function in finsh shell.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1138 bbd45198-f89e-11dd-88c7-29a3b14d5316
This commit is contained in:
parent
a7bf529851
commit
fca005fe0c
|
@ -71,7 +71,7 @@ CLIENT *clnt_create (const char *hostname, const unsigned long prog,
|
||||||
tv.tv_usec = 0;
|
tv.tv_usec = 0;
|
||||||
client = clntudp_create(&sin, prog, vers, tv, &sock);
|
client = clntudp_create(&sin, prog, vers, tv, &sock);
|
||||||
if (client == NULL) return NULL;
|
if (client == NULL) return NULL;
|
||||||
tv.tv_sec = 25;
|
tv.tv_sec = 1;
|
||||||
clnt_control(client, CLSET_TIMEOUT, (char*)&tv);
|
clnt_control(client, CLSET_TIMEOUT, (char*)&tv);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -534,6 +534,50 @@ void cat(const char* filename)
|
||||||
}
|
}
|
||||||
FINSH_FUNCTION_EXPORT(cat, print file)
|
FINSH_FUNCTION_EXPORT(cat, print file)
|
||||||
|
|
||||||
|
#define BUF_SZ 4096
|
||||||
|
void copy(const char* src, const char* dst)
|
||||||
|
{
|
||||||
|
struct dfs_fd src_fd;
|
||||||
|
rt_uint8_t *block_ptr;
|
||||||
|
rt_uint32_t read_bytes, write_bytes;
|
||||||
|
|
||||||
|
block_ptr = rt_malloc(BUF_SZ);
|
||||||
|
if (block_ptr == RT_NULL)
|
||||||
|
{
|
||||||
|
rt_kprintf("out of memory\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dfs_file_open(&src_fd, src, DFS_O_RDONLY) < 0)
|
||||||
|
{
|
||||||
|
rt_free(block_ptr);
|
||||||
|
rt_kprintf("Read %s failed\n", src);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (dfs_file_open(&fd, dst, DFS_O_WRONLY | DFS_O_CREAT) < 0)
|
||||||
|
{
|
||||||
|
rt_free(block_ptr);
|
||||||
|
dfs_file_close(&src_fd);
|
||||||
|
|
||||||
|
rt_kprintf("Write %s failed\n", dst);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
read_bytes = dfs_file_read(&src_fd, block_ptr, BUF_SZ);
|
||||||
|
if (read_bytes > 0)
|
||||||
|
{
|
||||||
|
dfs_file_write(&fd, block_ptr, read_bytes);
|
||||||
|
}
|
||||||
|
} while (read_bytes > 0);
|
||||||
|
|
||||||
|
dfs_file_close(&src_fd);
|
||||||
|
dfs_file_close(&fd);
|
||||||
|
rt_free(block_ptr);
|
||||||
|
}
|
||||||
|
FINSH_FUNCTION_EXPORT(copy, copy source file to destination file)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
/* @} */
|
/* @} */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue