1 /* 7.5 Errors <errno.h>
3 This file is part of the Public Domain C Library (PDCLib).
4 Permission is granted to use, modify, and / or redistribute at will.
7 #ifndef _PDCLIB_ERRNO_H
8 #define _PDCLIB_ERRNO_H _PDCLIB_ERRNO_H
10 #include <_PDCLIB_int.h>
12 _PDCLIB_BEGIN_EXTERN_C
14 extern int * _PDCLIB_errno_func( void );
15 #define errno (*_PDCLIB_errno_func())
17 /* C only requires the following three */
18 #define ERANGE _PDCLIB_ERANGE
19 #define EDOM _PDCLIB_EDOM
20 #define EILSEQ _PDCLIB_EILSEQ
22 /* C++11 additionally requires the following (taken from POSIX) */
23 #define E2BIG _PDCLIB_E2BIG
24 #define EACCES _PDCLIB_EACCES
25 #define EADDRINUSE _PDCLIB_EADDRINUSE
26 #define EADDRNOTAVAIL _PDCLIB_EADDRNOTAVAIL
27 #define EAFNOSUPPORT _PDCLIB_EAFNOSUPPORT
28 #define EAGAIN _PDCLIB_EAGAIN
29 #define EALREADY _PDCLIB_EALREADY
30 #define EBADF _PDCLIB_EBADF
31 #define EBADMSG _PDCLIB_EBADMSG
32 #define EBUSY _PDCLIB_EBUSY
33 #define ECANCELED _PDCLIB_ECANCELED
34 #define ECHILD _PDCLIB_ECHILD
35 #define ECONNABORTED _PDCLIB_ECONNABORTED
36 #define ECONNREFUSED _PDCLIB_ECONNREFUSED
37 #define ECONNRESET _PDCLIB_ECONNRESET
38 #define EDEADLK _PDCLIB_EDEADLK
39 #define EDESTADDRREQ _PDCLIB_EDESTADDRREQ
40 #define EEXIST _PDCLIB_EEXIST
41 #define EFAULT _PDCLIB_EFAULT
42 #define EFBIG _PDCLIB_EFBIG
43 #define EHOSTUNREACH _PDCLIB_EHOSTUNREACH
44 #define EIDRM _PDCLIB_EIDRM
45 #define EINPROGRESS _PDCLIB_EINPROGRESS
46 #define EINTR _PDCLIB_EINTR
47 #define EINVAL _PDCLIB_EINVAL
48 #define EIO _PDCLIB_EIO
49 #define EISCONN _PDCLIB_EISCONN
50 #define EISDIR _PDCLIB_EISDIR
51 #define ELOOP _PDCLIB_ELOOP
52 #define EMFILE _PDCLIB_EMFILE
53 #define EMLINK _PDCLIB_EMLINK
54 #define EMSGSIZE _PDCLIB_EMSGSIZE
55 #define ENAMETOOLONG _PDCLIB_ENAMETOOLONG
56 #define ENETDOWN _PDCLIB_ENETDOWN
57 #define ENETRESET _PDCLIB_ENETRESET
58 #define ENETUNREACH _PDCLIB_ENETUNREACH
59 #define ENFILE _PDCLIB_ENFILE
60 #define ENOBUFS _PDCLIB_ENOBUFS
61 #define ENODATA _PDCLIB_ENODATA
62 #define ENODEV _PDCLIB_ENODEV
63 #define ENOENT _PDCLIB_ENOENT
64 #define ENOEXEC _PDCLIB_ENOEXEC
65 #define ENOLCK _PDCLIB_ENOLCK
66 #define ENOLINK _PDCLIB_ENOLINK
67 #define ENOMEM _PDCLIB_ENOMEM
68 #define ENOMSG _PDCLIB_ENOMSG
69 #define ENOPROTOOPT _PDCLIB_ENOPROTOOPT
70 #define ENOSPC _PDCLIB_ENOSPC
71 #define ENOSR _PDCLIB_ENOSR
72 #define ENOSTR _PDCLIB_ENOSTR
73 #define ENOSYS _PDCLIB_ENOSYS
74 #define ENOTCONN _PDCLIB_ENOTCONN
75 #define ENOTDIR _PDCLIB_ENOTDIR
76 #define ENOTEMPTY _PDCLIB_ENOTEMPTY
77 #define ENOTRECOVERABLE _PDCLIB_ENOTRECOVERABLE
78 #define ENOTSOCK _PDCLIB_ENOTSOCK
79 #define ENOTSUP _PDCLIB_ENOTSUP
80 #define ENOTTY _PDCLIB_ENOTTY
81 #define ENXIO _PDCLIB_ENXIO
82 #define EOPNOTSUPP _PDCLIB_EOPNOTSUPP
83 #define EOVERFLOW _PDCLIB_EOVERFLOW
84 #define EOWNERDEAD _PDCLIB_EOWNERDEAD
85 #define EPERM _PDCLIB_EPERM
86 #define EPIPE _PDCLIB_EPIPE
87 #define EPROTO _PDCLIB_EPROTO
88 #define EPROTONOSUPPORT _PDCLIB_EPROTONOSUPPORT
89 #define EPROTOTYPE _PDCLIB_EPROTOTYPE
90 #define EROFS _PDCLIB_EROFS
91 #define ESPIPE _PDCLIB_ESPIPE
92 #define ESRCH _PDCLIB_ESRCH
93 #define ETIME _PDCLIB_ETIME
94 #define ETIMEDOUT _PDCLIB_ETIMEDOUT
95 #define ETXTBSY _PDCLIB_ETXTBSY
96 #define EWOULDBLOCK _PDCLIB_EWOULDBLOCK
97 #define EXDEV _PDCLIB_EXDEV