xref: /nrf52832-nimble/rt-thread/examples/file/seekdir.c (revision 042d53a763ad75cb1465103098bb88c245d95138)
1 /*
2  * File      : seekdir.c
3  * This file is part of RT-TestCase in RT-Thread RTOS
4  * COPYRIGHT (C) 2011, RT-Thread Development Team
5  *
6  * The license and distribution terms for this file may be
7  * found in the file LICENSE in this distribution or at
8  * http://www.rt-thread.org/license/LICENSE
9  *
10  * Change Logs:
11  * Date           Author       Notes
12  * 2011-06-02     Bernard      first version
13  */
14 #include <dfs_posix.h>
15 
16 void seekdir_test(void)
17 {
18 	DIR * dirp;
19 	long save3 = 0;
20 	long cur;
21 	int i = 0;
22 	struct dirent *dp;
23 
24 	dirp = opendir ("/");
25 	save3 = telldir(dirp);
26 	for (dp = readdir(dirp); dp != RT_NULL; dp = readdir(dirp))
27 	{
28 		rt_kprintf("direntry: %s\n", dp->d_name);
29 
30 		/* ���������Ŀ¼���Ŀ¼ָ�� */
31 		if (i++ == 3)
32 		{
33 			save3 = telldir(dirp);
34 		}
35 	}
36 
37 	/* �ص��ղű���ĵ�����Ŀ¼���Ŀ¼ָ�� */
38 	seekdir (dirp, save3);
39 	rt_kprintf("seek dientry to: %d\n", save3);
40 	for (dp = readdir(dirp); dp != RT_NULL; dp = readdir(dirp))
41 	{
42 		rt_kprintf("direntry: %s\n", dp->d_name);
43 	}
44 
45 	/* �ر�Ŀ¼ */
46 	closedir (dirp);
47 }
48 
49 #include <finsh.h>
50 FINSH_FUNCTION_EXPORT(seekdir_test, perform directory seek test);
51