scandir(3) (BSD Compatibility Package) scandir(3)
NAME
scandir, alphasort - Ein Verzeichnis durchsuchen
SYNTAX
/usr/ucb/cc [flag ...] file ... -lucb
#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;
BESCHREIBUNG
scandir liest das Verzeichnis dirname und erstellt mit Hilfe von
malloc ein Array aus Zeigern auf Verzeichniseinträge. Der zweite Para-
meter ist ein Zeiger auf ein Array aus Strukturzeigern. Der dritte
Parameter ist ein Zeiger auf eine Routine, die mit einem Zeiger auf
einen Verzeichniseintrag aufgerufen wird und einen Wert ungleich Null
zurückgeben sollte, wenn der Verzeichniseintrag in das Array aufgenom-
men werden soll. Handelt es sich hierbei um einen NULL-Zeiger, werden
alle Verzeichniseinträge aufgenommen. Das letzte Argument ist ein Zei-
ger auf eine Routine, die an qsort übergeben wird, um das vollständige
Array zu sortieren. Handelt es sich hierbei um einen NULL-Zeiger, wird
das Array nicht sortiert. alphasort ist eine Routine, die das Array in
alphabetischer Reihenfolge sortiert.
scandir gibt die Anzahl der Einträge im Array und einen Zeiger auf das
Array über den Parameter namelist zurück.
RÜCKGABEWERT
-1 wird zurückgegeben, wenn das Verzeichnis nicht zum Lesen geöffnet
werden kann, oder wenn malloc nicht genügend Speicher für alle Daten-
strukturen zuordnen kann.
SIEHE AUCH
getdents(2), directory(3C), malloc(3C), qsort(3C), types(5).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98