SCANDIR(3) GENIX Programmer's Manual SCANDIR(3)
NAME
scandir - scan a directory
SYNOPSIS
#include <sys/types.h>
#include <dir.h>
scandir(dirname, namelist, select, compar)
char *dirname;
struct direct *(*namelist[]);
int (*select)();
int (*compar)();
alphasort(d1, d2)
struct direct **d1, **d2;
DESCRIPTION
Scandir reads the directory dirname and builds an array of pointers
to directory entries using malloc(3). The third parameter is a
pointer to a routine which is called with a pointer to a directory
entry and should return a non zero value if the directory entry
should be included in the array. If this pointer is null, then all
the directory entries will be included. The last argument is a
pointer to a routine which is passed to qsort(3) to sort the com-
pleted array. If this pointer is null, the array is not sorted.
Alphasort is a routine which will sort the array alphabetically.
Scandir returns the number of entries in the array and a pointer to
the array through the parameter namelist.
SEE ALSO
directory(3), malloc(3), qsort(3)
DIAGNOSTICS
Returns -1 if the directory cannot be opened for reading or if mal-
loc(3) cannot allocate enough memory to hold all the data struc-
tures.
Printed 11/16/83 19 January 1983 1