pathfind(3G) pathfind(3G)
NAME
pathfind - Verzeichnisse nach einer Datei durchsuchen
SYNTAX
cc [option ...] datei ... -lgen [bibliothek ...]
#include <libgen.h>
char *pathfind (const char *Pfad, const char *Name,
const char *Modus);
BESCHREIBUNG
pathfind() durchsucht die in Pfad angegebenen Verzeichnisse nach der
Datei Name. Die in Pfad angegebenen Verzeichnisse werden durch Semiko-
lon getrennt. Modus ist eine Folge von Optionsbuchstaben, die folgende
Bedeutung haben:
Buchstabe Bedeutung
r lesbar
w beschreibbar
x ausführbar
f normale Datei
b blockorientierte Gerätedatei
c zeichenorientierte Gerätedatei
d Verzeichnis
p FIFO (Pipe)
u Bit der Benutzernummer setzen
g Bit der Gruppennummer setzen
k Sticky-Bit
s Größe ungleich 0
Die Lese-, Schreib- und Ausführoptionen werden bezüglich der realen
Benutzer- und Gruppennummer des aktuellen Prozesses überprüft.
Wenn die Datei Name mit allen durch Modus angegebenen Eigenschaften in
irgendeinem der durch Pfad angegebenen Verzeichnisse gefunden wird,
gibt pathfind() einen Zeiger auf eine Zeichenkette zurück, die den
Inhalt von Pfad, gefolgt von einem Schrägstrich /, gefolgt von Name,
enthält.
Wenn Name mit einem Schrägstrich beginnt, wird er als absoluter Pfad-
name betrachtet, und Pfad wird ignoriert.
Ein leeres Pfad-Element wird als das aktuelle Verzeichnis betrachtet.
./ wird nicht vor den Namen der gefundenen Datei geschrieben; es wird
nur der Inhalt von Name zurückgegeben.
BEISPIELE
Das ls-Kommando mit Hilfe der Umgebungsvariablen PATH finden:
pathfind (getenv ("PATH"), "ls", "rx")
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
pathfind(3G) pathfind(3G)
ERGEBNIS
Wenn keine passende Datei gefunden wird, gibt pathfind() einen Null-
zeiger, ((char *) 0), zurück.
HINWEISE
Die Zeichenkette, auf die der zurückgegebene Zeiger zeigt, wird in
einem static-Bereich gespeichert, der bei nachfolgenden Aufrufen von
pathfind() wieder verwendet wird.
SIEHE AUCH
sh(1), test(1), access(2), mknod(2), stat(2), getenv(3C).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98