1errno.h(0P) POSIX Programmer's Manual errno.h(0P)
2
3
4
6 This manual page is part of the POSIX Programmer's Manual. The Linux
7 implementation of this interface may differ (consult the corresponding
8 Linux manual page for details of Linux behavior), or the interface may
9 not be implemented on Linux.
10
12 errno.h — system error numbers
13
15 #include <errno.h>
16
18 Some of the functionality described on this reference page extends the
19 ISO C standard. Any conflict between the requirements described here
20 and the ISO C standard is unintentional. This volume of POSIX.1‐2017
21 defers to the ISO C standard.
22
23 The ISO C standard only requires the symbols [EDOM], [EILSEQ], and
24 [ERANGE] to be defined.
25
26 The <errno.h> header shall provide a declaration or definition for
27 errno. The symbol errno shall expand to a modifiable lvalue of type
28 int. It is unspecified whether errno is a macro or an identifier
29 declared with external linkage. If a macro definition is suppressed in
30 order to access an actual object, or a program defines an identifier
31 with the name errno, the behavior is undefined.
32
33 The <errno.h> header shall define the following macros which shall
34 expand to integer constant expressions with type int, distinct positive
35 values (except as noted below), and which shall be suitable for use in
36 #if preprocessing directives:
37
38 E2BIG Argument list too long.
39
40 EACCES Permission denied.
41
42 EADDRINUSE
43 Address in use.
44
45 EADDRNOTAVAIL
46 Address not available.
47
48 EAFNOSUPPORT
49 Address family not supported.
50
51 EAGAIN Resource unavailable, try again (may be the same value as
52 [EWOULDBLOCK]).
53
54 EALREADY
55 Connection already in progress.
56
57 EBADF Bad file descriptor.
58
59 EBADMSG
60 Bad message.
61
62 EBUSY Device or resource busy.
63
64 ECANCELED
65 Operation canceled.
66
67 ECHILD No child processes.
68
69 ECONNABORTED
70 Connection aborted.
71
72 ECONNREFUSED
73 Connection refused.
74
75 ECONNRESET
76 Connection reset.
77
78 EDEADLK
79 Resource deadlock would occur.
80
81 EDESTADDRREQ
82 Destination address required.
83
84 EDOM Mathematics argument out of domain of function.
85
86 EDQUOT Reserved.
87
88 EEXIST File exists.
89
90 EFAULT Bad address.
91
92 EFBIG File too large.
93
94 EHOSTUNREACH
95 Host is unreachable.
96
97 EIDRM Identifier removed.
98
99 EILSEQ Illegal byte sequence.
100
101 EINPROGRESS
102 Operation in progress.
103
104 EINTR Interrupted function.
105
106 EINVAL Invalid argument.
107
108 EIO I/O error.
109
110 EISCONN
111 Socket is connected.
112
113 EISDIR Is a directory.
114
115 ELOOP Too many levels of symbolic links.
116
117 EMFILE File descriptor value too large.
118
119 EMLINK Too many links.
120
121 EMSGSIZE
122 Message too large.
123
124 EMULTIHOP
125 Reserved.
126
127 ENAMETOOLONG
128 Filename too long.
129
130 ENETDOWN
131 Network is down.
132
133 ENETRESET
134 Connection aborted by network.
135
136 ENETUNREACH
137 Network unreachable.
138
139 ENFILE Too many files open in system.
140
141 ENOBUFS
142 No buffer space available.
143
144 ENODATA
145 No message is available on the STREAM head read queue.
146
147 ENODEV No such device.
148
149 ENOENT No such file or directory.
150
151 ENOEXEC
152 Executable file format error.
153
154 ENOLCK No locks available.
155
156 ENOLINK
157 Reserved.
158
159 ENOMEM Not enough space.
160
161 ENOMSG No message of the desired type.
162
163 ENOPROTOOPT
164 Protocol not available.
165
166 ENOSPC No space left on device.
167
168 ENOSR No STREAM resources.
169
170 ENOSTR Not a STREAM.
171
172 ENOSYS Functionality not supported.
173
174 ENOTCONN
175 The socket is not connected.
176
177 ENOTDIR
178 Not a directory or a symbolic link to a directory.
179
180 ENOTEMPTY
181 Directory not empty.
182
183 ENOTRECOVERABLE
184 State not recoverable.
185
186 ENOTSOCK
187 Not a socket.
188
189 ENOTSUP
190 Not supported (may be the same value as [EOPNOTSUPP]).
191
192 ENOTTY Inappropriate I/O control operation.
193
194 ENXIO No such device or address.
195
196 EOPNOTSUPP
197 Operation not supported on socket (may be the same value as
198 [ENOTSUP]).
199
200 EOVERFLOW
201 Value too large to be stored in data type.
202
203 EOWNERDEAD
204 Previous owner died.
205
206 EPERM Operation not permitted.
207
208 EPIPE Broken pipe.
209
210 EPROTO Protocol error.
211
212 EPROTONOSUPPORT
213 Protocol not supported.
214
215 EPROTOTYPE
216 Protocol wrong type for socket.
217
218 ERANGE Result too large.
219
220 EROFS Read-only file system.
221
222 ESPIPE Invalid seek.
223
224 ESRCH No such process.
225
226 ESTALE Reserved.
227
228 ETIME Stream ioctl() timeout.
229
230 ETIMEDOUT
231 Connection timed out.
232
233 ETXTBSY
234 Text file busy.
235
236 EWOULDBLOCK
237 Operation would block (may be the same value as [EAGAIN]).
238
239 EXDEV Cross-device link.
240
241 The following sections are informative.
242
244 Additional error numbers may be defined on conforming systems; see the
245 System Interfaces volume of POSIX.1‐2017.
246
248 None.
249
251 None.
252
254 The System Interfaces volume of POSIX.1‐2017, Section 2.3, Error Num‐
255 bers
256
258 Portions of this text are reprinted and reproduced in electronic form
259 from IEEE Std 1003.1-2017, Standard for Information Technology -- Por‐
260 table Operating System Interface (POSIX), The Open Group Base Specifi‐
261 cations Issue 7, 2018 Edition, Copyright (C) 2018 by the Institute of
262 Electrical and Electronics Engineers, Inc and The Open Group. In the
263 event of any discrepancy between this version and the original IEEE and
264 The Open Group Standard, the original IEEE and The Open Group Standard
265 is the referee document. The original Standard can be obtained online
266 at http://www.opengroup.org/unix/online.html .
267
268 Any typographical or formatting errors that appear in this page are
269 most likely to have been introduced during the conversion of the source
270 files to man page format. To report such errors, see https://www.ker‐
271 nel.org/doc/man-pages/reporting_bugs.html .
272
273
274
275IEEE/The Open Group 2017 errno.h(0P)