scandir(3) C LIBRARY FUNCTIONS scandir(3)
NAME
scandir, alphasort - scan a directory
SYNOPSIS
cc [ flag... ] file ... -lucb
#include <sys/types.h>
#include <sys/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(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 direc-
tory 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 parame-
ter namelist.
SEE ALSO
getdents(2), directory(3C), malloc(3C), qsort(3C) in the
Programmer's Reference Manual.
RETURN VALUE
Returns -1 if the directory cannot be opened for reading or
if malloc(3C) cannot allocate enough memory to hold all the
data structures.
Last change: BSD Compatibility Package 1