Man Page Search:
Man Output format
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