dup(2) dup(2)
NAME
dup - Dateideskriptor duplizieren
SYNTAX
#include <unistd.h>
int dup(int fildes);
BESCHREIBUNG
fildes ist ein Dateideskriptor, der von einem Systemaufruf creat(),
open(), dup(), fcntl() oder pipe() geliefert wurde. dup() gibt einen
neuen Dateideskriptor zurück, der mit dem Original-Dateideskriptor
folgendes gemein hat:
- dieselbe offene Datei (oder Pipe)
- denselben Schreib-/Lesezeiger (d. h. beide Dateideskriptoren benut-
zen denselben Schreib-/Lesezeiger)
- denselben Zugriffsmodus (Lesen, Schreiben oder Schreiben/Lesen)
Der neue Dateideskriptor bleibt standardmäßig bei exec-Systemaufrufen
geöffnet [siehe fcntl(2)].
Der zurückgegebene Dateideskriptor ist die kleinste Zahl, die zur Ver-
fügung steht.
dup() ist erfolglos, wenn einer oder mehrere der nachstehenden Punkte
zutreffen:
EBADF fildes ist kein gültiger offener Dateideskriptor.
EINTR Ein Signal wurde während des Systemaufrufs dup() abgefangen.
EMFILE Der Prozeß hat zu viele offene Dateien [siehe getrlimit(2)].
ENOLINK fildes ist auf einem fernen Rechner, und die Verbindung zu
diesem Rechner ist nicht mehr aktiv.
ERGEBNIS
Nach erfolgreicher Beendigung wird eine nicht negative ganze Zahl,
d. h. der Dateideskriptor, zurückgegeben. Andernfalls wird -1 zurück-
gegeben, und errno wird zur Anzeige des Fehlers gesetzt.
SIEHE AUCH
close(2), creat(2), exec(2), fcntl(2), getrlimit(2), open(2), pipe(2),
dup2(3C), lockf(3C).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98