aboutsummaryrefslogtreecommitdiffstats
path: root/man-pages-posix-2003/man3p/fflush.3p
diff options
context:
space:
mode:
Diffstat (limited to 'man-pages-posix-2003/man3p/fflush.3p')
-rw-r--r--man-pages-posix-2003/man3p/fflush.3p155
1 files changed, 155 insertions, 0 deletions
diff --git a/man-pages-posix-2003/man3p/fflush.3p b/man-pages-posix-2003/man3p/fflush.3p
new file mode 100644
index 0000000..3daeb15
--- /dev/null
+++ b/man-pages-posix-2003/man3p/fflush.3p
@@ -0,0 +1,155 @@
+.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
+.TH "FFLUSH" 3P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\" fflush
+.SH PROLOG
+This manual page is part of the POSIX Programmer's Manual.
+The Linux implementation of this interface may differ (consult
+the corresponding Linux manual page for details of Linux behavior),
+or the interface may not be implemented on Linux.
+.SH NAME
+fflush \- flush a stream
+.SH SYNOPSIS
+.LP
+\fB#include <stdio.h>
+.br
+.sp
+int fflush(FILE *\fP\fIstream\fP\fB);
+.br
+\fP
+.SH DESCRIPTION
+.LP
+If \fIstream\fP points to an output stream or an update stream in
+which the most recent operation was not input,
+\fIfflush\fP() shall cause any unwritten data for that stream to be
+written to the file, and the
+\fIst_ctime\fP and \fIst_mtime\fP fields of the underlying file shall
+be marked for update.
+.LP
+If \fIstream\fP is a null pointer, \fIfflush\fP() shall perform this
+flushing action on all streams for which the behavior is
+defined above.
+.SH RETURN VALUE
+.LP
+Upon successful completion, \fIfflush\fP() shall return 0; otherwise,
+it shall set the error indicator for the stream, return
+EOF,
+\ and set \fIerrno\fP to indicate the error.
+.SH ERRORS
+.LP
+The \fIfflush\fP() function shall fail if:
+.TP 7
+.B EAGAIN
+The O_NONBLOCK flag is set for the file descriptor underlying \fIstream\fP
+and the process would be delayed in the write
+operation.
+.TP 7
+.B EBADF
+The file descriptor underlying \fIstream\fP is not valid.
+.TP 7
+.B EFBIG
+An
+attempt was made to write a file that exceeds the maximum file size.
+.TP 7
+.B EFBIG
+An attempt was made to write a file that exceeds the process' file
+size limit.
+.TP 7
+.B EFBIG
+The file is a regular file and an attempt was made to write at or
+beyond the offset maximum associated with the corresponding
+stream.
+.TP 7
+.B EINTR
+The \fIfflush\fP() function was interrupted by a signal.
+.TP 7
+.B EIO
+The process is a member of a background process group attempting to
+write to its controlling terminal, TOSTOP is set, the process
+is neither ignoring nor blocking SIGTTOU, and the process group of
+the process is orphaned. This error may also be returned under
+implementation-defined conditions.
+.TP 7
+.B ENOSPC
+There was no free space remaining on the device containing the file.
+.TP 7
+.B EPIPE
+An
+attempt is made to write to a pipe or FIFO that is not open for reading
+by any process. A SIGPIPE signal shall also be sent to the
+thread.
+.sp
+.LP
+The \fIfflush\fP() function may fail if:
+.TP 7
+.B ENXIO
+A
+request was made of a nonexistent device, or the request was outside
+the capabilities of the device.
+.sp
+.LP
+\fIThe following sections are informative.\fP
+.SH EXAMPLES
+.SS Sending Prompts to Standard Output
+.LP
+The following example uses \fIprintf\fP() calls to print a series
+of prompts for
+information the user must enter from standard input. The \fIfflush\fP()
+calls force the output to standard output. The
+\fIfflush\fP() function is used because standard output is usually
+buffered and the prompt may not immediately be printed on the
+output or terminal. The \fIgets\fP() calls read strings from standard
+input and place the
+results in variables, for use later in the program.
+.sp
+.RS
+.nf
+
+\fB#include <stdio.h>
+\&...
+char user[100];
+char oldpasswd[100];
+char newpasswd[100];
+\&...
+printf("User name: ");
+fflush(stdout);
+gets(user);
+.sp
+
+printf("Old password: ");
+fflush(stdout);
+gets(oldpasswd);
+.sp
+
+printf("New password: ");
+fflush(stdout);
+gets(newpasswd);
+\&...
+\fP
+.fi
+.RE
+.SH APPLICATION USAGE
+.LP
+None.
+.SH RATIONALE
+.LP
+Data buffered by the system may make determining the validity of the
+position of the current file descriptor impractical. Thus,
+enforcing the repositioning of the file descriptor after \fIfflush\fP()
+on streams open for \fIread\fP() is not mandated by IEEE\ Std\ 1003.1-2001.
+.SH FUTURE DIRECTIONS
+.LP
+None.
+.SH SEE ALSO
+.LP
+\fIgetrlimit\fP(), \fIulimit\fP(), the Base Definitions volume of
+IEEE\ Std\ 1003.1-2001, \fI<stdio.h>\fP
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group. In the
+event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.opengroup.org/unix/online.html .