SETBUF(3) NEWLIB SETBUF(3)NAME
4.54 `setbuf'--specify full buffering for a file or stream
SYNOPSIS
#include <stdio.h>
void setbuf(FILE *FP, char *BUF);
DESCRIPTION
`setbuf' specifies that output to the file or stream identified by FP
should be fully buffered. All output for this file will go to a buffer
(of size `BUFSIZ', specified in ``stdio.h''). Output will be passed on
to the host system only when the buffer is full, or when an input oper‐
ation intervenes.
You may, if you wish, supply your own buffer by passing a pointer to
it as the argument BUF. It must have size `BUFSIZ'. You can also use
`NULL' as the value of BUF, to signal that the `setbuf' function is to
allocate the buffer.
*Warnings*
You may only use `setbuf' before performing any file operation other
than opening the file.
If you supply a non-null BUF, you must ensure that the associated
storage continues to be available until you close the stream identified
by FP.
RETURNS
`setbuf' does not return a result.
PORTABILITY
Both ANSI C and the System V Interface Definition (Issue 2) require
`setbuf'. However, they differ on the meaning of a `NULL' buffer
pointer: the SVID issue 2 specification says that a `NULL' buffer
pointer requests unbuffered output. For maximum portability, avoid
`NULL' buffer pointers.
Supporting OS subroutines required: `close', `fstat', `isatty',
`lseek', `read', `sbrk', `write'.
SEE ALSOsetbuf is part of the library. The full documentation for is main‐
tained as a Texinfo manual. If info and are properly installed at your
site, the command
info
will give you access to the complete manual.
NEWLIB April 2010 SETBUF(3)