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