unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (4.2BSD)
Page:
Section:
Apropos / Subsearch:
optional field

SCANDIR(3)                 Library Functions Manual                 SCANDIR(3)



NAME
       scandir - scan a directory

SYNOPSIS
       #include <&lt;sys/types.h>&gt;
       #include <&lt;sys/dir.h>&gt;

       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 subroutine 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  subroutine  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), dir(5)

DIAGNOSTICS
       Returns -1 if the directory cannot be opened for  reading  or  if  mal-
       loc(3) cannot allocate enough memory to hold all the data structures.



4th Berkeley Distribution       19 January 1983                     SCANDIR(3)