Name

isfdtype — test file type of a file descriptor

Synopsis

#include <sys/stat.h>
#include <sys/socket.h>
int isfdtype( int fd,
  int fdtype);
 
[Note] Note
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
isfdtype():
Since glibc 2.20:
_DEFAULT_SOURCE Before glibc 2.20:
_BSD_SOURCE || _SVID_SOURCE

DESCRIPTION

The isfdtype() function tests whether the file descriptor fd refers to a file of type fdtype. The fdtype argument specifies one of the S_IF* constants defined in <sys/stat.h> and documented in stat(2) (e.g., S_IFREG).

RETURN VALUE

The isfdtype() function returns 1 if the file descriptor fd is of type fdtype and 0 if it is not. On failure, −1 is returned and errno is set to indicate the error.

ERRORS

The isfdtype() function can fail with any of the same errors as fstat(2).

CONFORMING TO

The isfdtype() function is not specified in any standard, but did appear in the draft POSIX.1g standard. It is present on OpenBSD and Tru64 UNIX (where the required header file in both cases is just <sys/stat.h> as shown in the POSIX.1g draft), and possibly other systems.

NOTES

Portable applications should use fstat(2) instead.

SEE ALSO

fstat(2)

COLOPHON

This page is part of release 5.11 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man−pages/.


  Copyright (C) 2014 Michael Kerrisk <mtk.manpagesgmail.com>

%%%LICENSE_START(VERBATIM)
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.

Since the Linux kernel and libraries are constantly changing, this
manual page may be incorrect or out-of-date.  The author(s) assume no
responsibility for errors or omissions, or for damages resulting from
the use of the information contained herein.  The author(s) may not
have taken the same level of care in the production of this manual,
which is licensed free of charge, as they might when working
professionally.

Formatted or processed versions of this manual, if unaccompanied by
the source, must acknowledge the copyright and authors of this work.
%%%LICENSE_END