Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

directory(3)

malloc(3)

qsort(3)

SCANDIR(3)  —  C LIBRARY FUNCTIONS

NAME

scandir, alphasort − scan a directory

SYNOPSIS

#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(3). 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(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

directory(3), malloc(3), qsort(3)

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 Release 3.2  —  Last change: 19 January 1983

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