isfdtype — test file type of a file descriptor


#include <sys/stat.h>
#include <sys/socket.h>

int isfdtype(int fd, int fdtype);

Feature Test Macro Requirements for glibc (see feature_test_macros(7)):


Since glibc 2.20:


Before glibc 2.20:



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 error, -1 is returned and errno is set to indicate the cause.


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

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.


Portable applications should use fstat(3) instead.

See Also



This page is part of release 5.04 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


2014-03-13 Linux Programmer's Manual