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