Provided by: manpages-fr-dev_3.57d1p1-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.57 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)