Index Page and Help |
FAQ |
Copyright
FCNTL(2) FreeBSD System Calls Manual FCNTL(2)
NAME
fcntl - Dateikontrolle
SYNTAX
#include <fcntl.h>
int fcntl (fildes, cmd, arg)
int fildes, cmd, arg;
BESCHREIBUNG
Fcntl gewaehrleistet die Kontrolle ueber offene Dateien. Fildes ist
ein offener Dateidescriptor, der aus einem creat(2), open(2), dup(2),
fcntl oder pipe(2) Systemaufruf erzeugt wird.
Die verfuegbaren Kommandos cmd sind:
F_DUPFD
Es wird ein neuer Dateidescriptor mit folgenden Eigenschaften
zurueckgegeben:
- Verfuegbarer Dateidescriptor mit der niedrigsten Nummer,
die groesser oder gleich arg ist.
- Er bezeichnet die gleiche offene Datei (oder Pipe) wie die
Originaldatei.
- Beide Dateidescriptoren benutzen gemeinsam den Dateipointer
der Originaldatei.
- Gleiche Zugriffsrechte (Lesen, Schreiben oder
Lesen/Schreiben).
- Beide Dateidescriptoren haben gemeinsame Datei-Status-
Flags.
- Das close-on-exec Flag, das mit dem neuen Dateidescriptor
verbunden ist, wird so gesetzt, dass es ueber exec(2)
Systemaufrufe offen bleibt.
F_GETFD Holen des close-on-exec Flag, das mit dem Dateidescriptor
fildes verbunden ist. Wenn das niederwertige Bit Null ist,
bleibt die Datei ueber exec offen, andernfalls wird die Datei
bei Ausfuehrung von exec geschlossen.
F_SETFD Setzt das close-on-exec Flag, das mit fildes verbunden ist,
auf das niederwertige Bit von arg (0 oder 1 wie oben).
F_GETFL Holen des Datei-Status-Flags.
F_SETFL Setzen des Datei-Status-Flags auf arg. Nur bestimmte Flags
koennen gesetzt werden (siehe fcntl(7)).
Fcntl wird nicht ausgefuehrt, wenn einer oder mehrere der folgenden
Punkte zutreffen:
[EBADF] Fildes ist kein gueltiger offener Dateidescriptor.
[EMFILE] Cmd ist F_DUPFD und 20 Dateidescriptoren sind gegenwaertig
offen.
[EINVAL] Cmd ist F_DUPFD und arg ist negativ oder groesser als 20.
RUECKGABEWERT
Nach erfolgreicher Abarbeitung, haengt der zurueckgegebene Wert von cmd
wie folgt ab:
F_DUPFD Ein neuer Dateidescriptor.
F_GETFD Wert des Flags (nur das niederwertige Bit ist definiert).
F_SETFD Anderer Wert als -1.
F_GETFL Wert der Dateiflags.
F_SETFL Anderer Wert als -1.
Andernfalls wird der Wert -1 zurueckgegeben und errno wird zur Anzeige
des Fehlers gesetzt.
SIEHE AUCH
close(2), exec(2), open(2), fcntl(7).
WEGA FCNTL(2)
NAME |
SYNTAX |
BESCHREIBUNG |
RUECKGABEWERT |
SIEHE AUCH