summaryrefslogtreecommitdiffstats
path: root/man3/fflush.3
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:40:15 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:40:15 +0000
commit399644e47874bff147afb19c89228901ac39340e (patch)
tree1c4c0b733f4c16b5783b41bebb19194a9ef62ad1 /man3/fflush.3
parentInitial commit. (diff)
downloadmanpages-upstream/6.05.01.tar.xz
manpages-upstream/6.05.01.zip
Adding upstream version 6.05.01.upstream/6.05.01
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'man3/fflush.3')
-rw-r--r--man3/fflush.3116
1 files changed, 116 insertions, 0 deletions
diff --git a/man3/fflush.3 b/man3/fflush.3
new file mode 100644
index 0000000..a26c3e8
--- /dev/null
+++ b/man3/fflush.3
@@ -0,0 +1,116 @@
+'\" t
+.\" Copyright (c) 1990, 1991 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Chris Torek and the American National Standards Committee X3,
+.\" on Information Processing Systems.
+.\"
+.\" SPDX-License-Identifier: BSD-4-Clause-UC
+.\"
+.\" @(#)fflush.3 5.4 (Berkeley) 6/29/91
+.\"
+.\" Converted for Linux, Mon Nov 29 15:22:01 1993, faith@cs.unc.edu
+.\"
+.\" Modified 2000-07-22 by Nicolás Lichtmaier <nick@debian.org>
+.\" Modified 2001-10-16 by John Levon <moz@compsoc.man.ac.uk>
+.\"
+.TH fflush 3 2023-07-20 "Linux man-pages 6.05.01"
+.SH NAME
+fflush \- flush a stream
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.B #include <stdio.h>
+.PP
+.BI "int fflush(FILE *_Nullable " stream );
+.fi
+.SH DESCRIPTION
+For output streams,
+.BR fflush ()
+forces a write of all user-space buffered data for the given output or update
+.I stream
+via the stream's underlying write function.
+.PP
+For input streams associated with seekable files
+(e.g., disk files, but not pipes or terminals),
+.BR fflush ()
+discards any buffered data that has been fetched from the underlying file,
+but has not been consumed by the application.
+.PP
+The open status of the stream is unaffected.
+.PP
+If the
+.I stream
+argument is NULL,
+.BR fflush ()
+flushes
+.I all
+open output streams.
+.\" mtk: POSIX specifies that only output streams are flushed for this case.
+.\" Also verified for glibc by experiment.
+.PP
+For a nonlocking counterpart, see
+.BR unlocked_stdio (3).
+.SH RETURN VALUE
+Upon successful completion 0 is returned.
+Otherwise,
+.B EOF
+is returned and
+.I errno
+is set to indicate the error.
+.SH ERRORS
+.TP
+.B EBADF
+.I stream
+is not an open stream, or is not open for writing.
+.PP
+The function
+.BR fflush ()
+may also fail and set
+.I errno
+for any of the errors specified for
+.BR write (2).
+.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 fflush ()
+T} Thread safety MT-Safe
+.TE
+.sp 1
+.SH STANDARDS
+C11, POSIX.1-2008.
+.SH HISTORY
+C89, POSIX.1-2001, POSIX.1-2008.
+.PP
+POSIX.1-2001 did not specify the behavior for flushing of input streams,
+but the behavior is specified in POSIX.1-2008.
+.SH NOTES
+Note that
+.BR fflush ()
+flushes only the user-space buffers provided by the C library.
+To ensure that the data is physically stored on disk
+the kernel buffers must be flushed too, for example, with
+.BR sync (2)
+or
+.BR fsync (2).
+.SH SEE ALSO
+.BR fsync (2),
+.BR sync (2),
+.BR write (2),
+.BR fclose (3),
+.BR fileno (3),
+.BR fopen (3),
+.BR fpurge (3),
+.BR setbuf (3),
+.BR unlocked_stdio (3)