BEZEICHNUNG

opendir - ein Verzeichnis öffnen

BIBLIOTHEK

Standard-C-Bibliothek ( libc, -lc)

ÜBERSICHT

#include <sys/types.h>
#include <dirent.h>
DIR *opendir(const char *name);
DIR *fdopendir(int dd);
Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):
fdopendir():
    Seit Glibc 2.10:
        _POSIX_C_SOURCE >= 200809L
    Vor Glibc 2.10:
        _GNU_SOURCE

BESCHREIBUNG

Die Funktion opendir() öffnet einen Verzeichnis-Datenstrom der dem Verzeichnis name entspricht und liefert einen Zeiger auf den ersten Eintrag des Verzeichnisses zurück.
Die Funktion fdopendir() ähnelt opendir(), gibt aber eine Folge der Verzeichniseinträge für das Verzeichnis zurück, auf das der Dateideskriptor dd verweist. Nach einem erfolgreichen Aufruf von fdopendir() wird dd intern von der Implementierung benutzt und sollte nicht anderweitig von der Anwendung benutzt werden.

RÜCKGABEWERT

Die Funktionen opendir() und fdopendir() liefern einen Zeiger auf den Verzeichnis-Datenstrom zurück. Bei einem Fehler wird ein NULL zurückgegeben und errno gesetzt, um den Fehler anzuzeigen.

FEHLER

EACCES
Zugriff verweigert
EBADF
dd ist kein gültiger zum Lesen geöffneter Dateideskriptor.
EMFILE
Die Beschränkung pro Prozess der Anzahl offener Datei-Deskriptoren wurde erreicht.
ENFILE
Die systemweite Beschränkung für die Gesamtzahl offener Dateien wurde erreicht.
ENOENT
Das Verzeichnis existiert nicht oder name ist eine leere Zeichenkette.
ENOMEM
Der Speicher reicht nicht aus, um den Vorgang zu beenden.
ENOTDIR
name ist kein Verzeichnis.

VERSIONEN

fdopendir() ist seit Glibc 2.4 verfügbar.

ATTRIBUTE

Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
Schnittstelle Attribut Wert
opendir(), fdopendir() Multithread-Fähigkeit MT-Safe
 

STANDARDS

opendir() ist auf SVr4 und 4.3BSD vorhanden und in POSIX.1-2001 spezifiziert. fdopendir() ist in POSIX.1-2008 spezifiziert.

ANMERKUNGEN

Dateinameneinträge können mittels readdir(3) aus einem Verzeichnis-Stream gelesen werden.
Der zugrundeliegende Dateideskriptor des Verzeichnis-Datenstroms kann mit dirfd(3) abgefragt werden.
Die Funktion opendir() setzt dem Schalter »close-on-exec« für den Dateideskriptor, der DIR * zugrundeliegt. Die Funktion fopendir() lässt die Einstellung des Schalter »close-on-exec« für den Dateideskriptor dd unverändert. POSIX.1-200x spezifiziert nicht, ob ein erfolgreicher Aufruf von fdopendir() den Schalter »close-on-exec« für den Dateideskriptor dd setzt.

SIEHE AUCH

open(2), closedir(3), dirfd(3), readdir(3), rewinddir(3), scandir(3), seekdir(3), telldir(3)

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Markus Kaufmann <[email protected]> und Chris Leick <[email protected]> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer