fileno
, fileno_unlocked
—return file descriptor associated with streamSynopsis
#include <stdio.h> int fileno(FILE *fp); #define _BSD_SOURCE #include <stdio.h> int fileno_unlocked(FILE *fp);
Description
You can use fileno
to return the file descriptor identified by fp.
fileno_unlocked
is a non-thread-safe version of fileno
.
fileno_unlocked
may only safely be used within a scope
protected by flockfile() (or ftrylockfile()) and funlockfile(). This
function may safely be used in a multi-threaded program if and only
if they are called while the invoking thread owns the (FILE *)
object, as is the case after a successful call to the flockfile() or
ftrylockfile() functions. If threads are disabled, then
fileno_unlocked
is equivalent to fileno
.
Returns
fileno
returns a non-negative integer when successful.
If fp is not an open stream, fileno
returns -1.
Portability
fileno
is not part of ANSI C.
POSIX requires fileno
.
fileno_unlocked
is a BSD extension also provided by GNU libc.
Supporting OS subroutines required: none.