2 * D header file for C99.
4 * Copyright: Public Domain
5 * License: Public Domain
7 * Standards: ISO/IEC 9899:1999 (E)
13 extern (C) int getErrno();
14 extern (C) int setErrno(int);
17 int errno() { return getErrno(); }
18 int errno( int val ) { return setErrno( val ); }
24 const EPERM = 1; // Operation not permitted
25 const ENOENT = 2; // No such file or directory
26 const ESRCH = 3; // No such process
27 const EINTR = 4; // Interrupted system call
28 const EIO = 5; // I/O error
29 const ENXIO = 6; // No such device or address
30 const E2BIG = 7; // Argument list too long
31 const ENOEXEC = 8; // Exec format error
32 const EBADF = 9; // Bad file number
33 const ECHILD = 10; // No child processes
34 const EAGAIN = 11; // Try again
35 const ENOMEM = 12; // Out of memory
36 const EACCES = 13; // Permission denied
37 const EFAULT = 14; // Bad address
38 const EBUSY = 16; // Device or resource busy
39 const EEXIST = 17; // File exists
40 const EXDEV = 18; // Cross-device link
41 const ENODEV = 19; // No such device
42 const ENOTDIR = 20; // Not a directory
43 const EISDIR = 21; // Is a directory
44 const EINVAL = 22; // Invalid argument
45 const ENFILE = 23; // File table overflow
46 const EMFILE = 24; // Too many open files
47 const ENOTTY = 25; // Not a typewriter
48 const EFBIG = 27; // File too large
49 const ENOSPC = 28; // No space left on device
50 const ESPIPE = 29; // Illegal seek
51 const EROFS = 30; // Read-only file system
52 const EMLINK = 31; // Too many links
53 const EPIPE = 32; // Broken pipe
54 const EDOM = 33; // Math argument out of domain of func
55 const ERANGE = 34; // Math result not representable
56 const EDEADLK = 36; // Resource deadlock would occur
57 const ENAMETOOLONG = 38; // File name too long
58 const ENOLCK = 39; // No record locks available
59 const ENOSYS = 40; // Function not implemented
60 const ENOTEMPTY = 41; // Directory not empty
61 const EILSEQ = 42; // Illegal byte sequence
62 const EDEADLOCK = EDEADLK;
66 const EPERM = 1; // Operation not permitted
67 const ENOENT = 2; // No such file or directory
68 const ESRCH = 3; // No such process
69 const EINTR = 4; // Interrupted system call
70 const EIO = 5; // I/O error
71 const ENXIO = 6; // No such device or address
72 const E2BIG = 7; // Argument list too long
73 const ENOEXEC = 8; // Exec format error
74 const EBADF = 9; // Bad file number
75 const ECHILD = 10; // No child processes
76 const EAGAIN = 11; // Try again
77 const ENOMEM = 12; // Out of memory
78 const EACCES = 13; // Permission denied
79 const EFAULT = 14; // Bad address
80 const ENOTBLK = 15; // Block device required
81 const EBUSY = 16; // Device or resource busy
82 const EEXIST = 17; // File exists
83 const EXDEV = 18; // Cross-device link
84 const ENODEV = 19; // No such device
85 const ENOTDIR = 20; // Not a directory
86 const EISDIR = 21; // Is a directory
87 const EINVAL = 22; // Invalid argument
88 const ENFILE = 23; // File table overflow
89 const EMFILE = 24; // Too many open files
90 const ENOTTY = 25; // Not a typewriter
91 const ETXTBSY = 26; // Text file busy
92 const EFBIG = 27; // File too large
93 const ENOSPC = 28; // No space left on device
94 const ESPIPE = 29; // Illegal seek
95 const EROFS = 30; // Read-only file system
96 const EMLINK = 31; // Too many links
97 const EPIPE = 32; // Broken pipe
98 const EDOM = 33; // Math argument out of domain of func
99 const ERANGE = 34; // Math result not representable
100 const EDEADLK = 35; // Resource deadlock would occur
101 const ENAMETOOLONG = 36; // File name too long
102 const ENOLCK = 37; // No record locks available
103 const ENOSYS = 38; // Function not implemented
104 const ENOTEMPTY = 39; // Directory not empty
105 const ELOOP = 40; // Too many symbolic links encountered
106 const EWOULDBLOCK = EAGAIN; // Operation would block
107 const ENOMSG = 42; // No message of desired type
108 const EIDRM = 43; // Identifier removed
109 const ECHRNG = 44; // Channel number out of range
110 const EL2NSYNC = 45; // Level 2 not synchronized
111 const EL3HLT = 46; // Level 3 halted
112 const EL3RST = 47; // Level 3 reset
113 const ELNRNG = 48; // Link number out of range
114 const EUNATCH = 49; // Protocol driver not attached
115 const ENOCSI = 50; // No CSI structure available
116 const EL2HLT = 51; // Level 2 halted
117 const EBADE = 52; // Invalid exchange
118 const EBADR = 53; // Invalid request descriptor
119 const EXFULL = 54; // Exchange full
120 const ENOANO = 55; // No anode
121 const EBADRQC = 56; // Invalid request code
122 const EBADSLT = 57; // Invalid slot
123 const EDEADLOCK = EDEADLK;
124 const EBFONT = 59; // Bad font file format
125 const ENOSTR = 60; // Device not a stream
126 const ENODATA = 61; // No data available
127 const ETIME = 62; // Timer expired
128 const ENOSR = 63; // Out of streams resources
129 const ENONET = 64; // Machine is not on the network
130 const ENOPKG = 65; // Package not installed
131 const EREMOTE = 66; // Object is remote
132 const ENOLINK = 67; // Link has been severed
133 const EADV = 68; // Advertise error
134 const ESRMNT = 69; // Srmount error
135 const ECOMM = 70; // Communication error on send
136 const EPROTO = 71; // Protocol error
137 const EMULTIHOP = 72; // Multihop attempted
138 const EDOTDOT = 73; // RFS specific error
139 const EBADMSG = 74; // Not a data message
140 const EOVERFLOW = 75; // Value too large for defined data type
141 const ENOTUNIQ = 76; // Name not unique on network
142 const EBADFD = 77; // File descriptor in bad state
143 const EREMCHG = 78; // Remote address changed
144 const ELIBACC = 79; // Can not access a needed shared library
145 const ELIBBAD = 80; // Accessing a corrupted shared library
146 const ELIBSCN = 81; // .lib section in a.out corrupted
147 const ELIBMAX = 82; // Attempting to link in too many shared libraries
148 const ELIBEXEC = 83; // Cannot exec a shared library directly
149 const EILSEQ = 84; // Illegal byte sequence
150 const ERESTART = 85; // Interrupted system call should be restarted
151 const ESTRPIPE = 86; // Streams pipe error
152 const EUSERS = 87; // Too many users
153 const ENOTSOCK = 88; // Socket operation on non-socket
154 const EDESTADDRREQ = 89; // Destination address required
155 const EMSGSIZE = 90; // Message too long
156 const EPROTOTYPE = 91; // Protocol wrong type for socket
157 const ENOPROTOOPT = 92; // Protocol not available
158 const EPROTONOSUPPORT = 93; // Protocol not supported
159 const ESOCKTNOSUPPORT = 94; // Socket type not supported
160 const EOPNOTSUPP = 95; // Operation not supported on transport endpoint
161 const EPFNOSUPPORT = 96; // Protocol family not supported
162 const EAFNOSUPPORT = 97; // Address family not supported by protocol
163 const EADDRINUSE = 98; // Address already in use
164 const EADDRNOTAVAIL = 99; // Cannot assign requested address
165 const ENETDOWN = 100; // Network is down
166 const ENETUNREACH = 101; // Network is unreachable
167 const ENETRESET = 102; // Network dropped connection because of reset
168 const ECONNABORTED = 103; // Software caused connection abort
169 const ECONNRESET = 104; // Connection reset by peer
170 const ENOBUFS = 105; // No buffer space available
171 const EISCONN = 106; // Transport endpoint is already connected
172 const ENOTCONN = 107; // Transport endpoint is not connected
173 const ESHUTDOWN = 108; // Cannot send after transport endpoint shutdown
174 const ETOOMANYREFS = 109; // Too many references: cannot splice
175 const ETIMEDOUT = 110; // Connection timed out
176 const ECONNREFUSED = 111; // Connection refused
177 const EHOSTDOWN = 112; // Host is down
178 const EHOSTUNREACH = 113; // No route to host
179 const EALREADY = 114; // Operation already in progress
180 const EINPROGRESS = 115; // Operation now in progress
181 const ESTALE = 116; // Stale NFS file handle
182 const EUCLEAN = 117; // Structure needs cleaning
183 const ENOTNAM = 118; // Not a XENIX named type file
184 const ENAVAIL = 119; // No XENIX semaphores available
185 const EISNAM = 120; // Is a named type file
186 const EREMOTEIO = 121; // Remote I/O error
187 const EDQUOT = 122; // Quota exceeded
188 const ENOMEDIUM = 123; // No medium found
189 const EMEDIUMTYPE = 124; // Wrong medium type
190 const ECANCELED = 125; // Operation Canceled
191 const ENOKEY = 126; // Required key not available
192 const EKEYEXPIRED = 127; // Key has expired
193 const EKEYREVOKED = 128; // Key has been revoked
194 const EKEYREJECTED = 129; // Key was rejected by service
195 const EOWNERDEAD = 130; // Owner died
196 const ENOTRECOVERABLE = 131; // State not recoverable
198 else version( darwin )
200 const EPERM = 1; // Operation not permitted
201 const ENOENT = 2; // No such file or directory
202 const ESRCH = 3; // No such process
203 const EINTR = 4; // Interrupted system call
204 const EIO = 5; // Input/output error
205 const ENXIO = 6; // Device not configured
206 const E2BIG = 7; // Argument list too long
207 const ENOEXEC = 8; // Exec format error
208 const EBADF = 9; // Bad file descriptor
209 const ECHILD = 10; // No child processes
210 const EDEADLK = 11; // Resource deadlock avoided
211 const ENOMEM = 12; // Cannot allocate memory
212 const EACCES = 13; // Permission denied
213 const EFAULT = 14; // Bad address
214 const EBUSY = 16; // Device busy
215 const EEXIST = 17; // File exists
216 const EXDEV = 18; // Cross-device link
217 const ENODEV = 19; // Operation not supported by device
218 const ENOTDIR = 20; // Not a directory
219 const EISDIR = 21; // Is a directory
220 const EINVAL = 22; // Invalid argument
221 const ENFILE = 23; // Too many open files in system
222 const EMFILE = 24; // Too many open files
223 const ENOTTY = 25; // Inappropriate ioctl for device
224 const ETXTBSY = 26; // Text file busy
225 const EFBIG = 27; // File too large
226 const ENOSPC = 28; // No space left on device
227 const ESPIPE = 29; // Illegal seek
228 const EROFS = 30; // Read-only file system
229 const EMLINK = 31; // Too many links
230 const EPIPE = 32; // Broken pipe
231 const EDOM = 33; // Numerical argument out of domain
232 const ERANGE = 34; // Result too large
233 const EAGAIN = 35; // Resource temporarily unavailable
234 const EWOULDBLOCK = EAGAIN; // Operation would block
235 const EINPROGRESS = 36; // Operation now in progress
236 const EALREADY = 37; // Operation already in progress
237 const ENOTSOCK = 38; // Socket operation on non-socket
238 const EDESTADDRREQ = 39; // Destination address required
239 const EMSGSIZE = 40; // Message too long
240 const EPROTOTYPE = 41; // Protocol wrong type for socket
241 const ENOPROTOOPT = 42; // Protocol not available
242 const EPROTONOSUPPORT = 43; // Protocol not supported
243 const ENOTSUP = 45; // Operation not supported
244 const EOPNOTSUPP = ENOTSUP; // Operation not supported on socket
245 const EAFNOSUPPORT = 47; // Address family not supported by protocol family
246 const EADDRINUSE = 48; // Address already in use
247 const EADDRNOTAVAIL = 49; // Can't assign requested address
248 const ENETDOWN = 50; // Network is down
249 const ENETUNREACH = 51; // Network is unreachable
250 const ENETRESET = 52; // Network dropped connection on reset
251 const ECONNABORTED = 53; // Software caused connection abort
252 const ECONNRESET = 54; // Connection reset by peer
253 const ENOBUFS = 55; // No buffer space available
254 const EISCONN = 56; // Socket is already connected
255 const ENOTCONN = 57; // Socket is not connected
256 const ETIMEDOUT = 60; // Operation timed out
257 const ECONNREFUSED = 61; // Connection refused
258 const ELOOP = 62; // Too many levels of symbolic links
259 const ENAMETOOLONG = 63; // File name too long
260 const EHOSTUNREACH = 65; // No route to host
261 const ENOTEMPTY = 66; // Directory not empty
262 const EDQUOT = 69; // Disc quota exceeded
263 const ESTALE = 70; // Stale NFS file handle
264 const ENOLCK = 77; // No locks available
265 const ENOSYS = 78; // Function not implemented
266 const EOVERFLOW = 84; // Value too large to be stored in data type
267 const ECANCELED = 89; // Operation canceled
268 const EIDRM = 90; // Identifier removed
269 const ENOMSG = 91; // No message of desired type
270 const EILSEQ = 92; // Illegal byte sequence
271 const EBADMSG = 94; // Bad message
272 const EMULTIHOP = 95; // Reserved
273 const ENODATA = 96; // No message available on STREAM
274 const ENOLINK = 97; // Reserved
275 const ENOSR = 98; // No STREAM resources
276 const ENOSTR = 99; // Not a STREAM
277 const EPROTO = 100; // Protocol error
278 const ETIME = 101; // STREAM ioctl timeout
279 const ELAST = 101; // Must be equal largest errno
281 else version( freebsd )
283 const EPERM = 1; // Operation not permitted
284 const ENOENT = 2; // No such file or directory
285 const ESRCH = 3; // No such process
286 const EINTR = 4; // Interrupted system call
287 const EIO = 5; // Input/output error
288 const ENXIO = 6; // Device not configured
289 const E2BIG = 7; // Argument list too long
290 const ENOEXEC = 8; // Exec format error
291 const EBADF = 9; // Bad file descriptor
292 const ECHILD = 10; // No child processes
293 const EDEADLK = 11; // Resource deadlock avoided
294 const ENOMEM = 12; // Cannot allocate memory
295 const EACCES = 13; // Permission denied
296 const EFAULT = 14; // Bad address
297 const ENOTBLK = 15; // Block device required
298 const EBUSY = 16; // Device busy
299 const EEXIST = 17; // File exists
300 const EXDEV = 18; // Cross-device link
301 const ENODEV = 19; // Operation not supported by device
302 const ENOTDIR = 20; // Not a directory
303 const EISDIR = 21; // Is a directory
304 const EINVAL = 22; // Invalid argument
305 const ENFILE = 23; // Too many open files in system
306 const EMFILE = 24; // Too many open files
307 const ENOTTY = 25; // Inappropriate ioctl for device
308 const ETXTBSY = 26; // Text file busy
309 const EFBIG = 27; // File too large
310 const ENOSPC = 28; // No space left on device
311 const ESPIPE = 29; // Illegal seek
312 const EROFS = 30; // Read-only file system
313 const EMLINK = 31; // Too many links
314 const EPIPE = 32; // Broken pipe
315 const EDOM = 33; // Numerical argument out of domain
316 const ERANGE = 34; // Result too large
317 const EAGAIN = 35; // Resource temporarily unavailable
318 const EWOULDBLOCK = EAGAIN; // Operation would block
319 const EINPROGRESS = 36; // Operation now in progress
320 const EALREADY = 37; // Operation already in progress
321 const ENOTSOCK = 38; // Socket operation on non-socket
322 const EDESTADDRREQ = 39; // Destination address required
323 const EMSGSIZE = 40; // Message too long
324 const EPROTOTYPE = 41; // Protocol wrong type for socket
325 const ENOPROTOOPT = 42; // Protocol not available
326 const EPROTONOSUPPORT = 43; // Protocol not supported
327 const ENOTSUP = 45; // Operation not supported
328 const EOPNOTSUPP = ENOTSUP; // Operation not supported on socket
329 const EAFNOSUPPORT = 47; // Address family not supported by protocol family
330 const EADDRINUSE = 48; // Address already in use
331 const EADDRNOTAVAIL = 49; // Can't assign requested address
332 const ENETDOWN = 50; // Network is down
333 const ENETUNREACH = 51; // Network is unreachable
334 const ENETRESET = 52; // Network dropped connection on reset
335 const ECONNABORTED = 53; // Software caused connection abort
336 const ECONNRESET = 54; // Connection reset by peer
337 const ENOBUFS = 55; // No buffer space available
338 const EISCONN = 56; // Socket is already connected
339 const ENOTCONN = 57; // Socket is not connected
340 const ESHUTDOWN = 58; // Can't send after socket shutdown
341 const ETOOMANYREFS = 59; // Too many refrences; can't splice
342 const ETIMEDOUT = 60; // Operation timed out
343 const ECONNREFUSED = 61; // Connection refused
344 const ELOOP = 62; // Too many levels of symbolic links
345 const ENAMETOOLONG = 63; // File name too long
346 const EHOSTUNREACH = 65; // No route to host
347 const ENOTEMPTY = 66; // Directory not empty
348 const EPROCLIM = 67; // Too many processes
349 const EUSERS = 68; // Too many users
350 const EDQUOT = 69; // Disc quota exceeded
351 const ESTALE = 70; // Stale NFS file handle
352 const EREMOTE = 71; // Too many levels of remote in path
353 const EBADRPC = 72; // RPC struct is bad
354 const ERPCMISMATCH = 73; // RPC version wrong
355 const EPROGUNAVAIL = 74; // RPC prog. not avail
356 const EPROGMISMATCH = 75; // Program version wrong
357 const EPROCUNAVAIL = 76; // Bad procedure for program
358 const ENOLCK = 77; // No locks available
359 const ENOSYS = 78; // Function not implemented
360 const EFTYPE = 79; // Inappropriate file type or format
361 const EAUTH = 80; // Authentication error
362 const ENEEDAUTH = 81; // Need authenticator
363 const EIDRM = 82; // Itendifier removed
364 const ENOMSG = 83; // No message of desired type
365 const EOVERFLOW = 84; // Value too large to be stored in data type
366 const ECANCELED = 85; // Operation canceled
367 const EILSEQ = 86; // Illegal byte sequence
368 const ENOATTR = 87; // Attribute not found
369 const EDOOFUS = 88; // Programming error
370 const EBADMSG = 89; // Bad message
371 const EMULTIHOP = 90; // Multihop attempted
372 const ENOLINK = 91; // Link has been severed
373 const EPROTO = 92; // Protocol error
374 const ELAST = 92; // Must be equal largest errno