Section courante

A propos

Section administrative du site

FCNTL

Contrôle fichier
  unistd.h
fcntl.h

Syntaxe

int fcntl(int fildes, int cmd, ...);

Paramètres

Nom Description
fildes Ce paramètre permet d'indiquer l'identificateur de descripteur de fichier
cmd Ce paramètre permet d'indiquer l'opération a effectuer :
Constante Description
F_DUPFD Cette constante permet d'indiquer qu'il faut effectuer une duplication du descripteur de fichier indiqué par le paramètre fildes.
F_GETFD Cette constante permet d'indiquer qu'il faut retourner les drapeaux du descripteur de fichier du paramètre fildes.
F_GETFL Cette constante permet d'indiquer qu'il faut retourner l'état des drapeaux du descripteur de fichier du paramètre fildes.
F_GETOWN Cette constante permet d'indiquer qu'il faut retourner l'identificateur de processus ou l'identificateur de groupe de processus courant reçu par des signaux SIGIO et SIGURG.
F_SETFD Cette constante permet d'indiquer qu'il faut fixer les drapeaux du descripteur de fichier du paramètre fildes.
F_SETFL Cette constante permet d'indiquer qu'il faut fixer l'état des drapeaux de la valeur des paramètres supplémentaires. Seul les drapeaux suivants peuvent être changé : O_APPEND, O_NONBLOCK, O_SYNC et O_ASYNC.
F_SETOWN Cette constante permet d'indiquer qu'il faut fixer l'identificateur de processus ou l'identificateur de groupe de processus courant reçu par des signaux SIGIO et SIGURG.

Retour

Valeur Description
0 Cette valeur permet d'indiquer que l'opération à réussis.
-1 Cette valeur permet d'indiquer qu'une erreur s'est produite. Dans ce cas, il sera possible d'obtenir des informations supplémentaires en consultant la variable errno.

Description

Cette fonction permet d'effectuer des opérations de contrôle sur un descripteur de fichier.

Remarque

Exemple

Voici un exemple montrant comment utiliser cette fonction :

  1. #include <stdio.h>
  2. #include <errno.h>
  3. #include <sys/types.h>
  4. #include <fcntl.h>
  5.  
  6. int main(int argc, char *argv[]) {
  7.     if(fcntl(0, F_GETFL, 0) < 0) {
  8.          printf("Une erreur s'est produite %i", errno);
  9.     }
  10.     return 0;
  11. }


Dernière mise à jour : Mercredi, le 10 février 2010