scandir(3BSD) (BSD System Compatibility) scandir(3BSD)
NAME
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.
REFERENCES
directory(3C), getdents(2), malloc(3C), qsort(3C)
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.
Copyright 1994 Novell, Inc. Page 1