Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getdents(2)

directory(3C)

malloc(3C)

qsort(3C)

types(5)

scandir(3)              (BSD Compatibility Package)              scandir(3)

NAME
     scandir, alphasort - scan a directory

SYNOPSIS
     /usr/ucb/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. 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 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 VALUE
     Returns -1 if the directory cannot be opened for reading or if malloc
     cannot allocate enough memory to hold all the data structures.

SEE ALSO
     getdents(2), directory(3C), malloc(3C), qsort(3C), types(5).
















Page 1                       Reliant UNIX 5.44                Printed 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026