STDIO_EXT(3)

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

VOIR AUSSI
flockfile(3), fpurge(3)

TRADUCTION

Ce document est une traduction réalisée par Stéphan Rafin <stephan DOT rafin AT laposte DOT net> le 22 avril 2002 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 stdio_ext ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.