OLD | NEW |
(Empty) | |
| 1 // -*- C++ -*- |
| 2 //===-------------------------- cerrno ------------------------------------===// |
| 3 // |
| 4 // The LLVM Compiler Infrastructure |
| 5 // |
| 6 // This file is dual licensed under the MIT and the University of Illinois Open |
| 7 // Source Licenses. See LICENSE.TXT for details. |
| 8 // |
| 9 //===----------------------------------------------------------------------===// |
| 10 |
| 11 #ifndef _LIBCPP_CERRNO |
| 12 #define _LIBCPP_CERRNO |
| 13 |
| 14 /* |
| 15 cerrno synopsis |
| 16 |
| 17 Macros: |
| 18 |
| 19 EDOM |
| 20 EILSEQ // C99 |
| 21 ERANGE |
| 22 errno |
| 23 |
| 24 */ |
| 25 |
| 26 #include <__config> |
| 27 #include <errno.h> |
| 28 |
| 29 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) |
| 30 #pragma GCC system_header |
| 31 #endif |
| 32 |
| 33 #if !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE) |
| 34 |
| 35 #ifdef ELAST |
| 36 |
| 37 const int __elast1 = ELAST+1; |
| 38 const int __elast2 = ELAST+2; |
| 39 |
| 40 #else |
| 41 |
| 42 const int __elast1 = 104; |
| 43 const int __elast2 = 105; |
| 44 |
| 45 #endif |
| 46 |
| 47 #ifdef ENOTRECOVERABLE |
| 48 |
| 49 #define EOWNERDEAD __elast1 |
| 50 |
| 51 #ifdef ELAST |
| 52 #undef ELAST |
| 53 #define ELAST EOWNERDEAD |
| 54 #endif |
| 55 |
| 56 #elif defined(EOWNERDEAD) |
| 57 |
| 58 #define ENOTRECOVERABLE __elast1 |
| 59 #ifdef ELAST |
| 60 #undef ELAST |
| 61 #define ELAST ENOTRECOVERABLE |
| 62 #endif |
| 63 |
| 64 #else // defined(EOWNERDEAD) |
| 65 |
| 66 #define EOWNERDEAD __elast1 |
| 67 #define ENOTRECOVERABLE __elast2 |
| 68 #ifdef ELAST |
| 69 #undef ELAST |
| 70 #define ELAST ENOTRECOVERABLE |
| 71 #endif |
| 72 |
| 73 #endif // defined(EOWNERDEAD) |
| 74 |
| 75 #endif // !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE) |
| 76 |
| 77 // supply errno values likely to be missing, particularly on Windows |
| 78 |
| 79 #ifndef EAFNOSUPPORT |
| 80 #define EAFNOSUPPORT 9901 |
| 81 #endif |
| 82 |
| 83 #ifndef EADDRINUSE |
| 84 #define EADDRINUSE 9902 |
| 85 #endif |
| 86 |
| 87 #ifndef EADDRNOTAVAIL |
| 88 #define EADDRNOTAVAIL 9903 |
| 89 #endif |
| 90 |
| 91 #ifndef EISCONN |
| 92 #define EISCONN 9904 |
| 93 #endif |
| 94 |
| 95 #ifndef EBADMSG |
| 96 #define EBADMSG 9905 |
| 97 #endif |
| 98 |
| 99 #ifndef ECONNABORTED |
| 100 #define ECONNABORTED 9906 |
| 101 #endif |
| 102 |
| 103 #ifndef EALREADY |
| 104 #define EALREADY 9907 |
| 105 #endif |
| 106 |
| 107 #ifndef ECONNREFUSED |
| 108 #define ECONNREFUSED 9908 |
| 109 #endif |
| 110 |
| 111 #ifndef ECONNRESET |
| 112 #define ECONNRESET 9909 |
| 113 #endif |
| 114 |
| 115 #ifndef EDESTADDRREQ |
| 116 #define EDESTADDRREQ 9910 |
| 117 #endif |
| 118 |
| 119 #ifndef EHOSTUNREACH |
| 120 #define EHOSTUNREACH 9911 |
| 121 #endif |
| 122 |
| 123 #ifndef EIDRM |
| 124 #define EIDRM 9912 |
| 125 #endif |
| 126 |
| 127 #ifndef EMSGSIZE |
| 128 #define EMSGSIZE 9913 |
| 129 #endif |
| 130 |
| 131 #ifndef ENETDOWN |
| 132 #define ENETDOWN 9914 |
| 133 #endif |
| 134 |
| 135 #ifndef ENETRESET |
| 136 #define ENETRESET 9915 |
| 137 #endif |
| 138 |
| 139 #ifndef ENETUNREACH |
| 140 #define ENETUNREACH 9916 |
| 141 #endif |
| 142 |
| 143 #ifndef ENOBUFS |
| 144 #define ENOBUFS 9917 |
| 145 #endif |
| 146 |
| 147 #ifndef ENOLINK |
| 148 #define ENOLINK 9918 |
| 149 #endif |
| 150 |
| 151 #ifndef ENODATA |
| 152 #define ENODATA 9919 |
| 153 #endif |
| 154 |
| 155 #ifndef ENOMSG |
| 156 #define ENOMSG 9920 |
| 157 #endif |
| 158 |
| 159 #ifndef ENOPROTOOPT |
| 160 #define ENOPROTOOPT 9921 |
| 161 #endif |
| 162 |
| 163 #ifndef ENOSR |
| 164 #define ENOSR 9922 |
| 165 #endif |
| 166 |
| 167 #ifndef ENOTSOCK |
| 168 #define ENOTSOCK 9923 |
| 169 #endif |
| 170 |
| 171 #ifndef ENOSTR |
| 172 #define ENOSTR 9924 |
| 173 #endif |
| 174 |
| 175 #ifndef ENOTCONN |
| 176 #define ENOTCONN 9925 |
| 177 #endif |
| 178 |
| 179 #ifndef ENOTSUP |
| 180 #define ENOTSUP 9926 |
| 181 #endif |
| 182 |
| 183 #ifndef ECANCELED |
| 184 #define ECANCELED 9927 |
| 185 #endif |
| 186 |
| 187 #ifndef EINPROGRESS |
| 188 #define EINPROGRESS 9928 |
| 189 #endif |
| 190 |
| 191 #ifndef EOPNOTSUPP |
| 192 #define EOPNOTSUPP 9929 |
| 193 #endif |
| 194 |
| 195 #ifndef EWOULDBLOCK |
| 196 #define EWOULDBLOCK 9930 |
| 197 #endif |
| 198 |
| 199 #ifndef EOWNERDEAD |
| 200 #define EOWNERDEAD 9931 |
| 201 #endif |
| 202 |
| 203 #ifndef EPROTO |
| 204 #define EPROTO 9932 |
| 205 #endif |
| 206 |
| 207 #ifndef EPROTONOSUPPORT |
| 208 #define EPROTONOSUPPORT 9933 |
| 209 #endif |
| 210 |
| 211 #ifndef ENOTRECOVERABLE |
| 212 #define ENOTRECOVERABLE 9934 |
| 213 #endif |
| 214 |
| 215 #ifndef ETIME |
| 216 #define ETIME 9935 |
| 217 #endif |
| 218 |
| 219 #ifndef ETXTBSY |
| 220 #define ETXTBSY 9936 |
| 221 #endif |
| 222 |
| 223 #ifndef ETIMEDOUT |
| 224 #define ETIMEDOUT 9938 |
| 225 #endif |
| 226 |
| 227 #ifndef ELOOP |
| 228 #define ELOOP 9939 |
| 229 #endif |
| 230 |
| 231 #ifndef EOVERFLOW |
| 232 #define EOVERFLOW 9940 |
| 233 #endif |
| 234 |
| 235 #ifndef EPROTOTYPE |
| 236 #define EPROTOTYPE 9941 |
| 237 #endif |
| 238 |
| 239 #ifndef ENOSYS |
| 240 #define ENOSYS 9942 |
| 241 #endif |
| 242 |
| 243 #ifndef EINVAL |
| 244 #define EINVAL 9943 |
| 245 #endif |
| 246 |
| 247 #ifndef ERANGE |
| 248 #define ERANGE 9944 |
| 249 #endif |
| 250 |
| 251 #ifndef EILSEQ |
| 252 #define EILSEQ 9945 |
| 253 #endif |
| 254 |
| 255 // Windows Mobile doesn't appear to define these: |
| 256 |
| 257 #ifndef E2BIG |
| 258 #define E2BIG 9946 |
| 259 #endif |
| 260 |
| 261 #ifndef EDOM |
| 262 #define EDOM 9947 |
| 263 #endif |
| 264 |
| 265 #ifndef EFAULT |
| 266 #define EFAULT 9948 |
| 267 #endif |
| 268 |
| 269 #ifndef EBADF |
| 270 #define EBADF 9949 |
| 271 #endif |
| 272 |
| 273 #ifndef EPIPE |
| 274 #define EPIPE 9950 |
| 275 #endif |
| 276 |
| 277 #ifndef EXDEV |
| 278 #define EXDEV 9951 |
| 279 #endif |
| 280 |
| 281 #ifndef EBUSY |
| 282 #define EBUSY 9952 |
| 283 #endif |
| 284 |
| 285 #ifndef ENOTEMPTY |
| 286 #define ENOTEMPTY 9953 |
| 287 #endif |
| 288 |
| 289 #ifndef ENOEXEC |
| 290 #define ENOEXEC 9954 |
| 291 #endif |
| 292 |
| 293 #ifndef EEXIST |
| 294 #define EEXIST 9955 |
| 295 #endif |
| 296 |
| 297 #ifndef EFBIG |
| 298 #define EFBIG 9956 |
| 299 #endif |
| 300 |
| 301 #ifndef ENAMETOOLONG |
| 302 #define ENAMETOOLONG 9957 |
| 303 #endif |
| 304 |
| 305 #ifndef ENOTTY |
| 306 #define ENOTTY 9958 |
| 307 #endif |
| 308 |
| 309 #ifndef EINTR |
| 310 #define EINTR 9959 |
| 311 #endif |
| 312 |
| 313 #ifndef ESPIPE |
| 314 #define ESPIPE 9960 |
| 315 #endif |
| 316 |
| 317 #ifndef EIO |
| 318 #define EIO 9961 |
| 319 #endif |
| 320 |
| 321 #ifndef EISDIR |
| 322 #define EISDIR 9962 |
| 323 #endif |
| 324 |
| 325 #ifndef ECHILD |
| 326 #define ECHILD 9963 |
| 327 #endif |
| 328 |
| 329 #ifndef ENOLCK |
| 330 #define ENOLCK 9964 |
| 331 #endif |
| 332 |
| 333 #ifndef ENOSPC |
| 334 #define ENOSPC 9965 |
| 335 #endif |
| 336 |
| 337 #ifndef ENXIO |
| 338 #define ENXIO 9966 |
| 339 #endif |
| 340 |
| 341 #ifndef ENODEV |
| 342 #define ENODEV 9967 |
| 343 #endif |
| 344 |
| 345 #ifndef ENOENT |
| 346 #define ENOENT 9968 |
| 347 #endif |
| 348 |
| 349 #ifndef ESRCH |
| 350 #define ESRCH 9969 |
| 351 #endif |
| 352 |
| 353 #ifndef ENOTDIR |
| 354 #define ENOTDIR 9970 |
| 355 #endif |
| 356 |
| 357 #ifndef ENOMEM |
| 358 #define ENOMEM 9971 |
| 359 #endif |
| 360 |
| 361 #ifndef EPERM |
| 362 #define EPERM 9972 |
| 363 #endif |
| 364 |
| 365 #ifndef EACCES |
| 366 #define EACCES 9973 |
| 367 #endif |
| 368 |
| 369 #ifndef EROFS |
| 370 #define EROFS 9974 |
| 371 #endif |
| 372 |
| 373 #ifndef EDEADLK |
| 374 #define EDEADLK 9975 |
| 375 #endif |
| 376 |
| 377 #ifndef EAGAIN |
| 378 #define EAGAIN 9976 |
| 379 #endif |
| 380 |
| 381 #ifndef ENFILE |
| 382 #define ENFILE 9977 |
| 383 #endif |
| 384 |
| 385 #ifndef EMFILE |
| 386 #define EMFILE 9978 |
| 387 #endif |
| 388 |
| 389 #ifndef EMLINK |
| 390 #define EMLINK 9979 |
| 391 #endif |
| 392 |
| 393 #endif // _LIBCPP_CERRNO |
OLD | NEW |