__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading,
__fsetlocking, __fwritable, __fwriting, _flushlbf - Interfaces pour la
structure FILE (stdio)
Bibliothèque C standard (
libc,
-lc)
#include <stdio.h>
#include <stdio_ext.h>
size_t __fbufsize(FILE *flux);
size_t __fpending(FILE *flux);
int __flbf(FILE *flux);
int __freadable(FILE *flux);
int __fwritable(FILE *flux);
int __freading(FILE *flux);
int __fwriting(FILE *flux);
int __fsetlocking(FILE *flux, int type);
void _flushlbf(void);
void __fpurge(FILE *flux);
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 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.
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
Interface |
Attribut |
Valeur |
__fbufsize(), __fpending(), __fpurge(),
__fsetlocking() |
Sécurité des threads |
MT-Safe race:stream |
__flbf(), __freadable(), __freading(),
__fwritable(), __fwriting(), _flushlbf() |
Sécurité des threads |
MT-Safe |
flockfile(3),
fpurge(3)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]>, David Prévot <
[email protected]> et
Frédéric Hantrais <
[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter
à la
GNU
General Public License version 3 concernant les conditions de copie
et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
[email protected]