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
- Les codes d'erreurs retournés par la variable «errno» correspondent généralement à ceci :
Constante | Description |
---|---|
EACCES | Cette constante permet d'indiquer un accès refusé ou recherche de permission à un dossier dans le préfixe du chemin étant inaccessible. |
EAGAIN | Cette constante permet d'indiquer que la ressource est temporairement indisponible. Sur certaines distribution, cette constante a parfois la même valeur que EWOULDBLOCK. |
EBADF | Cette constante permet d'indiquer que le descripteur de fichier est invalide. |
EDEADLK | Cette constante permet d'indiquer qu'une ressource doit éviter la mort d'un verrou. |
EFAULT | Cette constante permet d'indiquer que l'adresse est invalide. |
EINTR | Cette constante permet d'indiquer que l'appel de la fonction a été interrompu. |
EINVAL | Cette constante permet d'indiquer que le paramètre est invalide. |
EMFILE | Cette constante permet d'indiquer qu'il y a trop de fichiers ouverts simultanément. |
ENOLCK | Cette constante permet d'indiquer qu'il n'y aucun verrou de disponible. |
EPERM | Cette constante permet d'indiquer que l'opération n'est pas permise. |
Exemple
Voici un exemple montrant comment utiliser cette fonction :
Dernière mise à jour : Mercredi, le 10 février 2010