Provided by: manpages-fr-dev_3.65d1p1-1_all bug

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> ».

                                                  21 juin 2013                                      STDIO_EXT(3)