diff options
Diffstat (limited to 'man-pages-posix-2003/man3p/fflush.3p')
-rw-r--r-- | man-pages-posix-2003/man3p/fflush.3p | 155 |
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 . |