| .\" Copyright (c) 1990, 1991 The Regents of the University of California. |
| .\" All rights reserved. |
| .\" |
| .\" This code is derived from software contributed to Berkeley by |
| .\" Chris Torek and the American National Standards Committee X3, |
| .\" on Information Processing Systems. |
| .\" |
| .\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) |
| .\" Redistribution and use in source and binary forms, with or without |
| .\" modification, are permitted provided that the following conditions |
| .\" are met: |
| .\" 1. Redistributions of source code must retain the above copyright |
| .\" notice, this list of conditions and the following disclaimer. |
| .\" 2. Redistributions in binary form must reproduce the above copyright |
| .\" notice, this list of conditions and the following disclaimer in the |
| .\" documentation and/or other materials provided with the distribution. |
| .\" 3. All advertising materials mentioning features or use of this software |
| .\" must display the following acknowledgement: |
| .\" This product includes software developed by the University of |
| .\" California, Berkeley and its contributors. |
| .\" 4. Neither the name of the University nor the names of its contributors |
| .\" may be used to endorse or promote products derived from this software |
| .\" without specific prior written permission. |
| .\" |
| .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
| .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
| .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
| .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
| .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
| .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
| .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
| .\" SUCH DAMAGE. |
| .\" %%%LICENSE_END |
| .\" |
| .\" @(#)ferror.3 6.8 (Berkeley) 6/29/91 |
| .\" |
| .\" |
| .\" Converted for Linux, Mon Nov 29 14:24:40 1993, faith@cs.unc.edu |
| .\" Added remark on EBADF for fileno, aeb, 2001-03-22 |
| .\" |
| .TH FERROR 3 2019-03-06 "" "Linux Programmer's Manual" |
| .SH NAME |
| clearerr, feof, ferror, fileno \- check and reset stream status |
| .SH SYNOPSIS |
| .B #include <stdio.h> |
| .PP |
| .BI "void clearerr(FILE *" stream ); |
| .PP |
| .BI "int feof(FILE *" stream ); |
| .PP |
| .BI "int ferror(FILE *" stream ); |
| .PP |
| .BI "int fileno(FILE *" stream ); |
| .PP |
| .in -4n |
| Feature Test Macro Requirements for glibc (see |
| .BR feature_test_macros (7)): |
| .in |
| .PP |
| .BR fileno (): |
| _POSIX_C_SOURCE |
| .SH DESCRIPTION |
| The function |
| .BR clearerr () |
| clears the end-of-file and error indicators for the stream pointed to by |
| .IR stream . |
| .PP |
| The function |
| .BR feof () |
| tests the end-of-file indicator for the stream pointed to by |
| .IR stream , |
| returning nonzero if it is set. |
| The end-of-file indicator can be cleared only by the function |
| .BR clearerr (). |
| .PP |
| The function |
| .BR ferror () |
| tests the error indicator for the stream pointed to by |
| .IR stream , |
| returning nonzero if it is set. |
| The error indicator can be reset only by the |
| .BR clearerr () |
| function. |
| .PP |
| The function |
| .BR fileno () |
| examines the argument |
| .I stream |
| and returns the integer file descriptor used to implement this stream. |
| The file descriptor is still owned by |
| .I stream |
| and will be closed when |
| .BR fclose (3) |
| is called. |
| Duplicate the file descriptor with |
| .BR dup (2) |
| before passing it to code that might close it. |
| .PP |
| For nonlocking counterparts, see |
| .BR unlocked_stdio (3). |
| .SH ERRORS |
| These functions should not fail and do not set the external variable |
| .IR errno . |
| (However, in case |
| .BR fileno () |
| detects that its argument is not a valid stream, it must |
| return \-1 and set |
| .I errno |
| to |
| .BR EBADF .) |
| .SH ATTRIBUTES |
| For an explanation of the terms used in this section, see |
| .BR attributes (7). |
| .TS |
| allbox; |
| lbw19 lb lb |
| l l l. |
| Interface Attribute Value |
| T{ |
| .BR clearerr (), |
| .BR feof (), |
| .br |
| .BR ferror (), |
| .BR fileno () |
| T} Thread safety MT-Safe |
| .TE |
| .SH CONFORMING TO |
| The functions |
| .BR clearerr (), |
| .BR feof (), |
| and |
| .BR ferror () |
| conform to C89, C99, POSIX.1-2001, and POSIX.1-2008. |
| .PP |
| The function |
| .BR fileno () |
| conforms to POSIX.1-2001 and POSIX.1-2008. |
| .SH SEE ALSO |
| .BR open (2), |
| .BR fdopen (3), |
| .BR stdio (3), |
| .BR unlocked_stdio (3) |