(BSD System Compatibility)
scandir(3bsd)
scandir, alphasort --
(BSD) scan a directory
Synopsis
/usr/ucb/cc [flag . . . ] file . . .
#include <sys/types.h>
#include <sys/dir.h>
scandir(char *dirname, struct direct **namelist,
int (*select)(), int (*compar)());
alphasort(struct direct **d1, struct direct **d2);
Description
scandir
reads the directory
dirname
and builds an array of pointers to directory entries using
malloc(3C).
The second parameter is a pointer to an array of structure pointers.
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(3C)
to sort the completed 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.
Return values
Returns -1 if the directory cannot be opened for reading or if
malloc(3C)
cannot allocate enough memory to hold all the data structures.
References
directory(3C),
getdents(2),
malloc(3C),
qsort(3C)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004