Manual Page Result
0
Command: __fpending | Section: 3 | Source: OpenBSD | File: __fpending.3
__FPENDING(3) FreeBSD Library Functions Manual __FPENDING(3)
NAME
__fpending, __freadahead, __freading, __freadptr, __freadptrinc,
__fseterr, __fwriting - stream extension functions
SYNOPSIS
#include <stdio_ext.h>
size_t
__fpending(FILE *stream);
size_t
__freadahead(FILE *stream);
int
__freading(FILE *stream);
const char *
__freadptr(FILE *stream, size_t *sizep);
void
__freadptrinc(FILE *stream, size_t increment);
void
__fseterr(FILE *stream);
int
__fwriting(FILE *stream);
DESCRIPTION
The __fpending() function returns the number of bytes of output data
currently buffered on stream.
The __freadahead() function returns the number of bytes of input data
currently buffered on stream.
The __freading() function returns non-zero if stream either was opened
read-only or if the last operation on the stream was a read or push-back
operation.
The __freadptr() function returns either a pointer to the next byte of
buffered input data on stream and stores the number of consecutive bytes
of buffered data available to the location pointed to by sizep, or return
NULL if there's no buffered input data. The value returned via sizep may
differ from the value that would be returned by __freadahead().
The __freadptrinc() function consumes increment bytes of buffered input
data on stream. This is only valid immediately after a non-NULL return
from __freadptr() and increment must not be greater than the size value
from that call.
The __fseterr() function sets the error indicator for stream.
The __fwriting() function returns non-zero if stream either was opened
write-only or append-only or if the last operation on the stream was a
write operation.
ERRORS
These functions should not fail and do not set the external variable
errno.
SEE ALSO
fflush(3)
HISTORY
The __fpending(), __freadahead(), __freading(), __freadptr(),
__freadptrinc(), __fseterr(), and __fwriting() functions appeared in
OpenBSD 7.6.
BUGS
These functions are under-specified and non-portable. They exist to
permit a particular "portability" library to function without direct
manipulation of stdio structures; everyone else should either implement
their own stdio layer, do the work of defining and standardizing the
required functionality, or reconsider their life decisions.
FreeBSD 14.1-RELEASE-p8 August 12, 2024 FreeBSD 14.1-RELEASE-p8