summaryrefslogtreecommitdiffstats
path: root/man3/fpurge.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/fpurge.3')
-rw-r--r--man3/fpurge.384
1 files changed, 84 insertions, 0 deletions
diff --git a/man3/fpurge.3 b/man3/fpurge.3
new file mode 100644
index 0000000..545af20
--- /dev/null
+++ b/man3/fpurge.3
@@ -0,0 +1,84 @@
+'\" t
+.\" Copyright (C) 2001 Andries Brouwer <aeb@cwi.nl>.
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.TH fpurge 3 2023-07-20 "Linux man-pages 6.05.01"
+.SH NAME
+fpurge, __fpurge \- purge a stream
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+/* unsupported */
+.B #include <stdio.h>
+.PP
+.BI "int fpurge(FILE *" stream );
+.PP
+/* supported */
+.B #include <stdio.h>
+.B #include <stdio_ext.h>
+.PP
+.BI "void __fpurge(FILE *" stream );
+.fi
+.SH DESCRIPTION
+The function
+.BR 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
+.BR getc (3);
+this includes any text pushed back via
+.BR ungetc (3).
+See also
+.BR fflush (3).
+.PP
+The function
+.BR __fpurge ()
+does precisely the same, but without returning a value.
+.SH RETURN VALUE
+Upon successful completion
+.BR fpurge ()
+returns 0.
+On error, it returns \-1 and sets
+.I errno
+to indicate the error.
+.SH ERRORS
+.TP
+.B EBADF
+.I stream
+is not an open stream.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface Attribute Value
+T{
+.na
+.nh
+.BR __fpurge ()
+T} Thread safety MT-Safe race:stream
+.TE
+.sp 1
+.SH STANDARDS
+None.
+.SH HISTORY
+.TP
+.BR fpurge ()
+4.4BSD.
+Not available under Linux.
+.TP
+.BR __fpurge ()
+Solaris, glibc 2.1.95.
+.SH NOTES
+Usually it is a mistake to want to discard input buffers.
+.SH SEE ALSO
+.\" .BR fclean (3),
+.BR fflush (3),
+.BR setbuf (3),
+.BR stdio_ext (3)