STDIO_EXT
NAMESYNOPSIS
DESCRIPTION
ATTRIBUTES
SEE ALSO
COLOPHON
NAME
__fbufsize, __flbf, __fpending, __fpurge, __freadable, __freading, __fsetlocking, __fwritable, __fwriting, _flushlbf − interfaces to stdio FILE structure
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 introduced routines to allow portable access to the internals of the FILE structure, and glibc also implemented these.
The __fbufsize() function returns the size of the buffer currently used by the given stream.
The __fpending() function returns the number of bytes in the output buffer. For wide-oriented streams the unit is wide characters. This function is undefined on buffers in reading mode, or opened read-only.
The __flbf() function returns a nonzero value if the stream is line-buffered, and zero otherwise.
The __freadable() function returns a nonzero value if the stream allows reading, and zero otherwise.
The __fwritable() function returns a nonzero value if the stream allows writing, and zero otherwise.
The __freading() function returns a nonzero value if the stream is read-only, or if the last operation on the stream was a read operation, and zero otherwise.
The __fwriting() function returns a nonzero value if the stream is write-only (or append-only), or if the last operation on the stream was a write operation, and zero otherwise.
The
__fsetlocking() function can be used to select the
desired type of locking on the stream. It returns the
current type. The type argument can take the
following three values:
FSETLOCKING_INTERNAL
Perform implicit locking around every operation on the given stream (except for the *_unlocked ones). This is the default.
FSETLOCKING_BYCALLER
The caller will take care of the locking (possibly using flockfile(3) in case there is more than one thread), and the stdio routines will not do locking until the state is reset to FSETLOCKING_INTERNAL.
FSETLOCKING_QUERY
Don’t change the type of locking. (Only return it.)
The _flushlbf() function flushes all line-buffered streams. (Presumably so that output to a terminal is forced out, say before reading keyboard input.)
The __fpurge() function discards the contents of the stream’s buffer.
ATTRIBUTES
Multithreading
(see pthreads(7))
The __fbufsize(), __fpending(),
__fpurge() and __fsetlocking() functions do
not lock the stream, so they are not thread-safe.
The __flbf(), __freadable(), __freading(), __fwritable(), __fwriting() and _flushlbf() functions are thread-safe.
SEE ALSO
COLOPHON
This page is part of release 3.69 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at http://www.kernel.org/doc/man−pages/.
More Linux Commands
manpages/passwd.1.html
passwd(1) - change user password (Commands - Linux man page)
The passwd command changes passwords for user accounts. A normal user may only change the password for his/her own account, while the superuser may change the p
manpages/pthread_attr_getstackaddr.3.html
pthread_attr_getstackaddr(3) - set/get stack address attribu
These functions are obsolete: do not use them. Use pthread_attr_setstack(3) and pthread_attr_getstack(3) instead. The pthread_attr_setstackaddr() function sets
manpages/makedepend.1.html
makedepend(1) - create dependencies in makefiles (Man Page)
The makedepend program reads each sourcefile in sequence and parses it like a C-preprocessor, processing all #include, #define, #undef, #ifdef, #ifndef, #endif,
manpages/unregister_config_handler.3.html
unregister_config_handler(3) - netsnmp_config_api functions
The functions are a fairly extensible system of parsing various configuration files at the run time of an application. The configuration file flow is broken int
manpages/splitfont.1.html
splitfont(1) - extract characters from an ISO-type font.....
The command removes characters from a given font file; it removes all the specified characters from the named font file. This works for Linux console fonts, wit
manpages/XkbGetKeyBehaviors.3.html
XkbGetKeyBehaviors(3) - Obtain the behaviors (the behaviors
XkbGetKeyBehaviors sends a request to the server to obtain the behaviors for num keys on the keyboard starting with the key whose keycode is first. It waits for
manpages/newsfeeds.5.html
newsfeeds(5) - Determine where Usenet articles are sent.....
The file pathetc/newsfeeds specifies how incoming articles should be distributed to other programs and files on the server. It is parsed by the InterNetNews ser
manpages/systemd.directives.7.html
systemd.directives(7) Index of configuration directives.....
Directives for configuring units, used in unit files. Accept= systemd.socket(5) AccuracySec= systemd.timer(5) After= systemd.unit(5) Alias= systemd.unit(5) ....
manpages/tc-fq_codel.8.html
tc-fq_codel(8) Fair Queuing (FQ) with Controlled Delay (CoDe
FQ_Codel (Fair Queuing Controlled Delay) is queuing discipline that combines Fair Queuing with the CoDel AQM scheme. FQ_Codel uses a stochastic model to classif
manpages/res_search.3.html
res_search(3) - resolver routines - Linux manual page.......
These functions make queries to and interpret the responses from Internet domain name servers. The res_init() function reads the configuration files (see resolv
manpages/kmem.4.html
kmem(4) - system memory, kernel memory and system ports.....
mem is a character device file that is an image of the main memory of the computer. It may be used, for example, to examine (and even patch) the system. Byte ad
manpages/gvpack.1.html
gvpack(1) - merge and pack disjoint graphs - Linux man page
gvpack reads in a stream of graphs, combines the graphs into a single layout, and produces a single graph serving as the union of the input graphs. The input gr
