diff options
author | Ralf Corsepius <ralf.corsepius@rtems.org> | 2003-11-11 00:59:49 +0000 |
---|---|---|
committer | Ralf Corsepius <ralf.corsepius@rtems.org> | 2003-11-11 00:59:49 +0000 |
commit | ff6ab1b594d9f073ece9b7fedf1f6977f52aeee5 (patch) | |
tree | f0b2e3afb63f53a922a0c42137a6d6763548edc5 /c/src/tests/psxtests/psxreaddir/test.c | |
parent | 2003-11-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff) | |
download | rtems-ff6ab1b594d9f073ece9b7fedf1f6977f52aeee5.tar.bz2 |
2003-11-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* .cvsignore: Remove.
* ChangeLog: Remove.
* Makefile.am: Remove.
* configure.ac: Remove.
* psxtests.am: Remove.
* include/.cvsignore: Remove.
* include/Makefile.am: Remove.
* include/pmacros.h: Remove.
* psx01/.cvsignore: Remove.
* psx01/Makefile.am: Remove.
* psx01/init.c: Remove.
* psx01/psx01.scn: Remove.
* psx01/system.h: Remove.
* psx01/task.c: Remove.
* psx02/.cvsignore: Remove.
* psx02/Makefile.am: Remove.
* psx02/init.c: Remove.
* psx02/psx02.scn: Remove.
* psx02/system.h: Remove.
* psx02/task.c: Remove.
* psx03/.cvsignore: Remove.
* psx03/Makefile.am: Remove.
* psx03/init.c: Remove.
* psx03/psx03.scn: Remove.
* psx03/system.h: Remove.
* psx03/task.c: Remove.
* psx04/.cvsignore: Remove.
* psx04/Makefile.am: Remove.
* psx04/init.c: Remove.
* psx04/psx04.scn: Remove.
* psx04/system.h: Remove.
* psx04/task1.c: Remove.
* psx04/task2.c: Remove.
* psx04/task3.c: Remove.
* psx05/.cvsignore: Remove.
* psx05/Makefile.am: Remove.
* psx05/init.c: Remove.
* psx05/psx05.scn: Remove.
* psx05/system.h: Remove.
* psx05/task.c: Remove.
* psx05/task2.c: Remove.
* psx05/task3.c: Remove.
* psx06/.cvsignore: Remove.
* psx06/Makefile.am: Remove.
* psx06/init.c: Remove.
* psx06/psx06.scn: Remove.
* psx06/system.h: Remove.
* psx06/task.c: Remove.
* psx06/task2.c: Remove.
* psx07/.cvsignore: Remove.
* psx07/Makefile.am: Remove.
* psx07/init.c: Remove.
* psx07/psx07.scn: Remove.
* psx07/system.h: Remove.
* psx07/task.c: Remove.
* psx08/.cvsignore: Remove.
* psx08/Makefile.am: Remove.
* psx08/init.c: Remove.
* psx08/psx08.scn: Remove.
* psx08/system.h: Remove.
* psx08/task1.c: Remove.
* psx08/task2.c: Remove.
* psx08/task3.c: Remove.
* psx09/.cvsignore: Remove.
* psx09/Makefile.am: Remove.
* psx09/init.c: Remove.
* psx09/psx09.scn: Remove.
* psx09/system.h: Remove.
* psx10/.cvsignore: Remove.
* psx10/Makefile.am: Remove.
* psx10/init.c: Remove.
* psx10/psx10.scn: Remove.
* psx10/system.h: Remove.
* psx10/task.c: Remove.
* psx10/task2.c: Remove.
* psx10/task3.c: Remove.
* psx11/.cvsignore: Remove.
* psx11/Makefile.am: Remove.
* psx11/init.c: Remove.
* psx11/psx11.scn: Remove.
* psx11/system.h: Remove.
* psx11/task.c: Remove.
* psx12/.cvsignore: Remove.
* psx12/Makefile.am: Remove.
* psx12/init.c: Remove.
* psx12/psx12.scn: Remove.
* psx12/system.h: Remove.
* psx12/task.c: Remove.
* psx13/.cvsignore: Remove.
* psx13/Makefile.am: Remove.
* psx13/main.c: Remove.
* psx13/psx13.scn: Remove.
* psx13/test.c: Remove.
* psxcancel/.cvsignore: Remove.
* psxcancel/Makefile.am: Remove.
* psxcancel/init.c: Remove.
* psxcancel/psxcancel.scn: Remove.
* psxchroot01/.cvsignore: Remove.
* psxchroot01/Makefile.am: Remove.
* psxchroot01/main.c: Remove.
* psxchroot01/psxchroot01.scn: Remove.
* psxchroot01/test.c: Remove.
* psxfile01/.cvsignore: Remove.
* psxfile01/Makefile.am: Remove.
* psxfile01/main.c: Remove.
* psxfile01/psxfile01.scn: Remove.
* psxfile01/test.c: Remove.
* psxfile01/test_cat.c: Remove.
* psxfile01/test_extend.c: Remove.
* psxfile01/test_write.c: Remove.
* psxhdrs/.cvsignore: Remove.
* psxhdrs/Makefile.am: Remove.
* psxhdrs/clock01.c: Remove.
* psxhdrs/clock02.c: Remove.
* psxhdrs/clock03.c: Remove.
* psxhdrs/clock04.c: Remove.
* psxhdrs/clock05.c: Remove.
* psxhdrs/clock06.c: Remove.
* psxhdrs/cond01.c: Remove.
* psxhdrs/cond02.c: Remove.
* psxhdrs/cond03.c: Remove.
* psxhdrs/cond04.c: Remove.
* psxhdrs/cond05.c: Remove.
* psxhdrs/cond06.c: Remove.
* psxhdrs/cond07.c: Remove.
* psxhdrs/cond08.c: Remove.
* psxhdrs/cond09.c: Remove.
* psxhdrs/cond10.c: Remove.
* psxhdrs/key01.c: Remove.
* psxhdrs/key02.c: Remove.
* psxhdrs/key03.c: Remove.
* psxhdrs/key04.c: Remove.
* psxhdrs/mutex01.c: Remove.
* psxhdrs/mutex02.c: Remove.
* psxhdrs/mutex03.c: Remove.
* psxhdrs/mutex04.c: Remove.
* psxhdrs/mutex05.c: Remove.
* psxhdrs/mutex06.c: Remove.
* psxhdrs/mutex07.c: Remove.
* psxhdrs/mutex08.c: Remove.
* psxhdrs/mutex09.c: Remove.
* psxhdrs/mutex10.c: Remove.
* psxhdrs/mutex11.c: Remove.
* psxhdrs/mutex12.c: Remove.
* psxhdrs/mutex13.c: Remove.
* psxhdrs/mutex14.c: Remove.
* psxhdrs/mutex15.c: Remove.
* psxhdrs/mutex16.c: Remove.
* psxhdrs/proc01.c: Remove.
* psxhdrs/proc02.c: Remove.
* psxhdrs/proc03.c: Remove.
* psxhdrs/proc04.c: Remove.
* psxhdrs/proc05.c: Remove.
* psxhdrs/proc06.c: Remove.
* psxhdrs/proc07.c: Remove.
* psxhdrs/proc08.c: Remove.
* psxhdrs/proc09.c: Remove.
* psxhdrs/proc10.c: Remove.
* psxhdrs/proc11.c: Remove.
* psxhdrs/proc12.c: Remove.
* psxhdrs/proc13.c: Remove.
* psxhdrs/proc14.c: Remove.
* psxhdrs/pthread01.c: Remove.
* psxhdrs/pthread02.c: Remove.
* psxhdrs/pthread03.c: Remove.
* psxhdrs/pthread04.c: Remove.
* psxhdrs/pthread05.c: Remove.
* psxhdrs/pthread06.c: Remove.
* psxhdrs/pthread07.c: Remove.
* psxhdrs/pthread08.c: Remove.
* psxhdrs/pthread09.c: Remove.
* psxhdrs/pthread10.c: Remove.
* psxhdrs/pthread11.c: Remove.
* psxhdrs/pthread12.c: Remove.
* psxhdrs/pthread13.c: Remove.
* psxhdrs/pthread14.c: Remove.
* psxhdrs/pthread15.c: Remove.
* psxhdrs/pthread16.c: Remove.
* psxhdrs/pthread17.c: Remove.
* psxhdrs/pthread18.c: Remove.
* psxhdrs/pthread19.c: Remove.
* psxhdrs/pthread20.c: Remove.
* psxhdrs/pthread21.c: Remove.
* psxhdrs/pthread22.c: Remove.
* psxhdrs/pthread23.c: Remove.
* psxhdrs/pthread24.c: Remove.
* psxhdrs/pthread25.c: Remove.
* psxhdrs/pthread26.c: Remove.
* psxhdrs/pthread27.c: Remove.
* psxhdrs/pthread28.c: Remove.
* psxhdrs/pthread29.c: Remove.
* psxhdrs/pthread30.c: Remove.
* psxhdrs/pthread31.c: Remove.
* psxhdrs/pthread32.c: Remove.
* psxhdrs/pthread33.c: Remove.
* psxhdrs/pthread34.c: Remove.
* psxhdrs/pthread35.c: Remove.
* psxhdrs/pthread36.c: Remove.
* psxhdrs/sched01.c: Remove.
* psxhdrs/sched02.c: Remove.
* psxhdrs/sched03.c: Remove.
* psxhdrs/sched04.c: Remove.
* psxhdrs/sched05.c: Remove.
* psxhdrs/sched06.c: Remove.
* psxhdrs/sched07.c: Remove.
* psxhdrs/sched08.c: Remove.
* psxhdrs/signal01.c: Remove.
* psxhdrs/signal02.c: Remove.
* psxhdrs/signal03.c: Remove.
* psxhdrs/signal04.c: Remove.
* psxhdrs/signal05.c: Remove.
* psxhdrs/signal06.c: Remove.
* psxhdrs/signal07.c: Remove.
* psxhdrs/signal08.c: Remove.
* psxhdrs/signal09.c: Remove.
* psxhdrs/signal10.c: Remove.
* psxhdrs/signal11.c: Remove.
* psxhdrs/signal12.c: Remove.
* psxhdrs/signal13.c: Remove.
* psxhdrs/signal14.c: Remove.
* psxhdrs/signal15.c: Remove.
* psxhdrs/signal16.c: Remove.
* psxhdrs/signal17.c: Remove.
* psxhdrs/signal18.c: Remove.
* psxhdrs/signal19.c: Remove.
* psxhdrs/signal20.c: Remove.
* psxhdrs/signal21.c: Remove.
* psxhdrs/signal22.c: Remove.
* psxhdrs/signal23.c: Remove.
* psxhdrs/sync01.c: Remove.
* psxhdrs/sync02.c: Remove.
* psxhdrs/sync03.c: Remove.
* psxhdrs/time01.c: Remove.
* psxhdrs/time02.c: Remove.
* psxhdrs/time03.c: Remove.
* psxhdrs/time04.c: Remove.
* psxhdrs/time05.c: Remove.
* psxhdrs/time06.c: Remove.
* psxhdrs/time07.c: Remove.
* psxhdrs/time08.c: Remove.
* psxhdrs/time09.c: Remove.
* psxhdrs/time10.c: Remove.
* psxhdrs/time11.c: Remove.
* psxhdrs/time12.c: Remove.
* psxhdrs/time13.c: Remove.
* psxhdrs/timer01.c: Remove.
* psxhdrs/timer02.c: Remove.
* psxhdrs/timer03.c: Remove.
* psxhdrs/timer04.c: Remove.
* psxhdrs/timer05.c: Remove.
* psxhdrs/timer06.c: Remove.
* psxhdrs/timer07.c: Remove.
* psxmount/.cvsignore: Remove.
* psxmount/Makefile.am: Remove.
* psxmount/main.c: Remove.
* psxmount/psxmount.scn: Remove.
* psxmount/test.c: Remove.
* psxmsgq01/.cvsignore: Remove.
* psxmsgq01/Makefile.am: Remove.
* psxmsgq01/init.c: Remove.
* psxmsgq01/psxmsgq01.scn: Remove.
* psxmsgq01/system.h: Remove.
* psxreaddir/.cvsignore: Remove.
* psxreaddir/Makefile.am: Remove.
* psxreaddir/main.c: Remove.
* psxreaddir/psxreaddir.scn: Remove.
* psxreaddir/test.c: Remove.
* psxsem01/.cvsignore: Remove.
* psxsem01/Makefile.am: Remove.
* psxsem01/init.c: Remove.
* psxsem01/psxsem01.scn: Remove.
* psxsem01/system.h: Remove.
* psxstat/.cvsignore: Remove.
* psxstat/Makefile.am: Remove.
* psxstat/main.c: Remove.
* psxstat/psxstat.scn: Remove.
* psxstat/test.c: Remove.
* psxtime/.cvsignore: Remove.
* psxtime/Makefile.am: Remove.
* psxtime/main.c: Remove.
* psxtime/psxtime.scn: Remove.
* psxtime/test.c: Remove.
* psxtimer/.cvsignore: Remove.
* psxtimer/Makefile.am: Remove.
* psxtimer/psxtimer.c: Remove.
* psxtimer/psxtimer.scn: Remove.
* psxtimer/system.h: Remove.
Diffstat (limited to 'c/src/tests/psxtests/psxreaddir/test.c')
-rw-r--r-- | c/src/tests/psxtests/psxreaddir/test.c | 503 |
1 files changed, 0 insertions, 503 deletions
diff --git a/c/src/tests/psxtests/psxreaddir/test.c b/c/src/tests/psxtests/psxreaddir/test.c deleted file mode 100644 index bc790c5233..0000000000 --- a/c/src/tests/psxtests/psxreaddir/test.c +++ /dev/null @@ -1,503 +0,0 @@ -/* - * This is a native test to explore how the readdir() family works. - * Newlib supports the following readdir() family members: - * - * closedir() - - * readdir() - - * scandir() - - * opendir() - - * rewinddir() - - * telldir() - BSD not in POSIX - * seekdir() - BSD not in POSIX - * - * - * seekdir() takes an offset which is a byte offset. The Linux - * implementation of this appears to seek to the ((off/DIRENT_SIZE) + 1) - * record where DIRENT_SIZE seems to be 12 bytes. - * - * - * - * $Id$ - */ - -#include <stdio.h> -#include <sys/types.h> -#include <fcntl.h> -#include <dirent.h> -#include <string.h> -#include <assert.h> -#include <unistd.h> -#include <errno.h> -#include <imfs.h> -#include <assert.h> - -DIR *directory; -DIR *directory2; -DIR *directory3; -DIR *directory_not; - -#ifndef __P -#define __P(args)() -#endif - -/* -int scandir ( const char *dirname, - struct dirent *** namelist, - int (*select) __P((struct dirent *)), - int (*dcomp) __P((const struct dirent **, const struct dirent **)) -); -*/ - -#if defined(__rtems__) -#define d_type d_reclen -#include <pmacros.h> -#endif - -void printdir( DIR *directory ) -{ - struct dirent *d; - - printf( "%-20s %8s %8s %8s %4s\n", - "name", " inode", " offset", "reclen", " type" ); - d = readdir(directory); - - while (d) { - printf( "%-20s %8d %8d %6d 0x%04x\n", - d->d_name, (int)d->d_ino, (int)d->d_off, d->d_reclen, d->d_type ); - d = readdir(directory); - - } -} - -void complete_printdir( char *path ) -{ - DIR *the_dir; - int status; - - the_dir = opendir( path ); - assert( the_dir ); - printdir( the_dir ); - status = closedir( the_dir ); -} - -char *many_files[] = { - "a", - "b", - "c", - "d", - "e", - "f", - "g", - "h", - "i", - "j", - "k", - "l", - "m", - "n", - "o", - "p", - "q", - "r", - "s", - "t", - "u", - "v", - "w", - "x", - "y", - "z", - "aa", - "ab", - "ac", - "ad", - "ae", - "af", - "ag", - "ah", - "ai", - "aj", - "ak", - "al", - "am", - "an", - "ao", - "ap", - "aq", - "ar" -}; - -char *dnames[] = { - "a", - "b", - "c", - "d", - "e", - "f", - "c/y", - "c/z", - "c/x", - "c/y/a3333", - "c/y/j123", - "END" -}; - -int select1 ( struct dirent *entry ) -{ - printf("SCANDIR SELECT1 accepts nodename: %s\n", entry->d_name ); - return 1; -} - -int select2 ( struct dirent *entry ) -{ - if( strcmp( entry->d_name, "y") == 0 ) { - printf("SCANDIR SELECT accepted nodename: %s\n", entry->d_name ); - return 1; - } - printf("SCANDIR SELECT rejected nodename: %s\n", entry->d_name ); - return 0; -} - -int compare_ascending(const struct dirent **a, const struct dirent **b ) -{ - int i; - - i = strcmp ( - (char *)((struct dirent *)(*a)->d_name), - (char *)((struct dirent *)(*b)->d_name) - ); - return i; -} - - -int compare_descending( const struct dirent **a, const struct dirent **b ) -{ - int i; - - i = strcmp ( - (char *)((const struct dirent *)(*b)->d_name), - (char *)((const struct dirent *)(*a)->d_name) - ); - - return i; -} - -void test_across_mount() -{ - rtems_filesystem_mount_table_entry_t *mt_entry; - int status; - - /* - * Verify Readdir works correctly over mount points. - */ - - printf("Validate readdir across mount point\n"); - assert( mkdir( "/imfs", 0777 ) == 0 ); - assert( mkdir( "/imfs/should_be_hidden", 0777 ) == 0 ); - complete_printdir("/imfs" ); - printf("Attempting to mount IMFS file system at /imfs \n"); - status = mount( - &mt_entry, - &IMFS_ops, - RTEMS_FILESYSTEM_READ_WRITE, - NULL, - "/imfs" ); - assert( status == 0 ); - if( mt_entry == NULL ){ - printf(" NULL mount table entry was returned\n"); - } - printf( "create /imfs/testdir and /imfs/testdir/testsubdir\n"); - - status = mkdir( "/imfs/testdir", 0777 ); - assert( status == 0 ); - status = mkdir( "/imfs/testdir/testsubdir", 0777 ); - assert( status == 0 ); - - complete_printdir("/imfs" ); - complete_printdir("/imfs/" ); - complete_printdir("/imfs/." ); - complete_printdir("/imfs/testdir" ); - complete_printdir("/imfs/testdir/.." ); -} - -#if defined(__rtems__) -int test_main(void) -#else -int main( - int argc, - char **argv -) -#endif -{ - int fd; - int i; - int status; - off_t off; - struct dirent *d_not; - struct dirent **namelist; - struct stat s; - - - printf( "\n\n*** READDIR TEST ***\n" ); - - printf( "\nchdir to the root directory\n" ); - status = chdir( "/" ); - printf( "chdir() status : %d\n\n", status ); - - printf( "\nCreating a series of directories under /\n" ); - i=0; - while ( strcmp(dnames[i], "END") != 0 ) - { - status = mkdir( dnames[i], 0x1c0 ); - printf("Creating directory: %s %d %d ", dnames[i], status, errno ); - if ( errno == 0 ) - printf(" Success\n"); - else - printf(" Failure\n"); - - i++; - } - - /* - * Create files under many and open the directory. - */ - - printf("Create a lot of files\n"); - status = mkdir( "/many", 0x1c0 ); - status = chdir( "/many" ); - for (i = 0; i<44; i++) { - printf("Create %s\n", many_files[i]); - fd = open (many_files[i], O_CREAT, S_IRWXU); - close (fd); - } - printf("Open /many and print the directory\n"); - directory_not = opendir( "/many" ); - printdir ( directory_not ); - d_not = readdir( directory_not ); - - printf("open /b/myfile\n"); - fd = open ("/b/my_file", O_CREAT, S_IRWXU); - assert( fd != -1 ); - close (fd); - - printf("scandir a file status: "); - status = scandir( - "/b/my_file", - &namelist, - select1, - NULL - ); - printf("%d\n", status); - - printf("Open /b/new_file\n"); - fd = open( "/b/new_file", O_CREAT, S_IRWXU ); - assert( fd != -1 ); - - printf("fcntl F_SETFD should return 0\n"); - status = fcntl( fd, F_SETFD, 1 ); - assert( status == 0 ); - - printf("fcntl F_SETFD should return 1\n"); - status = fcntl( fd, F_GETFD, 1 ); - assert( status == 1 ); - -#if 0 - printf("fcntl F_DUPFD should return 0\n"); - status = fcntl( fd, F_DUPFD, 0 ); - assert ( status == 0 ); -#else - printf("fcntl F_DUPFD should return 0 -- skip until implemented\n"); -#endif - - printf("fcntl F_GETFL returns current flags\n"); - status = fcntl( fd, F_GETFL, 1 ); - printf("fcntl F_GETFL returned 0x%x\n", status ); - assert( status != -1 ); - - printf("fcntl F_SETFL to add O_APPEND and O_NONBLOCK\n"); - status = fcntl( fd, F_SETFL, O_APPEND|O_NONBLOCK ); - assert ( status != -1 ); - - printf("fcntl F_GETFL return current flags to see changes\n"); - status = fcntl( fd, F_GETFL, 1 ); - printf("fcntl F_GETFL returned 0x%x\n", status ); - assert( status != -1 ); - - printf("fcntl F_GETLK should return -1\n"); - status = fcntl( fd, F_GETLK, 1 ); - assert ( status == -1 ); - - printf("fcntl F_SETLK should return -1\n"); - status = fcntl( fd, F_SETLK, 1 ); - assert ( status == -1 ); - - printf("fcntl F_SETLKW should return -1\n"); - status = fcntl( fd, F_SETLKW, 1 ); - assert ( status == -1 ); - - printf("fcntl F_SETOWN should return -1\n"); - status = fcntl( fd, F_SETOWN, 1 ); - assert ( status == -1 ); - - printf("fcntl F_GETOWN should return -1\n"); - status = fcntl( fd, F_GETOWN, 1 ); - assert ( status == -1 ); - - printf("fcntl invalid argument should return -1\n"); - status = fcntl( fd, 0xb, 1 ); - printf("Status %d\n",status); - assert( status == -1 ); - - printf("opendir and readdir /b/myfile\n"); - directory_not = opendir ("/b/my_file"); - d_not = readdir(directory_not); - - printf("opendir and readdir\n"); - directory_not = opendir ("/a"); - d_not = readdir (directory_not); - - printf("chdir to /b/myfile\n"); - status = chdir ("/b/my_file"); - assert (status == -1); - - printf( "\nPerforming stat of directory /\n"); - status = stat( "/", &s ); - printf("status for stat : %d, size of directory: %d\n\n", - status,(int)s.st_size); - - puts( "\nOpen and print directory /" ); - directory = opendir("/"); - assert( directory ); - printdir(directory); - - printf("\nmkdir /d/my_dir\n"); - status = mkdir( "/d/my_dir", 0x1c0 ); - printf("Open /d/my_dir\n"); - directory_not = opendir( "/d/my_dir" ); - assert( directory_not ); - - printf( "remove /d/my_dir.\n" ); - status = rmdir( "/d/my_dir" ); - assert( status == 0 ); - - printf( "close /d/my_dir.\n" ); - closedir( directory_not ); - - printf( "\nOpening directory /c\n" ); - directory2 = opendir("/c"); - - assert( directory2 ); - - printdir(directory2); - status = closedir( directory2 ); - - printf( "\nOpening directory /c/y\n" ); - directory3 = opendir("/c/y"); - assert( directory3 ); - printdir(directory3); - status = closedir( directory3 ); - - printf( "\nLSEEK to the start of the open directory\n" ); - lseek( directory->dd_fd, 0, SEEK_SET ); - printdir(directory); - - lseek( directory->dd_fd, 0, SEEK_CUR ); - - lseek( directory->dd_fd, 0, SEEK_END ); - - lseek( directory->dd_fd, 0, -99 ); - - printf( "\nRewinding directory\n" ); - rewinddir( directory ); - printdir(directory); - -/* Don't know how to check this one automatically. */ - printf( "Send rewinddir a NULL pointer\n"); - rewinddir( NULL ); - - printf( "\nSeek directory\n" ); - printf( "telldir() should report only sizeof(struct dirent) increments \n" ); - printf( "in position. Sizeof(struct dirent): %d\n", sizeof(struct dirent) ); - rewinddir( directory ); - for( off=0 ; off<=200 ; off=off + sizeof(struct dirent) / 4 ) { - seekdir( directory, off ); - printf( - "seeked to %2d -- currently at %2d\n", - (int)off, - (int)telldir(directory) - ); - } - - printf( "Send seekdir a NULL pointer\n"); - seekdir( NULL, off ); - - printf( "\nClosing directory\n" ); - status = closedir( directory ); - - printf( "\nSCANDIR TEST\n"); - printf( "\nselection rule 1\n"); - printf( "scanning for any entry under directory /c\n\n"); - status = scandir( - "/c", - &namelist, - select1, - NULL - ); - printf("\nscandir status: %d\n", status ); - for ( i=0; i<status; i++) - { - printf("Selected Node Name: %s\n", namelist[i]->d_name ); - } - - printf( "\nselection rule 2\n"); - printf( "scanning for any entry under directory /c whose name = y\n\n"); - status = scandir( - "/c", - &namelist, - select2, - NULL - ); - printf("\nscandir status: %d\n", status ); - for ( i=0; i<status; i++) - { - printf("Selected Node Name: %s\n", namelist[i]->d_name ); - } - - printf( "\nSCANDIR with sorting\n" ); - printf( "\nselection rule 1\n"); - printf( "scanning for any entry under directory /c\n"); - printf( "sort in ascending order\n\n"); - status = scandir( - "/c", - &namelist, - select1, - compare_ascending - ); - printf("\nscandir status: %d\n", status ); - for ( i=0; i<status; i++) - { - printf("Selected and Sorted Node Name: %s\n", namelist[i]->d_name ); - } - - - printf( "\nSCANDIR with sorting\n" ); - printf( "\nselection rule 1\n"); - printf( "scanning for any entry under directory /c\n"); - printf( "sort in descending order\n\n"); - status = scandir( - "/c", - &namelist, - select1, - compare_descending - ); - printf("scandir status: %d\n", status ); - for ( i=0; i<status; i++) - { - printf("Selected and Sorted Node Name: %s\n", namelist[i]->d_name ); - } - - test_across_mount(); - printf( "\n\n*** END OF READDIR TEST ***\n" ); - rtems_test_exit(0); -} - |