Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ scandir(3) — mips UMIPS RISC/os 4.52

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

directory(3)

malloc(3)

qsort(3)



SCANDIR(3)          RISC/os Reference Manual           SCANDIR(3)



NAME
     scandir, alphasort - scan a directory

SYNOPSIS
     For -systype sysv and -systype bsd43:

     #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).  It returns
     the number of entries in the array and a pointer to the
     array through namelist.

     The select parameter is a pointer to a user supplied subrou-
     tine which is called by scandir to select which entries are
     to be included in the array.  The select routine is passed a
     pointer to a directory entry and should return a non-zero
     value if the directory entry is to be included in the array.
     If select is null, then all the directory entries will be
     included.

     The compar parameter is a pointer to a user supplied subrou-
     tine 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 can be used for the compar
     parameter to sort the array alphabetically.

     The memory allocated for the array can be deallocated with
     free (see malloc(3)) by freeing each pointer in the array
     and the array itself.

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.

ORIGINS
     BSD 4.3



                         Printed 1/15/91                   Page 1





SCANDIR(3)          RISC/os Reference Manual           SCANDIR(3)



NOTE
     When these routines are used in a program which is compiled
     in -systype sysv, they are not resolved by libc.a.  See
     intro(3-SysV) for more information.



















































 Page 2                  Printed 1/15/91



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