1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
'\" t
.\" Copyright 1990-1991, The Regents of the University of California.
.\" Copyright, the authors of the Linux man-pages project
.\"
.\" SPDX-License-Identifier: BSD-4-Clause-UC
.\"
.TH fileno 3 2025-05-17 "Linux man-pages (unreleased)"
.SH NAME
fileno \- obtain file descriptor of a stdio stream
.SH LIBRARY
Standard C library
.RI ( libc ,\~ \-lc )
.SH SYNOPSIS
.nf
.B #include <stdio.h>
.P
.BI "int fileno(FILE *" stream );
.fi
.P
.RS -4
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.RE
.P
.BR fileno ():
.nf
_POSIX_C_SOURCE
.fi
.SH DESCRIPTION
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.
.P
For the nonlocking counterpart, see
.BR unlocked_stdio (3).
.SH RETURN VALUE
On success,
.BR fileno ()
returns the file descriptor associated with
.IR stream .
On failure, \-1 is returned and
.I errno
is set to indicate the error.
.SH ERRORS
.TP
.B EBADF
.I stream
is not associated with a file.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.TS
allbox;
lbx lb lb
l l l.
Interface Attribute Value
T{
.na
.nh
.BR fileno ()
T} Thread safety MT-Safe
.TE
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
.BR open (2),
.BR fdopen (3),
.BR stdio (3),
.BR unlocked_stdio (3)
|