zion - stdio_ext
Nom
__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, __fsetlocking, __fwritable, __fwriting, _flushlbf - Interfaces pour la structure FILE (stdio)
Résumé
#include <stdio.h> #include <stdio_ext.h> size_t __fbufsize(FILE * stream ); size_t __fpending(FILE * stream ); int __flbf(FILE * stream ); int __freadable(FILE * stream ); int __fwritable(FILE * stream ); int __freading(FILE * stream ); int __fwriting(FILE * stream ); int __fsetlocking(FILE * stream , int type ); void _flushlbf(void); void __fpurge(FILE * stream );
Description
Solaris a introduit des routines afin de permettre des accès portables aux composants internes de la structure FILE. La glibc a également implanté ces routines.
La fonction __fbufsize() renvoie la taille du tampon actuellement utilisé par le flux considéré.
La fonction __fpending() renvoie le nombre d'octets du tampon de sortie. Pour les flux orienté caractères larges, l'unité est le caractère large. Cette fonction n'est pas définie pour les tampons en mode lecture, ou bien ouverts en lecture seule.
La fonction __flbf() renvoie une valeur différente de zéro si le flux a un buffer de ligne, sinon, elle renvoie zéro.
La fonction __freadable() renvoie une valeur différente de zéro si le flux peut être lu, sinon, elle renvoie zéro.
La fonction __fwritable() renvoie une valeur différente de zéro si l'on peut écrire dans le flux, sinon, elle renvoie zéro.
La fonction __freading() renvoie une valeur différente de zéro si le flux est en lecture seule, ou bien si la dernière opération sur le flux était une lecture, sinon, elle renvoie zéro.
La fonction __fwriting() renvoie une valeur différente de zéro si le flux est en écriture seule, ou bien si la dernière opération sur le flux était une écriture, sinon, elle renvoie zéro.
La fonction __fsetlocking() peut être utilisée afin de sélectionner le type de verrouillage souhaité sur le flux. Elle renvoie le type courant. Le paramètre type peut prendre les trois valeurs suivantes :
FSETLOCKING_INTERNAL
réalise un verrouillage implicite sur toutes les opérations affectant le flux considéré (à l'exception de fonctions nommées *_unlocked). Il s'agit du comportement par défaut. |
FSETLOCKING_BYCALLER
l'appelant prendra en charge le verrouillage (en utilisant potentiellement flockfile (3) dans le cas où il y a plusieurs threads), et les routines d'entrées sorties standards n'effectueront plus aucun verrouillage jusqu'à ce que l'état soit rétabli à FSETLOCKING_INTERNAL. |
FSETLOCKING_QUERY
ne change pas le type de verrouillage. (le renvoie seulement.) |
La fonction _flushlbf() vide tous les flux à buffer de ligne. (Sans doute de sorte que la sortie d'un terminal soit écrite. Par exemple, avant de lire une entrée sur le clavier.)
La fonction __fpurge() permet de se débarrasser du contenu du tampon de flux.
Voir aussi
flockfile (3), fpurge (3)
Traduction
Stéphan Rafin, 2002.
Poster un commentaire