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