summaryrefslogtreecommitdiffstats
path: root/man3/isfdtype.3
blob: 66b81b9429eb238f48797e30b04811d3b853f8d6 (plain) (blame)
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
.\" Copyright (C) 2014 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.TH isfdtype 3 2022-10-30 "Linux man-pages 6.03"
.SH NAME
isfdtype \- test file type of a file descriptor
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.B #include <sys/stat.h>
.B #include <sys/socket.h>
.PP
.BI "int isfdtype(int " fd ", int " fdtype );
.fi
.PP
.RS -4
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.RE
.PP
.BR isfdtype ():
.nf
    Since glibc 2.20:
        _DEFAULT_SOURCE
    Before glibc 2.20:
        _BSD_SOURCE || _SVID_SOURCE
.fi
.SH DESCRIPTION
The
.BR isfdtype ()
function tests whether the file descriptor
.I fd
refers to a file of type
.IR fdtype .
The
.I fdtype
argument specifies one of the
.B S_IF*
constants defined in
.I <sys/stat.h>
and documented in
.BR stat (2)
(e.g.,
.BR S_IFREG ).
.SH RETURN VALUE
The
.BR isfdtype ()
function returns 1 if the file descriptor
.I fd
is of type
.I fdtype
and 0 if it is not.
On failure, \-1 is returned and
.I errno
is set to indicate the error.
.SH ERRORS
The
.BR isfdtype ()
function can fail with any of the same errors as
.BR fstat (2).
.SH STANDARDS
The
.BR 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
.IR <sys/stat.h> ,
as shown in the POSIX.1g draft),
and possibly other systems.
.SH NOTES
Portable applications should use
.BR fstat (2)
instead.
.SH SEE ALSO
.BR fstat (2)