__fpending


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 flock-

ATTRIBUTES
       For  an  explanation  of  the  terms  used   in   this   section,   see
       attributes(7).

       +-----------------------------+---------------+---------------------+
       |Interface                    | Attribute     | Value               |
       +-----------------------------+---------------+---------------------+
       |__fbufsize(), __fpending(),  | Thread safety | MT-Safe race:stream |
       |__fpurge(), __fsetlocking()  |               |                     |
       +-----------------------------+---------------+---------------------+
       |__flbf(), __freadable(),     | Thread safety | MT-Safe             |
       |__freading(), __fwritable(), |               |                     |
       |__fwriting(), _flushlbf()    |               |                     |
       +-----------------------------+---------------+---------------------+
SEE ALSO
       flockfile(3), fpurge(3)

COLOPHON
       This  page  is  part of release 4.04 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/.

                                  2015-03-02                      STDIO_EXT(3)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2019 Hurricane Electric. All Rights Reserved.