[CRT] Add missing posix error codes
[reactos.git] / sdk / include / crt / errno.h
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
5 */
6 #ifndef _INC_ERRNO
7 #define _INC_ERRNO
8
9 #include <crtdefs.h>
10
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14
15 #ifndef _CRT_ERRNO_DEFINED
16 #define _CRT_ERRNO_DEFINED
17 _CRTIMP extern int *__cdecl _errno(void);
18 #define errno (*_errno())
19
20 errno_t __cdecl _set_errno(_In_ int _Value);
21 errno_t __cdecl _get_errno(_Out_ int *_Value);
22 #endif
23
24 #define EPERM 1
25 #define ENOENT 2
26 #define ESRCH 3
27 #define EINTR 4
28 #define EIO 5
29 #define ENXIO 6
30 #define E2BIG 7
31 #define ENOEXEC 8
32 #define EBADF 9
33 #define ECHILD 10
34 #define EAGAIN 11
35 #define ENOMEM 12
36 #define EACCES 13
37 #define EFAULT 14
38 #define EBUSY 16
39 #define EEXIST 17
40 #define EXDEV 18
41 #define ENODEV 19
42 #define ENOTDIR 20
43 #define EISDIR 21
44 #define ENFILE 23
45 #define EMFILE 24
46 #define ENOTTY 25
47 #define EFBIG 27
48 #define ENOSPC 28
49 #define ESPIPE 29
50 #define EROFS 30
51 #define EMLINK 31
52 #define EPIPE 32
53 #define EDOM 33
54 #define EDEADLK 36
55 #define ENAMETOOLONG 38
56 #define ENOLCK 39
57 #define ENOSYS 40
58 #define ENOTEMPTY 41
59
60 #ifndef _CRT_NO_POSIX_ERROR_CODES
61 #define EADDRINUSE 100
62 #define EADDRNOTAVAIL 101
63 #define EAFNOSUPPORT 102
64 #define EALREADY 103
65 #define EBADMSG 104
66 #define ECANCELED 105
67 #define ECONNABORTED 106
68 #define ECONNREFUSED 107
69 #define ECONNRESET 108
70 #define EDESTADDRREQ 109
71 #define EHOSTUNREACH 110
72 #define EIDRM 111
73 #define EINPROGRESS 112
74 #define EISCONN 113
75 #define ELOOP 114
76 #define EMSGSIZE 115
77 #define ENETDOWN 116
78 #define ENETRESET 117
79 #define ENETUNREACH 118
80 #define ENOBUFS 119
81 #define ENODATA 120
82 #define ENOLINK 121
83 #define ENOMSG 122
84 #define ENOPROTOOPT 123
85 #define ENOSR 124
86 #define ENOSTR 125
87 #define ENOTCONN 126
88 #define ENOTRECOVERABLE 127
89 #define ENOTSOCK 128
90 #define ENOTSUP 129
91 #define EOPNOTSUPP 130
92 #define EOTHER 131
93 #define EOVERFLOW 132
94 #define EOWNERDEAD 133
95 #define EPROTO 134
96 #define EPROTONOSUPPORT 135
97 #define EPROTOTYPE 136
98 #define ETIME 137
99 #define ETIMEDOUT 138
100 #define ETXTBSY 139
101 #define EWOULDBLOCK 140
102 #endif
103
104 #ifndef RC_INVOKED
105 #if !defined(_SECURECRT_ERRCODE_VALUES_DEFINED)
106 #define _SECURECRT_ERRCODE_VALUES_DEFINED
107 #define EINVAL 22
108 #define ERANGE 34
109 #define EILSEQ 42
110 #define STRUNCATE 80
111 #endif
112 #endif
113
114 #define EDEADLOCK EDEADLK
115
116 #define EWOULDBLOCK 140
117
118 #ifdef __cplusplus
119 }
120 #endif
121 #endif