Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
fflush(3C)		 Standard C Library Functions		    fflush(3C)

NAME
       fflush -	flush a	stream

SYNOPSIS
       #include	<stdio.h>

       int fflush(FILE *stream);

DESCRIPTION
       If  stream  points to an	output stream or an update stream in which the
       most recent operation was not input, fflush() causes any	unwritten data
       for  that  stream  to  be  written  to  the  file, and the st_ctime and
       st_mtime	fields of the underlying file are marked for update.

       If stream is a null pointer, fflush() performs this flushing action  on
       all  streams  for which the behavior is defined above. Additionally, an
       input stream or an update stream	into which the most  recent  operation
       was  input is also flushed if it	is seekable and	is not already at end-
       of-file.	 Flushing an input stream discards any buffered	input and  ad-
       justs  the file pointer such that the next input	operation accesses the
       byte after the last one read.  A	stream is seekable if  the  underlying
       file  is	 not  a	 pipe,	FIFO, socket, or TTY device.  An input stream,
       seekable	or non-seekable, can be	flushed	by explicitly calling fflush()
       with a non-null argument	specifying that	stream.

RETURN VALUES
       Upon  successful	 completion, fflush() returns 0. Otherwise, it returns
       EOF and sets errno to indicate the error.

ERRORS
       The fflush() function will fail if:

       EAGAIN
	     The O_NONBLOCK flag is set	for  the  file	descriptor  underlying
	     stream and	the process would be delayed in	the write operation.

       EBADF The file descriptor underlying stream is not valid.

       EFBIG An	attempt	was made to write a file that exceeds the maximum file
	     size or the process's file	size limit; or the file	is  a  regular
	     file  and	an  attempt  was made to write at or beyond the	offset
	     maximum associated	with the corresponding stream.

       EINTR The fflush() function was interrupted by a	signal.

       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.

       ENOSPC
	     There  was	 no  free space	remaining on the device	containing the
	     file.

       EPIPE An	attempt	is made	to write to a pipe or FIFO that	 is  not  open
	     for reading by any	process. A SIGPIPE signal will also be sent to
	     the process.

       The fflush() function may fail if:

       ENXIO A request was made	of a non-existent device, or the  request  was
	     beyond the	limits of the device.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |MT-Level		     |MT-Safe			   |
       +-----------------------------+-----------------------------+

SEE ALSO
       getrlimit(2), ulimit(2),	attributes(5)

SunOS 5.9			  27 Mar 2001			    fflush(3C)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=fflush&sektion=3c&manpath=SunOS+5.9>

home | help