Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ scandir(3) — bsd — mips UMIPS RISC/os 5.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

directory(3)

malloc(3)

qsort(3)



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



NAME
     scandir, alphasort - scan a directory

SYNOPSIS
     For -systype svr3 , -systype svr4 and -systype bsd43:

     #include <bsd/sys/types.h>
     #include <sys/stat.h>
     #ifdef mips
     #include <bsd/sys/dir.h>
     #else
     #include <ndir.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.



                        Printed 11/19/92                   Page 1





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



ORIGINS
     BSD 4.3

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
















































 Page 2                 Printed 11/19/92



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