__fpurge(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | ATTRIBUTES | CONFORMING TO | NOTES | SEE ALSO | COLOPHON

FPURGE(3)                 Linux Programmer's Manual                FPURGE(3)

NAME top

       fpurge, __fpurge - purge a stream

SYNOPSIS top

       /* unsupported */
       #include <stdio.h>

       int fpurge(FILE *stream);

       /* supported */
       #include <stdio.h>
       #include <stdio_ext.h>

       void  __fpurge(FILE *stream);

DESCRIPTION top

       The function fpurge() clears the buffers of the given stream.  For
       output streams this discards any unwritten output.  For input streams
       this discards any input read from the underlying object but not yet
       obtained via getc(3); this includes any text pushed back via
       ungetc(3).  See also fflush(3).

       The function __fpurge() does precisely the same, but without
       returning a value.

RETURN VALUE top

       Upon successful completion fpurge() returns 0.  On error, it returns
       -1 and sets errno appropriately.

ERRORS top

       EBADF  stream is not an open stream.

ATTRIBUTES top

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

       ┌───────────┬───────────────┬─────────────────────┐
       │Interface  Attribute     Value               │
       ├───────────┼───────────────┼─────────────────────┤
       │__fpurge() │ Thread safety │ MT-Safe race:stream │
       └───────────┴───────────────┴─────────────────────┘

CONFORMING TO top

       These functions are nonstandard and not portable.  The function
       fpurge() was introduced in 4.4BSD and is not available under Linux.
       The function __fpurge() was introduced in Solaris, and is present in
       glibc 2.1.95 and later.

NOTES top

       Usually it is a mistake to want to discard input buffers.

SEE ALSO top

       fflush(3), setbuf(3), stdio_ext(3)

COLOPHON top

       This page is part of release 5.08 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
       https://www.kernel.org/doc/man-pages/.

                                 2017-09-15                        FPURGE(3)