1 // Boost cerrno.hpp header -------------------------------------------------// 2 3 // Copyright Beman Dawes 2005. 4 // Use, modification, and distribution is subject to the Boost Software 5 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 6 // http://www.boost.org/LICENSE_1_0.txt) 7 8 // See library home page at http://www.boost.org/libs/system 9 10 #ifndef BOOST_CERRNO_HPP 11 #define BOOST_CERRNO_HPP 12 13 #include <cerrno> 14 15 // supply errno values likely to be missing, particularly on Windows 16 17 #ifndef EAFNOSUPPORT 18 #define EAFNOSUPPORT 9901 19 #endif 20 21 #ifndef EADDRINUSE 22 #define EADDRINUSE 9902 23 #endif 24 25 #ifndef EADDRNOTAVAIL 26 #define EADDRNOTAVAIL 9903 27 #endif 28 29 #ifndef EISCONN 30 #define EISCONN 9904 31 #endif 32 33 #ifndef EBADMSG 34 #define EBADMSG 9905 35 #endif 36 37 #ifndef ECONNABORTED 38 #define ECONNABORTED 9906 39 #endif 40 41 #ifndef EALREADY 42 #define EALREADY 9907 43 #endif 44 45 #ifndef ECONNREFUSED 46 #define ECONNREFUSED 9908 47 #endif 48 49 #ifndef ECONNRESET 50 #define ECONNRESET 9909 51 #endif 52 53 #ifndef EDESTADDRREQ 54 #define EDESTADDRREQ 9910 55 #endif 56 57 #ifndef EHOSTUNREACH 58 #define EHOSTUNREACH 9911 59 #endif 60 61 #ifndef EIDRM 62 #define EIDRM 9912 63 #endif 64 65 #ifndef EMSGSIZE 66 #define EMSGSIZE 9913 67 #endif 68 69 #ifndef ENETDOWN 70 #define ENETDOWN 9914 71 #endif 72 73 #ifndef ENETRESET 74 #define ENETRESET 9915 75 #endif 76 77 #ifndef ENETUNREACH 78 #define ENETUNREACH 9916 79 #endif 80 81 #ifndef ENOBUFS 82 #define ENOBUFS 9917 83 #endif 84 85 #ifndef ENOLINK 86 #define ENOLINK 9918 87 #endif 88 89 #ifndef ENODATA 90 #define ENODATA 9919 91 #endif 92 93 #ifndef ENOMSG 94 #define ENOMSG 9920 95 #endif 96 97 #ifndef ENOPROTOOPT 98 #define ENOPROTOOPT 9921 99 #endif 100 101 #ifndef ENOSR 102 #define ENOSR 9922 103 #endif 104 105 #ifndef ENOTSOCK 106 #define ENOTSOCK 9923 107 #endif 108 109 #ifndef ENOSTR 110 #define ENOSTR 9924 111 #endif 112 113 #ifndef ENOTCONN 114 #define ENOTCONN 9925 115 #endif 116 117 #ifndef ENOTSUP 118 #define ENOTSUP 9926 119 #endif 120 121 #ifndef ECANCELED 122 #define ECANCELED 9927 123 #endif 124 125 #ifndef EINPROGRESS 126 #define EINPROGRESS 9928 127 #endif 128 129 #ifndef EOPNOTSUPP 130 #define EOPNOTSUPP 9929 131 #endif 132 133 #ifndef EWOULDBLOCK 134 #define EWOULDBLOCK 9930 135 #endif 136 137 #ifndef EOWNERDEAD 138 #define EOWNERDEAD 9931 139 #endif 140 141 #ifndef EPROTO 142 #define EPROTO 9932 143 #endif 144 145 #ifndef EPROTONOSUPPORT 146 #define EPROTONOSUPPORT 9933 147 #endif 148 149 #ifndef ENOTRECOVERABLE 150 #define ENOTRECOVERABLE 9934 151 #endif 152 153 #ifndef ETIME 154 #define ETIME 9935 155 #endif 156 157 #ifndef ETXTBSY 158 #define ETXTBSY 9936 159 #endif 160 161 #ifndef ETIMEDOUT 162 #define ETIMEDOUT 9938 163 #endif 164 165 #ifndef ELOOP 166 #define ELOOP 9939 167 #endif 168 169 #ifndef EOVERFLOW 170 #define EOVERFLOW 9940 171 #endif 172 173 #ifndef EPROTOTYPE 174 #define EPROTOTYPE 9941 175 #endif 176 177 #ifndef ENOSYS 178 #define ENOSYS 9942 179 #endif 180 181 #ifndef EINVAL 182 #define EINVAL 9943 183 #endif 184 185 #ifndef ERANGE 186 #define ERANGE 9944 187 #endif 188 189 #ifndef EILSEQ 190 #define EILSEQ 9945 191 #endif 192 193 // Windows Mobile doesn't appear to define these: 194 195 #ifndef E2BIG 196 #define E2BIG 9946 197 #endif 198 199 #ifndef EDOM 200 #define EDOM 9947 201 #endif 202 203 #ifndef EFAULT 204 #define EFAULT 9948 205 #endif 206 207 #ifndef EBADF 208 #define EBADF 9949 209 #endif 210 211 #ifndef EPIPE 212 #define EPIPE 9950 213 #endif 214 215 #ifndef EXDEV 216 #define EXDEV 9951 217 #endif 218 219 #ifndef EBUSY 220 #define EBUSY 9952 221 #endif 222 223 #ifndef ENOTEMPTY 224 #define ENOTEMPTY 9953 225 #endif 226 227 #ifndef ENOEXEC 228 #define ENOEXEC 9954 229 #endif 230 231 #ifndef EEXIST 232 #define EEXIST 9955 233 #endif 234 235 #ifndef EFBIG 236 #define EFBIG 9956 237 #endif 238 239 #ifndef ENAMETOOLONG 240 #define ENAMETOOLONG 9957 241 #endif 242 243 #ifndef ENOTTY 244 #define ENOTTY 9958 245 #endif 246 247 #ifndef EINTR 248 #define EINTR 9959 249 #endif 250 251 #ifndef ESPIPE 252 #define ESPIPE 9960 253 #endif 254 255 #ifndef EIO 256 #define EIO 9961 257 #endif 258 259 #ifndef EISDIR 260 #define EISDIR 9962 261 #endif 262 263 #ifndef ECHILD 264 #define ECHILD 9963 265 #endif 266 267 #ifndef ENOLCK 268 #define ENOLCK 9964 269 #endif 270 271 #ifndef ENOSPC 272 #define ENOSPC 9965 273 #endif 274 275 #ifndef ENXIO 276 #define ENXIO 9966 277 #endif 278 279 #ifndef ENODEV 280 #define ENODEV 9967 281 #endif 282 283 #ifndef ENOENT 284 #define ENOENT 9968 285 #endif 286 287 #ifndef ESRCH 288 #define ESRCH 9969 289 #endif 290 291 #ifndef ENOTDIR 292 #define ENOTDIR 9970 293 #endif 294 295 #ifndef ENOMEM 296 #define ENOMEM 9971 297 #endif 298 299 #ifndef EPERM 300 #define EPERM 9972 301 #endif 302 303 #ifndef EACCES 304 #define EACCES 9973 305 #endif 306 307 #ifndef EROFS 308 #define EROFS 9974 309 #endif 310 311 #ifndef EDEADLK 312 #define EDEADLK 9975 313 #endif 314 315 #ifndef EAGAIN 316 #define EAGAIN 9976 317 #endif 318 319 #ifndef ENFILE 320 #define ENFILE 9977 321 #endif 322 323 #ifndef EMFILE 324 #define EMFILE 9978 325 #endif 326 327 #ifndef EMLINK 328 #define EMLINK 9979 329 #endif 330 331 #endif // include guard 332