SCANDIR(3) — System Interface Manual — Subroutines
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 (struct direct ∗) 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 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.
SEE ALSO
opendir(3), closedir(3), readdir(3), malloc(3), qsort(3), directory(3), dir(5)
DIAGNOSTICS
Returns −1 if the directory cannot be opened for reading or if malloc(3) cannot allocate enough memory to hold all the data structures.
Sun System Release 0.3 — 22 March 1983