Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ scandir(3B) — SunOS 5.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getdents(2)

directory(3C)

malloc(3C)

qsort(3C)

scandir(3B)

NAME

scandir, alphasort − scan a directory

SYNOPSIS

/usr/ucb/cc [ flag ... ] file ...

#include <sys/types.h>
#include <sys/dir.h>

int scandir(const char ∗dirname, struct direct ∗∗namelist, int (∗select)(const struct direct ∗), int (∗compar)(const void ∗, const void ∗));

int 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), 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. 

RETURN VALUES

Returns −1 if the directory cannot be opened for reading or if malloc(3C) cannot allocate enough memory to hold all the data structures. 

SEE ALSO

getdents(2), directory(3C), malloc(3C), qsort(3C)

SunOS 5.1  —  Last change: 15 Oct 1991

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