scandir(3B) manual page
Table of Contents
scandir, alphasort - scan a directory
/usr/ucb/cc [ flag
... ] file ...
#include <sys/types.h>
#include <sys/dir.h>
int scandir(dirname, namelist , select, dcomp)
char *dirname;
struct direct *(*namelist[]);
int (*select)(.), (*dcomp)();
int alphasort( d1, d2)
struct direct **d1, **d2;
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)
, which sorts the completed array.
If this pointer is NULL
, the array is not sorted. alphasort() is a routine
that sorts the array alphabetically.
scandir() returns the number of entries
in the array and a pointer to the array through the parameter namelist.
Returns -1 if the directory cannot be opened for reading or
if malloc(3C)
cannot allocate enough memory to hold all the data structures.
getdents(2)
, readdir(3B)
, directory(3C)
, malloc(3C)
, qsort(3C)
Use of these interfaces should be restricted to only applications
written on BSD
platforms. Use of these interfaces with any of the system
libraries or in multi-thread applications is unsupported.
Table of Contents