NOM¶
__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading,
__fsetlocking, __fwritable, __fwriting, _flushlbf - Interfaces pour la
structure FILE (stdio)
SYNOPSIS¶
#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 implémenté 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és 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 tampon 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 actuel. 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 à tampon 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.
ATTRIBUTS¶
Multithreading (voir pthreads(7))¶
Les fonctions
__fbufsize(),
__fpending(),
__fpurge() et
__fsetlocking() ne verrouillent pas le flux, et ne sont donc pas
sûres dans un contexte multithread.
Les fonctions
__flbf(),
__freadable(),
__freading(),
__fwritable(),
__fwriting() and
_flushlbf() sont
sûres dans un contexte multithread.
VOIR AUSSI¶
flockfile(3),
fpurge(3)
COLOPHON¶
Cette page fait partie de la publication 3.65 du projet
man-pages Linux.
Une description du projet et des instructions pour signaler des anomalies
peuvent être trouvées à l'adresse
http://www.kernel.org/doc/man-pages/.
TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Stéphan Rafin (2002), Alain Portal
<
http://manpagesfr.free.fr/> (2006). Nicolas François et
l'équipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet
manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce
document en utilisant la commande «
man -L C
<section>
<page_de_man> ».