1 /*
2     Title:      Error Messages.
3     Copyright (c) 2012, 2017, 2019 David C. J. Matthews
4 
5     This library is free software; you can redistribute it and/or
6     modify it under the terms of the GNU Lesser General Public
7     License version 2.1 as published by the Free Software Foundation.
8 
9     This library is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12     Lesser General Public License for more details.
13 
14     You should have received a copy of the GNU Lesser General Public
15     License along with this library; if not, write to the Free Software
16     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17 
18 */
19 
20 #ifdef HAVE_CONFIG_H
21 #include "config.h"
22 #elif defined(_WIN32)
23 #include "winconfig.h"
24 #else
25 #error "No configuration file"
26 #endif
27 
28 #if (defined(_WIN32))
29 #include <winsock2.h>
30 #endif
31 
32 #ifdef HAVE_WINDOWS_H
33 #include <windows.h>
34 #endif
35 
36 #ifdef HAVE_ERRNO_H
37 #include <errno.h>
38 #endif
39 
40 #ifdef HAVE_STRING_H
41 #include <string.h>
42 #endif
43 
44 #include "errors.h"
45 
46 static struct {
47     int           errorNum;
48     const char*   errorString;
49 } errortable[] =
50 {
51 #if (!defined(_WIN32))
52 #ifdef EPERM
53     { EPERM,    "EPERM" },
54 #endif
55 #ifdef ENOENT
56     { ENOENT,   "ENOENT" },
57 #endif
58 #ifdef ESRCH
59     { ESRCH,    "ESRCH" },
60 #endif
61 #ifdef EINTR
62     { EINTR, "EINTR"},
63 #endif
64 #ifdef EIO
65     { EIO, "EIO"},
66 #endif
67 #ifdef ENXIO
68     { ENXIO, "ENXIO"},
69 #endif
70 #ifdef E2BIG
71     { E2BIG, "E2BIG"},
72 #endif
73 #ifdef ENOEXEC
74     { ENOEXEC, "ENOEXEC"},
75 #endif
76 #ifdef EBADF
77     { EBADF, "EBADF"},
78 #endif
79 #ifdef ECHILD
80     { ECHILD, "ECHILD"},
81 #endif
82 #ifdef EAGAIN
83     { EAGAIN, "EAGAIN"},
84 #endif
85 #ifdef EDEADLK
86     { EDEADLK, "EDEADLK"},
87 #endif
88 #ifdef ENOMEM
89     { ENOMEM, "ENOMEM"},
90 #endif
91 #ifdef EACCES
92     { EACCES, "EACCES"},
93 #endif
94 #ifdef EFAULT
95     { EFAULT, "EFAULT"},
96 #endif
97 #ifdef ENOTBLK
98     { ENOTBLK, "ENOTBLK"},
99 #endif
100 #ifdef EBUSY
101     { EBUSY, "EBUSY"},
102 #endif
103 #ifdef EEXIST
104     { EEXIST, "EEXIST"},
105 #endif
106 #ifdef EXDEV
107     { EXDEV, "EXDEV"},
108 #endif
109 #ifdef ENODEV
110     { ENODEV, "ENODEV"},
111 #endif
112 #ifdef ENOTDIR
113     { ENOTDIR, "ENOTDIR"},
114 #endif
115 #ifdef EISDIR
116     { EISDIR, "EISDIR"},
117 #endif
118 #ifdef EINVAL
119     { EINVAL, "EINVAL"},
120 #endif
121 #ifdef ENFILE
122     { ENFILE, "ENFILE"},
123 #endif
124 #ifdef EMFILE
125     { EMFILE, "EMFILE"},
126 #endif
127 #ifdef ENOTTY
128     { ENOTTY, "ENOTTY"},
129 #endif
130 #ifdef ETXTBSY
131     { ETXTBSY, "ETXTBSY"},
132 #endif
133 #ifdef EFBIG
134     { EFBIG, "EFBIG"},
135 #endif
136 #ifdef ENOSPC
137     { ENOSPC, "ENOSPC"},
138 #endif
139 #ifdef ESPIPE
140     { ESPIPE, "ESPIPE"},
141 #endif
142 #ifdef EROFS
143     { EROFS, "EROFS"},
144 #endif
145 #ifdef EMLINK
146     { EMLINK, "EMLINK"},
147 #endif
148 #ifdef EPIPE
149     { EPIPE, "EPIPE"},
150 #endif
151 #ifdef EDOM
152     { EDOM, "EDOM"},
153 #endif
154 #ifdef ERANGE
155     { ERANGE, "ERANGE"},
156 #endif
157 #ifdef ENOMSG
158     { ENOMSG, "ENOMSG"},
159 #endif
160 #ifdef EUCLEAN
161     { EUCLEAN, "EUCLEAN"},
162 #endif
163 #ifdef EWOULDBLOCK
164     { EWOULDBLOCK, "EWOULDBLOCK"},
165 #endif
166 #ifdef EIDRM
167     { EIDRM, "EIDRM"},
168 #endif
169 #ifdef EINPROGRESS
170     { EINPROGRESS, "EINPROGRESS"},
171 #endif
172 #ifdef ECHRNG
173     { ECHRNG, "ECHRNG"},
174 #endif
175 #ifdef EALREADY
176     { EALREADY, "EALREADY"},
177 #endif
178 #ifdef EL2NSYNC
179     { EL2NSYNC, "EL2NSYNC"},
180 #endif
181 #ifdef ENAMETOOLONG
182     { ENAMETOOLONG, "ENAMETOOLONG"},
183 #endif
184 #ifdef ENOTSOCK
185     { ENOTSOCK, "ENOTSOCK"},
186 #endif
187 #ifdef EL3HLT
188     { EL3HLT, "EL3HLT"},
189 #endif
190 #ifdef ENOLCK
191     { ENOLCK, "ENOLCK"},
192 #endif
193 #ifdef EDESTADDRREQ
194     { EDESTADDRREQ, "EDESTADDRREQ"},
195 #endif
196 #ifdef EL3RST
197     { EL3RST, "EL3RST"},
198 #endif
199 #ifdef ENOSYS
200     { ENOSYS, "ENOSYS"},
201 #endif
202 #ifdef EMSGSIZE
203     { EMSGSIZE, "EMSGSIZE"},
204 #endif
205 #ifdef ELNRNG
206     { ELNRNG, "ELNRNG"},
207 #endif
208 #ifdef ENOTEMPTY
209     { ENOTEMPTY, "ENOTEMPTY"},
210 #endif
211 #ifdef EPROTOTYPE
212     { EPROTOTYPE, "EPROTOTYPE"},
213 #endif
214 #ifdef EUNATCH
215     { EUNATCH, "EUNATCH"},
216 #endif
217 #ifdef EILSEQ
218     { EILSEQ, "EILSEQ"},
219 #endif
220 #ifdef ENOPROTOOPT
221     { ENOPROTOOPT, "ENOPROTOOPT"},
222 #endif
223 #ifdef ENOCSI
224     { ENOCSI, "ENOCSI"},
225 #endif
226 #ifdef EPROTONOSUPPORT
227     { EPROTONOSUPPORT, "EPROTONOSUPPORT"},
228 #endif
229 #ifdef EL2HLT
230     { EL2HLT, "EL2HLT"},
231 #endif
232 #ifdef ESOCKTNOSUPPORT
233     { ESOCKTNOSUPPORT, "ESOCKTNOSUPPORT"},
234 #endif
235 #ifdef EOPNOTSUPP
236     { EOPNOTSUPP, "EOPNOTSUPP"},
237 #endif
238 #ifdef ENOTREADY
239     { ENOTREADY, "ENOTREADY"},
240 #endif
241 #ifdef EPFNOSUPPORT
242     { EPFNOSUPPORT, "EPFNOSUPPORT"},
243 #endif
244 #ifdef EWRPROTECT
245     { EWRPROTECT, "EWRPROTECT"},
246 #endif
247 #ifdef EAFNOSUPPORT
248     { EAFNOSUPPORT, "EAFNOSUPPORT"},
249 #endif
250 #ifdef EFORMAT
251     { EFORMAT, "EFORMAT"},
252 #endif
253 #ifdef EADDRINUSE
254     { EADDRINUSE, "EADDRINUSE"},
255 #endif
256 #ifdef EADDRNOTAVAIL
257     { EADDRNOTAVAIL, "EADDRNOTAVAIL"},
258 #endif
259 #ifdef ENOCONNECT
260     { ENOCONNECT, "ENOCONNECT"},
261 #endif
262 #ifdef ENETDOWN
263     { ENETDOWN, "ENETDOWN"},
264 #endif
265 #ifdef ESTALE
266     { ESTALE, "ESTALE"},
267 #endif
268 #ifdef ENETUNREACH
269     { ENETUNREACH, "ENETUNREACH"},
270 #endif
271 #ifdef EDIST
272     { EDIST, "EDIST"},
273 #endif
274 #ifdef ENETRESET
275     { ENETRESET, "ENETRESET"},
276 #endif
277 #ifdef ECONNABORTED
278     { ECONNABORTED, "ECONNABORTED"},
279 #endif
280 #ifdef ECONNRESET
281     { ECONNRESET, "ECONNRESET"},
282 #endif
283 #ifdef ENOBUFS
284     { ENOBUFS, "ENOBUFS"},
285 #endif
286 #ifdef EISCONN
287     { EISCONN, "EISCONN"},
288 #endif
289 #ifdef ENOTCONN
290     { ENOTCONN, "ENOTCONN"},
291 #endif
292 #ifdef ESHUTDOWN
293     { ESHUTDOWN, "ESHUTDOWN"},
294 #endif
295 #ifdef ETOOMANYREFS
296     { ETOOMANYREFS, "ETOOMANYREFS"},
297 #endif
298 #ifdef ETIMEDOUT
299     { ETIMEDOUT, "ETIMEDOUT"},
300 #endif
301 #ifdef ECONNREFUSED
302     { ECONNREFUSED, "ECONNREFUSED"},
303 #endif
304 #ifdef ELOOP
305     { ELOOP, "ELOOP"},
306 #endif
307 #ifdef EHOSTDOWN
308     { EHOSTDOWN, "EHOSTDOWN"},
309 #endif
310 #ifdef EHOSTUNREACH
311     { EHOSTUNREACH, "EHOSTUNREACH"},
312 #endif
313 #ifdef EPROCLIM
314     { EPROCLIM, "EPROCLIM"},
315 #endif
316 #ifdef EUSERS
317     { EUSERS, "EUSERS"},
318 #endif
319 #ifdef EDQUOT
320     { EDQUOT, "EDQUOT"},
321 #endif
322 #ifdef EREMOTE
323     { EREMOTE, "EREMOTE"},
324 #endif
325 #ifdef ENOSTR
326     { ENOSTR, "ENOSTR"},
327 #endif
328 #ifdef EBADRPC
329     { EBADRPC, "EBADRPC"},
330 #endif
331 #ifdef ETIME
332     { ETIME, "ETIME"},
333 #endif
334 #ifdef ERPCMISMATCH
335     { ERPCMISMATCH, "ERPCMISMATCH"},
336 #endif
337 #ifdef ENOSR
338     { ENOSR, "ENOSR"},
339 #endif
340 #ifdef EPROGUNAVAIL
341     { EPROGUNAVAIL, "EPROGUNAVAIL"},
342 #endif
343 #ifdef EPROGMISMATCH
344     { EPROGMISMATCH, "EPROGMISMATCH"},
345 #endif
346 #ifdef EBADMSG
347     { EBADMSG, "EBADMSG"},
348 #endif
349 #ifdef EPROCUNAVAIL
350     { EPROCUNAVAIL, "EPROCUNAVAIL"},
351 #endif
352 #ifdef EFTYPE
353     { EFTYPE, "EFTYPE"},
354 #endif
355 #ifdef ENONET
356     { ENONET, "ENONET"},
357 #endif
358 #ifdef EAUTH
359     { EAUTH, "EAUTH"},
360 #endif
361 #ifdef ERESTART
362     { ERESTART, "ERESTART"},
363 #endif
364 #ifdef ERREMOTE
365     { ERREMOTE, "ERREMOTE"},
366 #endif
367 #ifdef ENEEDAUTH
368     { ENEEDAUTH, "ENEEDAUTH"},
369 #endif
370 #ifdef ENOLINK
371     { ENOLINK, "ENOLINK"},
372 #endif
373 #ifdef EADV
374     { EADV, "EADV"},
375 #endif
376 #ifdef ESRMNT
377     { ESRMNT, "ESRMNT"},
378 #endif
379 #ifdef ECOMM
380     { ECOMM, "ECOMM"},
381 #endif
382 #ifdef EPROTO
383     { EPROTO, "EPROTO"},
384 #endif
385 #ifdef EMULTIHOP
386     { EMULTIHOP, "EMULTIHOP"},
387 #endif
388 #ifdef EDOTDOT
389     { EDOTDOT, "EDOTDOT"},
390 #endif
391 #ifdef EREMCHG
392     { EREMCHG, "EREMCHG"},
393 #endif
394 #ifdef EMEDIA
395     { EMEDIA, "EMEDIA"},
396 #endif
397 #ifdef ESOFT
398     { ESOFT, "ESOFT"},
399 #endif
400 #ifdef ENOATTR
401     { ENOATTR, "ENOATTR"},
402 #endif
403 #ifdef ESAD
404     { ESAD, "ESAD"},
405 #endif
406 #ifdef ENOTRUST
407     { ENOTRUST, "ENOTRUST"},
408 #endif
409 #ifdef ECANCELED
410     { ECANCELED, "ECANCELED"},
411 #endif
412 #ifdef ENODATA
413     { ENODATA, "ENODATA"},
414 #endif
415 #ifdef EBADE
416     { EBADE, "EBADE"},
417 #endif
418 #ifdef EBADR
419     { EBADR, "EBADR"},
420 #endif
421 #ifdef EXFULL
422     { EXFULL, "EXFULL"},
423 #endif
424 #ifdef ENOANO
425     { ENOANO, "ENOANO"},
426 #endif
427 #ifdef EBADRQC
428     { EBADRQC, "EBADRQC"},
429 #endif
430 #ifdef EBADSLT
431     { EBADSLT, "EBADSLT"},
432 #endif
433 #ifdef EDEADLOCK
434     { EDEADLOCK, "EDEADLOCK"},
435 #endif
436 #ifdef EBFONT
437     { EBFONT, "EBFONT"},
438 #endif
439 #ifdef EBFONT
440     { EBFONT, "EBFONT"},
441 #endif
442 #ifdef ENOPKG
443     { ENOPKG, "ENOPKG"},
444 #endif
445 #ifdef ELBIN
446     { ELBIN, "ELBIN"},
447 #endif
448 #ifdef ENOTUNIQ
449     { ENOTUNIQ, "ENOTUNIQ"},
450 #endif
451 #ifdef EBADFD
452     { EBADFD, "EBADFD"},
453 #endif
454 #ifdef ELIBACC
455     { ELIBACC, "ELIBACC"},
456 #endif
457 #ifdef ELIBBAD
458     { ELIBBAD, "ELIBBAD"},
459 #endif
460 #ifdef ELIBSCN
461     { ELIBSCN, "ELIBSCN"},
462 #endif
463 #ifdef ELIBMAX
464     { ELIBMAX, "ELIBMAX"},
465 #endif
466 #ifdef ESTRPIPE
467     { ESTRPIPE, "ESTRPIPE"},
468 #endif
469 #ifdef ELIBEXEC
470     { ELIBEXEC, "ELIBEXEC"},
471 #endif
472 #ifdef ENMFILE
473     { ENMFILE, "ENMFILE"},
474 #endif
475 #ifdef ENOTNAM
476     { ENOTNAM, "ENOTNAM"},
477 #endif
478 #ifdef ENAVAIL
479     { ENAVAIL, "ENAVAIL"},
480 #endif
481 #ifdef EISNAM
482     { EISNAM, "EISNAM"},
483 #endif
484 #ifdef EREMOTEIO
485     { EREMOTEIO, "EREMOTEIO"},
486 #endif
487 #ifdef ENOMEDIUM
488     { ENOMEDIUM, "ENOMEDIUM"},
489 #endif
490 #ifdef EMEDIUMTYPE
491     { EMEDIUMTYPE, "EMEDIUMTYPE"},
492 #endif
493 #ifdef ENOKEY
494     { ENOKEY, "ENOKEY"},
495 #endif
496 #ifdef EKEYEXPIRED
497     { EKEYEXPIRED, "EKEYEXPIRED"},
498 #endif
499 #ifdef EKEYREVOKED
500     { EKEYREVOKED, "EKEYREVOKED"},
501 #endif
502 #ifdef EKEYREJECTED
503     { EKEYREJECTED, "EKEYREJECTED"},
504 #endif
505 #ifdef EOWNERDEAD
506     { EOWNERDEAD, "EOWNERDEAD"},
507 #endif
508 #ifdef ENOTRECOVERABLE
509     { ENOTRECOVERABLE, "ENOTRECOVERABLE"},
510 #endif
511 #ifdef ENOTSUP
512     { ENOTSUP, "ENOTSUP"},
513 #endif
514 #ifdef ENOMEDIUM
515     { ENOMEDIUM, "ENOMEDIUM"},
516 #endif
517 #ifdef ENOSHARE
518     { ENOSHARE, "ENOSHARE"},
519 #endif
520 #ifdef ECASECLASH
521     { ECASECLASH, "ECASECLASH"},
522 #endif
523 #ifdef EOVERFLOW
524     { EOVERFLOW, "EOVERFLOW"},
525 #endif
526 
527 #else
528     { ERROR_INVALID_FUNCTION,  "ERROR_INVALID_FUNCTION" },
529     { ERROR_FILE_NOT_FOUND,    "ERROR_FILE_NOT_FOUND" },
530     { ERROR_PATH_NOT_FOUND,    "ERROR_PATH_NOT_FOUND" },
531     { ERROR_TOO_MANY_OPEN_FILES,   "ERROR_TOO_MANY_OPEN_FILES" },
532     { ERROR_ACCESS_DENIED, "ERROR_ACCESS_DENIED" },
533     { ERROR_INVALID_HANDLE,    "ERROR_INVALID_HANDLE" },
534     { ERROR_ARENA_TRASHED, "ERROR_ARENA_TRASHED" },
535     { ERROR_NOT_ENOUGH_MEMORY, "ERROR_NOT_ENOUGH_MEMORY" },
536     { ERROR_INVALID_BLOCK, "ERROR_INVALID_BLOCK" },
537     { ERROR_BAD_ENVIRONMENT,   "ERROR_BAD_ENVIRONMENT" },
538     { ERROR_BAD_FORMAT,    "ERROR_BAD_FORMAT" },
539     { ERROR_INVALID_ACCESS,    "ERROR_INVALID_ACCESS" },
540     { ERROR_INVALID_DATA,  "ERROR_INVALID_DATA" },
541     { ERROR_OUTOFMEMORY,   "ERROR_OUTOFMEMORY" },
542     { ERROR_INVALID_DRIVE, "ERROR_INVALID_DRIVE" },
543     { ERROR_CURRENT_DIRECTORY, "ERROR_CURRENT_DIRECTORY" },
544     { ERROR_NOT_SAME_DEVICE,   "ERROR_NOT_SAME_DEVICE" },
545     { ERROR_NO_MORE_FILES, "ERROR_NO_MORE_FILES" },
546     { ERROR_WRITE_PROTECT, "ERROR_WRITE_PROTECT" },
547     { ERROR_BAD_UNIT,  "ERROR_BAD_UNIT" },
548     { ERROR_NOT_READY, "ERROR_NOT_READY" },
549     { ERROR_BAD_COMMAND,   "ERROR_BAD_COMMAND" },
550     { ERROR_CRC,   "ERROR_CRC" },
551     { ERROR_BAD_LENGTH,    "ERROR_BAD_LENGTH" },
552     { ERROR_SEEK,  "ERROR_SEEK" },
553     { ERROR_NOT_DOS_DISK,  "ERROR_NOT_DOS_DISK" },
554     { ERROR_SECTOR_NOT_FOUND,  "ERROR_SECTOR_NOT_FOUND" },
555     { ERROR_OUT_OF_PAPER,  "ERROR_OUT_OF_PAPER" },
556     { ERROR_WRITE_FAULT,   "ERROR_WRITE_FAULT" },
557     { ERROR_READ_FAULT,    "ERROR_READ_FAULT" },
558     { ERROR_GEN_FAILURE,   "ERROR_GEN_FAILURE" },
559     { ERROR_SHARING_VIOLATION, "ERROR_SHARING_VIOLATION" },
560     { ERROR_LOCK_VIOLATION,    "ERROR_LOCK_VIOLATION" },
561     { ERROR_WRONG_DISK,    "ERROR_WRONG_DISK" },
562     { ERROR_SHARING_BUFFER_EXCEEDED,   "ERROR_SHARING_BUFFER_EXCEEDED" },
563     { ERROR_HANDLE_EOF,    "ERROR_HANDLE_EOF" },
564     { ERROR_HANDLE_DISK_FULL,  "ERROR_HANDLE_DISK_FULL" },
565     { ERROR_NOT_SUPPORTED, "ERROR_NOT_SUPPORTED" },
566     { ERROR_REM_NOT_LIST,  "ERROR_REM_NOT_LIST" },
567     { ERROR_DUP_NAME,  "ERROR_DUP_NAME" },
568     { ERROR_BAD_NETPATH,   "ERROR_BAD_NETPATH" },
569     { ERROR_NETWORK_BUSY,  "ERROR_NETWORK_BUSY" },
570     { ERROR_DEV_NOT_EXIST, "ERROR_DEV_NOT_EXIST" },
571     { ERROR_TOO_MANY_CMDS, "ERROR_TOO_MANY_CMDS" },
572     { ERROR_ADAP_HDW_ERR,  "ERROR_ADAP_HDW_ERR" },
573     { ERROR_BAD_NET_RESP,  "ERROR_BAD_NET_RESP" },
574     { ERROR_UNEXP_NET_ERR, "ERROR_UNEXP_NET_ERR" },
575     { ERROR_BAD_REM_ADAP,  "ERROR_BAD_REM_ADAP" },
576     { ERROR_PRINTQ_FULL,   "ERROR_PRINTQ_FULL" },
577     { ERROR_NO_SPOOL_SPACE,    "ERROR_NO_SPOOL_SPACE" },
578     { ERROR_PRINT_CANCELLED,   "ERROR_PRINT_CANCELLED" },
579     { ERROR_NETNAME_DELETED,   "ERROR_NETNAME_DELETED" },
580     { ERROR_NETWORK_ACCESS_DENIED, "ERROR_NETWORK_ACCESS_DENIED" },
581     { ERROR_BAD_DEV_TYPE,  "ERROR_BAD_DEV_TYPE" },
582     { ERROR_BAD_NET_NAME,  "ERROR_BAD_NET_NAME" },
583     { ERROR_TOO_MANY_NAMES,    "ERROR_TOO_MANY_NAMES" },
584     { ERROR_TOO_MANY_SESS, "ERROR_TOO_MANY_SESS" },
585     { ERROR_SHARING_PAUSED,    "ERROR_SHARING_PAUSED" },
586     { ERROR_REQ_NOT_ACCEP, "ERROR_REQ_NOT_ACCEP" },
587     { ERROR_REDIR_PAUSED,  "ERROR_REDIR_PAUSED" },
588     { ERROR_FILE_EXISTS,   "ERROR_FILE_EXISTS" },
589     { ERROR_CANNOT_MAKE,   "ERROR_CANNOT_MAKE" },
590     { ERROR_FAIL_I24,  "ERROR_FAIL_I24" },
591     { ERROR_OUT_OF_STRUCTURES, "ERROR_OUT_OF_STRUCTURES" },
592     { ERROR_ALREADY_ASSIGNED,  "ERROR_ALREADY_ASSIGNED" },
593     { ERROR_INVALID_PASSWORD,  "ERROR_INVALID_PASSWORD" },
594     { ERROR_INVALID_PARAMETER, "ERROR_INVALID_PARAMETER" },
595     { ERROR_NET_WRITE_FAULT,   "ERROR_NET_WRITE_FAULT" },
596     { ERROR_NO_PROC_SLOTS, "ERROR_NO_PROC_SLOTS" },
597     { ERROR_TOO_MANY_SEMAPHORES,   "ERROR_TOO_MANY_SEMAPHORES" },
598     { ERROR_EXCL_SEM_ALREADY_OWNED,    "ERROR_EXCL_SEM_ALREADY_OWNED" },
599     { ERROR_SEM_IS_SET,    "ERROR_SEM_IS_SET" },
600     { ERROR_TOO_MANY_SEM_REQUESTS, "ERROR_TOO_MANY_SEM_REQUESTS" },
601     { ERROR_INVALID_AT_INTERRUPT_TIME, "ERROR_INVALID_AT_INTERRUPT_TIME" },
602     { ERROR_SEM_OWNER_DIED,    "ERROR_SEM_OWNER_DIED" },
603     { ERROR_SEM_USER_LIMIT,    "ERROR_SEM_USER_LIMIT" },
604     { ERROR_DISK_CHANGE,   "ERROR_DISK_CHANGE" },
605     { ERROR_DRIVE_LOCKED,  "ERROR_DRIVE_LOCKED" },
606     { ERROR_BROKEN_PIPE,   "ERROR_BROKEN_PIPE" },
607     { ERROR_OPEN_FAILED,   "ERROR_OPEN_FAILED" },
608     { ERROR_BUFFER_OVERFLOW,   "ERROR_BUFFER_OVERFLOW" },
609     { ERROR_DISK_FULL, "ERROR_DISK_FULL" },
610     { ERROR_NO_MORE_SEARCH_HANDLES,    "ERROR_NO_MORE_SEARCH_HANDLES" },
611     { ERROR_INVALID_TARGET_HANDLE, "ERROR_INVALID_TARGET_HANDLE" },
612     { ERROR_INVALID_CATEGORY,  "ERROR_INVALID_CATEGORY" },
613     { ERROR_INVALID_VERIFY_SWITCH, "ERROR_INVALID_VERIFY_SWITCH" },
614     { ERROR_BAD_DRIVER_LEVEL,  "ERROR_BAD_DRIVER_LEVEL" },
615     { ERROR_CALL_NOT_IMPLEMENTED,  "ERROR_CALL_NOT_IMPLEMENTED" },
616     { ERROR_SEM_TIMEOUT,   "ERROR_SEM_TIMEOUT" },
617     { ERROR_INSUFFICIENT_BUFFER,   "ERROR_INSUFFICIENT_BUFFER" },
618     { ERROR_INVALID_NAME,  "ERROR_INVALID_NAME" },
619     { ERROR_INVALID_LEVEL, "ERROR_INVALID_LEVEL" },
620     { ERROR_NO_VOLUME_LABEL,   "ERROR_NO_VOLUME_LABEL" },
621     { ERROR_MOD_NOT_FOUND, "ERROR_MOD_NOT_FOUND" },
622     { ERROR_PROC_NOT_FOUND,    "ERROR_PROC_NOT_FOUND" },
623     { ERROR_WAIT_NO_CHILDREN,  "ERROR_WAIT_NO_CHILDREN" },
624     { ERROR_CHILD_NOT_COMPLETE,    "ERROR_CHILD_NOT_COMPLETE" },
625     { ERROR_DIRECT_ACCESS_HANDLE,  "ERROR_DIRECT_ACCESS_HANDLE" },
626     { ERROR_NEGATIVE_SEEK, "ERROR_NEGATIVE_SEEK" },
627     { ERROR_SEEK_ON_DEVICE,    "ERROR_SEEK_ON_DEVICE" },
628     { ERROR_IS_JOIN_TARGET,    "ERROR_IS_JOIN_TARGET" },
629     { ERROR_IS_JOINED, "ERROR_IS_JOINED" },
630     { ERROR_IS_SUBSTED,    "ERROR_IS_SUBSTED" },
631     { ERROR_NOT_JOINED,    "ERROR_NOT_JOINED" },
632     { ERROR_NOT_SUBSTED,   "ERROR_NOT_SUBSTED" },
633     { ERROR_JOIN_TO_JOIN,  "ERROR_JOIN_TO_JOIN" },
634     { ERROR_SUBST_TO_SUBST,    "ERROR_SUBST_TO_SUBST" },
635     { ERROR_JOIN_TO_SUBST, "ERROR_JOIN_TO_SUBST" },
636     { ERROR_SUBST_TO_JOIN, "ERROR_SUBST_TO_JOIN" },
637     { ERROR_BUSY_DRIVE,    "ERROR_BUSY_DRIVE" },
638     { ERROR_SAME_DRIVE,    "ERROR_SAME_DRIVE" },
639     { ERROR_DIR_NOT_ROOT,  "ERROR_DIR_NOT_ROOT" },
640     { ERROR_DIR_NOT_EMPTY, "ERROR_DIR_NOT_EMPTY" },
641     { ERROR_IS_SUBST_PATH, "ERROR_IS_SUBST_PATH" },
642     { ERROR_IS_JOIN_PATH,  "ERROR_IS_JOIN_PATH" },
643     { ERROR_PATH_BUSY, "ERROR_PATH_BUSY" },
644     { ERROR_IS_SUBST_TARGET,   "ERROR_IS_SUBST_TARGET" },
645     { ERROR_SYSTEM_TRACE,  "ERROR_SYSTEM_TRACE" },
646     { ERROR_INVALID_EVENT_COUNT,   "ERROR_INVALID_EVENT_COUNT" },
647     { ERROR_TOO_MANY_MUXWAITERS,   "ERROR_TOO_MANY_MUXWAITERS" },
648     { ERROR_INVALID_LIST_FORMAT,   "ERROR_INVALID_LIST_FORMAT" },
649     { ERROR_LABEL_TOO_LONG,    "ERROR_LABEL_TOO_LONG" },
650     { ERROR_TOO_MANY_TCBS, "ERROR_TOO_MANY_TCBS" },
651     { ERROR_SIGNAL_REFUSED,    "ERROR_SIGNAL_REFUSED" },
652     { ERROR_DISCARDED, "ERROR_DISCARDED" },
653     { ERROR_NOT_LOCKED,    "ERROR_NOT_LOCKED" },
654     { ERROR_BAD_THREADID_ADDR, "ERROR_BAD_THREADID_ADDR" },
655     { ERROR_BAD_ARGUMENTS, "ERROR_BAD_ARGUMENTS" },
656     { ERROR_BAD_PATHNAME,  "ERROR_BAD_PATHNAME" },
657     { ERROR_SIGNAL_PENDING,    "ERROR_SIGNAL_PENDING" },
658     { ERROR_MAX_THRDS_REACHED, "ERROR_MAX_THRDS_REACHED" },
659     { ERROR_LOCK_FAILED,   "ERROR_LOCK_FAILED" },
660     { ERROR_BUSY,  "ERROR_BUSY" },
661     { ERROR_CANCEL_VIOLATION,  "ERROR_CANCEL_VIOLATION" },
662     { ERROR_ATOMIC_LOCKS_NOT_SUPPORTED,    "ERROR_ATOMIC_LOCKS_NOT_SUPPORTED" },
663     { ERROR_INVALID_SEGMENT_NUMBER,    "ERROR_INVALID_SEGMENT_NUMBER" },
664     { ERROR_INVALID_ORDINAL,   "ERROR_INVALID_ORDINAL" },
665     { ERROR_ALREADY_EXISTS,    "ERROR_ALREADY_EXISTS" },
666     { ERROR_INVALID_FLAG_NUMBER,   "ERROR_INVALID_FLAG_NUMBER" },
667     { ERROR_SEM_NOT_FOUND, "ERROR_SEM_NOT_FOUND" },
668     { ERROR_INVALID_STARTING_CODESEG,  "ERROR_INVALID_STARTING_CODESEG" },
669     { ERROR_INVALID_STACKSEG,  "ERROR_INVALID_STACKSEG" },
670     { ERROR_INVALID_MODULETYPE,    "ERROR_INVALID_MODULETYPE" },
671     { ERROR_INVALID_EXE_SIGNATURE, "ERROR_INVALID_EXE_SIGNATURE" },
672     { ERROR_EXE_MARKED_INVALID,    "ERROR_EXE_MARKED_INVALID" },
673     { ERROR_BAD_EXE_FORMAT,    "ERROR_BAD_EXE_FORMAT" },
674     { ERROR_ITERATED_DATA_EXCEEDS_64k, "ERROR_ITERATED_DATA_EXCEEDS_64k" },
675     { ERROR_INVALID_MINALLOCSIZE,  "ERROR_INVALID_MINALLOCSIZE" },
676     { ERROR_DYNLINK_FROM_INVALID_RING, "ERROR_DYNLINK_FROM_INVALID_RING" },
677     { ERROR_IOPL_NOT_ENABLED,  "ERROR_IOPL_NOT_ENABLED" },
678     { ERROR_INVALID_SEGDPL,    "ERROR_INVALID_SEGDPL" },
679     { ERROR_AUTODATASEG_EXCEEDS_64k,   "ERROR_AUTODATASEG_EXCEEDS_64k" },
680     { ERROR_RING2SEG_MUST_BE_MOVABLE,  "ERROR_RING2SEG_MUST_BE_MOVABLE" },
681     { ERROR_RELOC_CHAIN_XEEDS_SEGLIM,  "ERROR_RELOC_CHAIN_XEEDS_SEGLIM" },
682     { ERROR_INFLOOP_IN_RELOC_CHAIN,    "ERROR_INFLOOP_IN_RELOC_CHAIN" },
683     { ERROR_ENVVAR_NOT_FOUND,  "ERROR_ENVVAR_NOT_FOUND" },
684     { ERROR_NO_SIGNAL_SENT,    "ERROR_NO_SIGNAL_SENT" },
685     { ERROR_FILENAME_EXCED_RANGE,  "ERROR_FILENAME_EXCED_RANGE" },
686     { ERROR_RING2_STACK_IN_USE,    "ERROR_RING2_STACK_IN_USE" },
687     { ERROR_META_EXPANSION_TOO_LONG,   "ERROR_META_EXPANSION_TOO_LONG" },
688     { ERROR_INVALID_SIGNAL_NUMBER, "ERROR_INVALID_SIGNAL_NUMBER" },
689     { ERROR_THREAD_1_INACTIVE, "ERROR_THREAD_1_INACTIVE" },
690     { ERROR_LOCKED,    "ERROR_LOCKED" },
691     { ERROR_TOO_MANY_MODULES,  "ERROR_TOO_MANY_MODULES" },
692     { ERROR_NESTING_NOT_ALLOWED,   "ERROR_NESTING_NOT_ALLOWED" },
693 #ifdef ERROR_EXE_MACHINE_TYPE_MISMATCH
694     { ERROR_EXE_MACHINE_TYPE_MISMATCH, "ERROR_EXE_MACHINE_TYPE_MISMATCH" },
695 #endif
696     { ERROR_BAD_PIPE,  "ERROR_BAD_PIPE" },
697     { ERROR_PIPE_BUSY, "ERROR_PIPE_BUSY" },
698     { ERROR_NO_DATA,   "ERROR_NO_DATA" },
699     { ERROR_PIPE_NOT_CONNECTED,    "ERROR_PIPE_NOT_CONNECTED" },
700     { ERROR_MORE_DATA, "ERROR_MORE_DATA" },
701     { ERROR_VC_DISCONNECTED,   "ERROR_VC_DISCONNECTED" },
702     { ERROR_INVALID_EA_NAME,   "ERROR_INVALID_EA_NAME" },
703     { ERROR_EA_LIST_INCONSISTENT,  "ERROR_EA_LIST_INCONSISTENT" },
704     { ERROR_NO_MORE_ITEMS, "ERROR_NO_MORE_ITEMS" },
705     { ERROR_CANNOT_COPY,   "ERROR_CANNOT_COPY" },
706     { ERROR_DIRECTORY, "ERROR_DIRECTORY" },
707     { ERROR_EAS_DIDNT_FIT, "ERROR_EAS_DIDNT_FIT" },
708     { ERROR_EA_FILE_CORRUPT,   "ERROR_EA_FILE_CORRUPT" },
709     { ERROR_EA_TABLE_FULL, "ERROR_EA_TABLE_FULL" },
710     { ERROR_INVALID_EA_HANDLE, "ERROR_INVALID_EA_HANDLE" },
711     { ERROR_EAS_NOT_SUPPORTED, "ERROR_EAS_NOT_SUPPORTED" },
712     { ERROR_NOT_OWNER, "ERROR_NOT_OWNER" },
713     { ERROR_TOO_MANY_POSTS,    "ERROR_TOO_MANY_POSTS" },
714     { ERROR_PARTIAL_COPY,  "ERROR_PARTIAL_COPY" },
715     { ERROR_MR_MID_NOT_FOUND,  "ERROR_MR_MID_NOT_FOUND" },
716     { ERROR_INVALID_ADDRESS,   "ERROR_INVALID_ADDRESS" },
717     { ERROR_ARITHMETIC_OVERFLOW,   "ERROR_ARITHMETIC_OVERFLOW" },
718     { ERROR_PIPE_CONNECTED,    "ERROR_PIPE_CONNECTED" },
719     { ERROR_PIPE_LISTENING,    "ERROR_PIPE_LISTENING" },
720     { ERROR_EA_ACCESS_DENIED,  "ERROR_EA_ACCESS_DENIED" },
721     { ERROR_OPERATION_ABORTED, "ERROR_OPERATION_ABORTED" },
722     { ERROR_IO_INCOMPLETE, "ERROR_IO_INCOMPLETE" },
723     { ERROR_IO_PENDING,    "ERROR_IO_PENDING" },
724     { ERROR_NOACCESS,  "ERROR_NOACCESS" },
725     { ERROR_SWAPERROR, "ERROR_SWAPERROR" },
726     { ERROR_STACK_OVERFLOW,    "ERROR_STACK_OVERFLOW" },
727     { ERROR_INVALID_MESSAGE,   "ERROR_INVALID_MESSAGE" },
728     { ERROR_CAN_NOT_COMPLETE,  "ERROR_CAN_NOT_COMPLETE" },
729     { ERROR_INVALID_FLAGS, "ERROR_INVALID_FLAGS" },
730     { ERROR_UNRECOGNIZED_VOLUME,   "ERROR_UNRECOGNIZED_VOLUME" },
731     { ERROR_FILE_INVALID,  "ERROR_FILE_INVALID" },
732     { ERROR_FULLSCREEN_MODE,   "ERROR_FULLSCREEN_MODE" },
733     { ERROR_NO_TOKEN,  "ERROR_NO_TOKEN" },
734     { ERROR_BADDB, "ERROR_BADDB" },
735     { ERROR_BADKEY,    "ERROR_BADKEY" },
736     { ERROR_CANTOPEN,  "ERROR_CANTOPEN" },
737     { ERROR_CANTREAD,  "ERROR_CANTREAD" },
738     { ERROR_CANTWRITE, "ERROR_CANTWRITE" },
739     { ERROR_REGISTRY_RECOVERED,    "ERROR_REGISTRY_RECOVERED" },
740     { ERROR_REGISTRY_CORRUPT,  "ERROR_REGISTRY_CORRUPT" },
741     { ERROR_REGISTRY_IO_FAILED,    "ERROR_REGISTRY_IO_FAILED" },
742     { ERROR_NOT_REGISTRY_FILE, "ERROR_NOT_REGISTRY_FILE" },
743     { ERROR_KEY_DELETED,   "ERROR_KEY_DELETED" },
744     { ERROR_NO_LOG_SPACE,  "ERROR_NO_LOG_SPACE" },
745     { ERROR_KEY_HAS_CHILDREN,  "ERROR_KEY_HAS_CHILDREN" },
746     { ERROR_CHILD_MUST_BE_VOLATILE,    "ERROR_CHILD_MUST_BE_VOLATILE" },
747     { ERROR_NOTIFY_ENUM_DIR,   "ERROR_NOTIFY_ENUM_DIR" },
748     { ERROR_DEPENDENT_SERVICES_RUNNING,    "ERROR_DEPENDENT_SERVICES_RUNNING" },
749     { ERROR_INVALID_SERVICE_CONTROL,   "ERROR_INVALID_SERVICE_CONTROL" },
750     { ERROR_SERVICE_REQUEST_TIMEOUT,   "ERROR_SERVICE_REQUEST_TIMEOUT" },
751     { ERROR_SERVICE_NO_THREAD, "ERROR_SERVICE_NO_THREAD" },
752     { ERROR_SERVICE_DATABASE_LOCKED,   "ERROR_SERVICE_DATABASE_LOCKED" },
753     { ERROR_SERVICE_ALREADY_RUNNING,   "ERROR_SERVICE_ALREADY_RUNNING" },
754     { ERROR_INVALID_SERVICE_ACCOUNT,   "ERROR_INVALID_SERVICE_ACCOUNT" },
755     { ERROR_SERVICE_DISABLED,  "ERROR_SERVICE_DISABLED" },
756     { ERROR_CIRCULAR_DEPENDENCY,   "ERROR_CIRCULAR_DEPENDENCY" },
757     { ERROR_SERVICE_DOES_NOT_EXIST,    "ERROR_SERVICE_DOES_NOT_EXIST" },
758     { ERROR_SERVICE_CANNOT_ACCEPT_CTRL,    "ERROR_SERVICE_CANNOT_ACCEPT_CTRL" },
759     { ERROR_SERVICE_NOT_ACTIVE,    "ERROR_SERVICE_NOT_ACTIVE" },
760     { ERROR_FAILED_SERVICE_CONTROLLER_CONNECT, "ERROR_FAILED_SERVICE_CONTROLLER_CONNECT" },
761     { ERROR_EXCEPTION_IN_SERVICE,  "ERROR_EXCEPTION_IN_SERVICE" },
762     { ERROR_DATABASE_DOES_NOT_EXIST,   "ERROR_DATABASE_DOES_NOT_EXIST" },
763     { ERROR_SERVICE_SPECIFIC_ERROR,    "ERROR_SERVICE_SPECIFIC_ERROR" },
764     { ERROR_PROCESS_ABORTED,   "ERROR_PROCESS_ABORTED" },
765     { ERROR_SERVICE_DEPENDENCY_FAIL,   "ERROR_SERVICE_DEPENDENCY_FAIL" },
766     { ERROR_SERVICE_LOGON_FAILED,  "ERROR_SERVICE_LOGON_FAILED" },
767     { ERROR_SERVICE_START_HANG,    "ERROR_SERVICE_START_HANG" },
768     { ERROR_INVALID_SERVICE_LOCK,  "ERROR_INVALID_SERVICE_LOCK" },
769     { ERROR_SERVICE_MARKED_FOR_DELETE, "ERROR_SERVICE_MARKED_FOR_DELETE" },
770     { ERROR_SERVICE_EXISTS,    "ERROR_SERVICE_EXISTS" },
771     { ERROR_ALREADY_RUNNING_LKG,   "ERROR_ALREADY_RUNNING_LKG" },
772     { ERROR_SERVICE_DEPENDENCY_DELETED,    "ERROR_SERVICE_DEPENDENCY_DELETED" },
773     { ERROR_BOOT_ALREADY_ACCEPTED, "ERROR_BOOT_ALREADY_ACCEPTED" },
774     { ERROR_SERVICE_NEVER_STARTED, "ERROR_SERVICE_NEVER_STARTED" },
775     { ERROR_DUPLICATE_SERVICE_NAME,    "ERROR_DUPLICATE_SERVICE_NAME" },
776 #ifdef ERROR_DIFFERENT_SERVICE_ACCOUNT
777     { ERROR_DIFFERENT_SERVICE_ACCOUNT, "ERROR_DIFFERENT_SERVICE_ACCOUNT" },
778 #endif
779     { ERROR_END_OF_MEDIA,  "ERROR_END_OF_MEDIA" },
780     { ERROR_FILEMARK_DETECTED, "ERROR_FILEMARK_DETECTED" },
781     { ERROR_BEGINNING_OF_MEDIA,    "ERROR_BEGINNING_OF_MEDIA" },
782     { ERROR_SETMARK_DETECTED,  "ERROR_SETMARK_DETECTED" },
783     { ERROR_NO_DATA_DETECTED,  "ERROR_NO_DATA_DETECTED" },
784     { ERROR_PARTITION_FAILURE, "ERROR_PARTITION_FAILURE" },
785     { ERROR_INVALID_BLOCK_LENGTH,  "ERROR_INVALID_BLOCK_LENGTH" },
786     { ERROR_DEVICE_NOT_PARTITIONED,    "ERROR_DEVICE_NOT_PARTITIONED" },
787     { ERROR_UNABLE_TO_LOCK_MEDIA,  "ERROR_UNABLE_TO_LOCK_MEDIA" },
788     { ERROR_UNABLE_TO_UNLOAD_MEDIA,    "ERROR_UNABLE_TO_UNLOAD_MEDIA" },
789     { ERROR_MEDIA_CHANGED, "ERROR_MEDIA_CHANGED" },
790     { ERROR_BUS_RESET, "ERROR_BUS_RESET" },
791     { ERROR_NO_MEDIA_IN_DRIVE, "ERROR_NO_MEDIA_IN_DRIVE" },
792     { ERROR_NO_UNICODE_TRANSLATION,    "ERROR_NO_UNICODE_TRANSLATION" },
793     { ERROR_DLL_INIT_FAILED,   "ERROR_DLL_INIT_FAILED" },
794     { ERROR_SHUTDOWN_IN_PROGRESS,  "ERROR_SHUTDOWN_IN_PROGRESS" },
795     { ERROR_NO_SHUTDOWN_IN_PROGRESS,   "ERROR_NO_SHUTDOWN_IN_PROGRESS" },
796     { ERROR_IO_DEVICE, "ERROR_IO_DEVICE" },
797     { ERROR_SERIAL_NO_DEVICE,  "ERROR_SERIAL_NO_DEVICE" },
798     { ERROR_IRQ_BUSY,  "ERROR_IRQ_BUSY" },
799     { ERROR_MORE_WRITES,   "ERROR_MORE_WRITES" },
800     { ERROR_COUNTER_TIMEOUT,   "ERROR_COUNTER_TIMEOUT" },
801     { ERROR_FLOPPY_ID_MARK_NOT_FOUND,  "ERROR_FLOPPY_ID_MARK_NOT_FOUND" },
802     { ERROR_FLOPPY_WRONG_CYLINDER, "ERROR_FLOPPY_WRONG_CYLINDER" },
803     { ERROR_FLOPPY_UNKNOWN_ERROR,  "ERROR_FLOPPY_UNKNOWN_ERROR" },
804     { ERROR_FLOPPY_BAD_REGISTERS,  "ERROR_FLOPPY_BAD_REGISTERS" },
805     { ERROR_DISK_RECALIBRATE_FAILED,   "ERROR_DISK_RECALIBRATE_FAILED" },
806     { ERROR_DISK_OPERATION_FAILED, "ERROR_DISK_OPERATION_FAILED" },
807     { ERROR_DISK_RESET_FAILED, "ERROR_DISK_RESET_FAILED" },
808     { ERROR_EOM_OVERFLOW,  "ERROR_EOM_OVERFLOW" },
809     { ERROR_NOT_ENOUGH_SERVER_MEMORY,  "ERROR_NOT_ENOUGH_SERVER_MEMORY" },
810     { ERROR_POSSIBLE_DEADLOCK, "ERROR_POSSIBLE_DEADLOCK" },
811     { ERROR_MAPPED_ALIGNMENT,  "ERROR_MAPPED_ALIGNMENT" },
812     { ERROR_SET_POWER_STATE_VETOED,    "ERROR_SET_POWER_STATE_VETOED" },
813     { ERROR_SET_POWER_STATE_FAILED,    "ERROR_SET_POWER_STATE_FAILED" },
814 #ifdef ERROR_TOO_MANY_LINKS
815     { ERROR_TOO_MANY_LINKS,    "ERROR_TOO_MANY_LINKS" },
816 #endif
817     { ERROR_OLD_WIN_VERSION,   "ERROR_OLD_WIN_VERSION" },
818     { ERROR_APP_WRONG_OS,  "ERROR_APP_WRONG_OS" },
819     { ERROR_SINGLE_INSTANCE_APP,   "ERROR_SINGLE_INSTANCE_APP" },
820     { ERROR_RMODE_APP, "ERROR_RMODE_APP" },
821     { ERROR_INVALID_DLL,   "ERROR_INVALID_DLL" },
822     { ERROR_NO_ASSOCIATION,    "ERROR_NO_ASSOCIATION" },
823     { ERROR_DDE_FAIL,  "ERROR_DDE_FAIL" },
824     { ERROR_DLL_NOT_FOUND, "ERROR_DLL_NOT_FOUND" },
825     { ERROR_BAD_USERNAME,  "ERROR_BAD_USERNAME" },
826     { ERROR_NOT_CONNECTED, "ERROR_NOT_CONNECTED" },
827     { ERROR_OPEN_FILES,    "ERROR_OPEN_FILES" },
828     { ERROR_ACTIVE_CONNECTIONS,    "ERROR_ACTIVE_CONNECTIONS" },
829     { ERROR_DEVICE_IN_USE, "ERROR_DEVICE_IN_USE" },
830     { ERROR_BAD_DEVICE,    "ERROR_BAD_DEVICE" },
831     { ERROR_CONNECTION_UNAVAIL,    "ERROR_CONNECTION_UNAVAIL" },
832     { ERROR_DEVICE_ALREADY_REMEMBERED, "ERROR_DEVICE_ALREADY_REMEMBERED" },
833     { ERROR_NO_NET_OR_BAD_PATH,    "ERROR_NO_NET_OR_BAD_PATH" },
834     { ERROR_BAD_PROVIDER,  "ERROR_BAD_PROVIDER" },
835     { ERROR_CANNOT_OPEN_PROFILE,   "ERROR_CANNOT_OPEN_PROFILE" },
836     { ERROR_BAD_PROFILE,   "ERROR_BAD_PROFILE" },
837     { ERROR_NOT_CONTAINER, "ERROR_NOT_CONTAINER" },
838     { ERROR_EXTENDED_ERROR,    "ERROR_EXTENDED_ERROR" },
839     { ERROR_INVALID_GROUPNAME, "ERROR_INVALID_GROUPNAME" },
840     { ERROR_INVALID_COMPUTERNAME,  "ERROR_INVALID_COMPUTERNAME" },
841     { ERROR_INVALID_EVENTNAME, "ERROR_INVALID_EVENTNAME" },
842     { ERROR_INVALID_DOMAINNAME,    "ERROR_INVALID_DOMAINNAME" },
843     { ERROR_INVALID_SERVICENAME,   "ERROR_INVALID_SERVICENAME" },
844     { ERROR_INVALID_NETNAME,   "ERROR_INVALID_NETNAME" },
845     { ERROR_INVALID_SHARENAME, "ERROR_INVALID_SHARENAME" },
846     { ERROR_INVALID_PASSWORDNAME,  "ERROR_INVALID_PASSWORDNAME" },
847     { ERROR_INVALID_MESSAGENAME,   "ERROR_INVALID_MESSAGENAME" },
848     { ERROR_INVALID_MESSAGEDEST,   "ERROR_INVALID_MESSAGEDEST" },
849     { ERROR_SESSION_CREDENTIAL_CONFLICT,   "ERROR_SESSION_CREDENTIAL_CONFLICT" },
850     { ERROR_REMOTE_SESSION_LIMIT_EXCEEDED, "ERROR_REMOTE_SESSION_LIMIT_EXCEEDED" },
851     { ERROR_DUP_DOMAINNAME,    "ERROR_DUP_DOMAINNAME" },
852     { ERROR_NO_NETWORK,    "ERROR_NO_NETWORK" },
853     { ERROR_CANCELLED, "ERROR_CANCELLED" },
854     { ERROR_USER_MAPPED_FILE,  "ERROR_USER_MAPPED_FILE" },
855     { ERROR_CONNECTION_REFUSED,    "ERROR_CONNECTION_REFUSED" },
856     { ERROR_GRACEFUL_DISCONNECT,   "ERROR_GRACEFUL_DISCONNECT" },
857     { ERROR_ADDRESS_ALREADY_ASSOCIATED,    "ERROR_ADDRESS_ALREADY_ASSOCIATED" },
858     { ERROR_ADDRESS_NOT_ASSOCIATED,    "ERROR_ADDRESS_NOT_ASSOCIATED" },
859     { ERROR_CONNECTION_INVALID,    "ERROR_CONNECTION_INVALID" },
860     { ERROR_CONNECTION_ACTIVE, "ERROR_CONNECTION_ACTIVE" },
861     { ERROR_NETWORK_UNREACHABLE,   "ERROR_NETWORK_UNREACHABLE" },
862     { ERROR_HOST_UNREACHABLE,  "ERROR_HOST_UNREACHABLE" },
863     { ERROR_PROTOCOL_UNREACHABLE,  "ERROR_PROTOCOL_UNREACHABLE" },
864     { ERROR_PORT_UNREACHABLE,  "ERROR_PORT_UNREACHABLE" },
865     { ERROR_REQUEST_ABORTED,   "ERROR_REQUEST_ABORTED" },
866     { ERROR_CONNECTION_ABORTED,    "ERROR_CONNECTION_ABORTED" },
867     { ERROR_RETRY, "ERROR_RETRY" },
868     { ERROR_CONNECTION_COUNT_LIMIT,    "ERROR_CONNECTION_COUNT_LIMIT" },
869     { ERROR_LOGIN_TIME_RESTRICTION,    "ERROR_LOGIN_TIME_RESTRICTION" },
870     { ERROR_LOGIN_WKSTA_RESTRICTION,   "ERROR_LOGIN_WKSTA_RESTRICTION" },
871     { ERROR_INCORRECT_ADDRESS, "ERROR_INCORRECT_ADDRESS" },
872     { ERROR_ALREADY_REGISTERED,    "ERROR_ALREADY_REGISTERED" },
873     { ERROR_SERVICE_NOT_FOUND, "ERROR_SERVICE_NOT_FOUND" },
874     { ERROR_NOT_AUTHENTICATED, "ERROR_NOT_AUTHENTICATED" },
875     { ERROR_NOT_LOGGED_ON, "ERROR_NOT_LOGGED_ON" },
876     { ERROR_CONTINUE,  "ERROR_CONTINUE" },
877     { ERROR_ALREADY_INITIALIZED,   "ERROR_ALREADY_INITIALIZED" },
878     { ERROR_NO_MORE_DEVICES,   "ERROR_NO_MORE_DEVICES" },
879     { ERROR_NOT_ALL_ASSIGNED,  "ERROR_NOT_ALL_ASSIGNED" },
880     { ERROR_SOME_NOT_MAPPED,   "ERROR_SOME_NOT_MAPPED" },
881     { ERROR_NO_QUOTAS_FOR_ACCOUNT, "ERROR_NO_QUOTAS_FOR_ACCOUNT" },
882     { ERROR_LOCAL_USER_SESSION_KEY,    "ERROR_LOCAL_USER_SESSION_KEY" },
883     { ERROR_NULL_LM_PASSWORD,  "ERROR_NULL_LM_PASSWORD" },
884     { ERROR_UNKNOWN_REVISION,  "ERROR_UNKNOWN_REVISION" },
885     { ERROR_REVISION_MISMATCH, "ERROR_REVISION_MISMATCH" },
886     { ERROR_INVALID_OWNER, "ERROR_INVALID_OWNER" },
887     { ERROR_INVALID_PRIMARY_GROUP, "ERROR_INVALID_PRIMARY_GROUP" },
888     { ERROR_NO_IMPERSONATION_TOKEN,    "ERROR_NO_IMPERSONATION_TOKEN" },
889     { ERROR_CANT_DISABLE_MANDATORY,    "ERROR_CANT_DISABLE_MANDATORY" },
890     { ERROR_NO_LOGON_SERVERS,  "ERROR_NO_LOGON_SERVERS" },
891     { ERROR_NO_SUCH_LOGON_SESSION, "ERROR_NO_SUCH_LOGON_SESSION" },
892     { ERROR_NO_SUCH_PRIVILEGE, "ERROR_NO_SUCH_PRIVILEGE" },
893     { ERROR_PRIVILEGE_NOT_HELD,    "ERROR_PRIVILEGE_NOT_HELD" },
894     { ERROR_INVALID_ACCOUNT_NAME,  "ERROR_INVALID_ACCOUNT_NAME" },
895     { ERROR_USER_EXISTS,   "ERROR_USER_EXISTS" },
896     { ERROR_NO_SUCH_USER,  "ERROR_NO_SUCH_USER" },
897     { ERROR_GROUP_EXISTS,  "ERROR_GROUP_EXISTS" },
898     { ERROR_NO_SUCH_GROUP, "ERROR_NO_SUCH_GROUP" },
899     { ERROR_MEMBER_IN_GROUP,   "ERROR_MEMBER_IN_GROUP" },
900     { ERROR_MEMBER_NOT_IN_GROUP,   "ERROR_MEMBER_NOT_IN_GROUP" },
901     { ERROR_LAST_ADMIN,    "ERROR_LAST_ADMIN" },
902     { ERROR_WRONG_PASSWORD,    "ERROR_WRONG_PASSWORD" },
903     { ERROR_ILL_FORMED_PASSWORD,   "ERROR_ILL_FORMED_PASSWORD" },
904     { ERROR_PASSWORD_RESTRICTION,  "ERROR_PASSWORD_RESTRICTION" },
905     { ERROR_LOGON_FAILURE, "ERROR_LOGON_FAILURE" },
906     { ERROR_ACCOUNT_RESTRICTION,   "ERROR_ACCOUNT_RESTRICTION" },
907     { ERROR_INVALID_LOGON_HOURS,   "ERROR_INVALID_LOGON_HOURS" },
908     { ERROR_INVALID_WORKSTATION,   "ERROR_INVALID_WORKSTATION" },
909     { ERROR_PASSWORD_EXPIRED,  "ERROR_PASSWORD_EXPIRED" },
910     { ERROR_ACCOUNT_DISABLED,  "ERROR_ACCOUNT_DISABLED" },
911     { ERROR_NONE_MAPPED,   "ERROR_NONE_MAPPED" },
912     { ERROR_TOO_MANY_LUIDS_REQUESTED,  "ERROR_TOO_MANY_LUIDS_REQUESTED" },
913     { ERROR_LUIDS_EXHAUSTED,   "ERROR_LUIDS_EXHAUSTED" },
914     { ERROR_INVALID_SUB_AUTHORITY, "ERROR_INVALID_SUB_AUTHORITY" },
915     { ERROR_INVALID_ACL,   "ERROR_INVALID_ACL" },
916     { ERROR_INVALID_SID,   "ERROR_INVALID_SID" },
917     { ERROR_INVALID_SECURITY_DESCR,    "ERROR_INVALID_SECURITY_DESCR" },
918     { ERROR_BAD_INHERITANCE_ACL,   "ERROR_BAD_INHERITANCE_ACL" },
919     { ERROR_SERVER_DISABLED,   "ERROR_SERVER_DISABLED" },
920     { ERROR_SERVER_NOT_DISABLED,   "ERROR_SERVER_NOT_DISABLED" },
921     { ERROR_INVALID_ID_AUTHORITY,  "ERROR_INVALID_ID_AUTHORITY" },
922     { ERROR_ALLOTTED_SPACE_EXCEEDED,   "ERROR_ALLOTTED_SPACE_EXCEEDED" },
923     { ERROR_INVALID_GROUP_ATTRIBUTES,  "ERROR_INVALID_GROUP_ATTRIBUTES" },
924     { ERROR_BAD_IMPERSONATION_LEVEL,   "ERROR_BAD_IMPERSONATION_LEVEL" },
925     { ERROR_CANT_OPEN_ANONYMOUS,   "ERROR_CANT_OPEN_ANONYMOUS" },
926     { ERROR_BAD_VALIDATION_CLASS,  "ERROR_BAD_VALIDATION_CLASS" },
927     { ERROR_BAD_TOKEN_TYPE,    "ERROR_BAD_TOKEN_TYPE" },
928     { ERROR_NO_SECURITY_ON_OBJECT, "ERROR_NO_SECURITY_ON_OBJECT" },
929     { ERROR_CANT_ACCESS_DOMAIN_INFO,   "ERROR_CANT_ACCESS_DOMAIN_INFO" },
930     { ERROR_INVALID_SERVER_STATE,  "ERROR_INVALID_SERVER_STATE" },
931     { ERROR_INVALID_DOMAIN_STATE,  "ERROR_INVALID_DOMAIN_STATE" },
932     { ERROR_INVALID_DOMAIN_ROLE,   "ERROR_INVALID_DOMAIN_ROLE" },
933     { ERROR_NO_SUCH_DOMAIN,    "ERROR_NO_SUCH_DOMAIN" },
934     { ERROR_DOMAIN_EXISTS, "ERROR_DOMAIN_EXISTS" },
935     { ERROR_DOMAIN_LIMIT_EXCEEDED, "ERROR_DOMAIN_LIMIT_EXCEEDED" },
936     { ERROR_INTERNAL_DB_CORRUPTION,    "ERROR_INTERNAL_DB_CORRUPTION" },
937     { ERROR_INTERNAL_ERROR,    "ERROR_INTERNAL_ERROR" },
938     { ERROR_GENERIC_NOT_MAPPED,    "ERROR_GENERIC_NOT_MAPPED" },
939     { ERROR_BAD_DESCRIPTOR_FORMAT, "ERROR_BAD_DESCRIPTOR_FORMAT" },
940     { ERROR_NOT_LOGON_PROCESS, "ERROR_NOT_LOGON_PROCESS" },
941     { ERROR_LOGON_SESSION_EXISTS,  "ERROR_LOGON_SESSION_EXISTS" },
942     { ERROR_NO_SUCH_PACKAGE,   "ERROR_NO_SUCH_PACKAGE" },
943     { ERROR_BAD_LOGON_SESSION_STATE,   "ERROR_BAD_LOGON_SESSION_STATE" },
944     { ERROR_LOGON_SESSION_COLLISION,   "ERROR_LOGON_SESSION_COLLISION" },
945     { ERROR_INVALID_LOGON_TYPE,    "ERROR_INVALID_LOGON_TYPE" },
946     { ERROR_CANNOT_IMPERSONATE,    "ERROR_CANNOT_IMPERSONATE" },
947     { ERROR_RXACT_INVALID_STATE,   "ERROR_RXACT_INVALID_STATE" },
948     { ERROR_RXACT_COMMIT_FAILURE,  "ERROR_RXACT_COMMIT_FAILURE" },
949     { ERROR_SPECIAL_ACCOUNT,   "ERROR_SPECIAL_ACCOUNT" },
950     { ERROR_SPECIAL_GROUP, "ERROR_SPECIAL_GROUP" },
951     { ERROR_SPECIAL_USER,  "ERROR_SPECIAL_USER" },
952     { ERROR_MEMBERS_PRIMARY_GROUP, "ERROR_MEMBERS_PRIMARY_GROUP" },
953     { ERROR_TOKEN_ALREADY_IN_USE,  "ERROR_TOKEN_ALREADY_IN_USE" },
954     { ERROR_NO_SUCH_ALIAS, "ERROR_NO_SUCH_ALIAS" },
955     { ERROR_MEMBER_NOT_IN_ALIAS,   "ERROR_MEMBER_NOT_IN_ALIAS" },
956     { ERROR_MEMBER_IN_ALIAS,   "ERROR_MEMBER_IN_ALIAS" },
957     { ERROR_ALIAS_EXISTS,  "ERROR_ALIAS_EXISTS" },
958     { ERROR_LOGON_NOT_GRANTED, "ERROR_LOGON_NOT_GRANTED" },
959     { ERROR_TOO_MANY_SECRETS,  "ERROR_TOO_MANY_SECRETS" },
960     { ERROR_SECRET_TOO_LONG,   "ERROR_SECRET_TOO_LONG" },
961     { ERROR_INTERNAL_DB_ERROR, "ERROR_INTERNAL_DB_ERROR" },
962     { ERROR_TOO_MANY_CONTEXT_IDS,  "ERROR_TOO_MANY_CONTEXT_IDS" },
963     { ERROR_LOGON_TYPE_NOT_GRANTED,    "ERROR_LOGON_TYPE_NOT_GRANTED" },
964     { ERROR_NT_CROSS_ENCRYPTION_REQUIRED,  "ERROR_NT_CROSS_ENCRYPTION_REQUIRED" },
965     { ERROR_NO_SUCH_MEMBER,    "ERROR_NO_SUCH_MEMBER" },
966     { ERROR_INVALID_MEMBER,    "ERROR_INVALID_MEMBER" },
967     { ERROR_TOO_MANY_SIDS, "ERROR_TOO_MANY_SIDS" },
968     { ERROR_LM_CROSS_ENCRYPTION_REQUIRED,  "ERROR_LM_CROSS_ENCRYPTION_REQUIRED" },
969     { ERROR_NO_INHERITANCE,    "ERROR_NO_INHERITANCE" },
970     { ERROR_FILE_CORRUPT,  "ERROR_FILE_CORRUPT" },
971     { ERROR_DISK_CORRUPT,  "ERROR_DISK_CORRUPT" },
972     { ERROR_NO_USER_SESSION_KEY,   "ERROR_NO_USER_SESSION_KEY" },
973 #ifdef ERROR_LICENSE_QUOTA_EXCEEDED
974     { ERROR_LICENSE_QUOTA_EXCEEDED,    "ERROR_LICENSE_QUOTA_EXCEEDED" },
975 #endif
976     { ERROR_INVALID_WINDOW_HANDLE, "ERROR_INVALID_WINDOW_HANDLE" },
977     { ERROR_INVALID_MENU_HANDLE,   "ERROR_INVALID_MENU_HANDLE" },
978     { ERROR_INVALID_CURSOR_HANDLE, "ERROR_INVALID_CURSOR_HANDLE" },
979     { ERROR_INVALID_ACCEL_HANDLE,  "ERROR_INVALID_ACCEL_HANDLE" },
980     { ERROR_INVALID_HOOK_HANDLE,   "ERROR_INVALID_HOOK_HANDLE" },
981     { ERROR_INVALID_DWP_HANDLE,    "ERROR_INVALID_DWP_HANDLE" },
982     { ERROR_TLW_WITH_WSCHILD,  "ERROR_TLW_WITH_WSCHILD" },
983     { ERROR_CANNOT_FIND_WND_CLASS, "ERROR_CANNOT_FIND_WND_CLASS" },
984     { ERROR_WINDOW_OF_OTHER_THREAD,    "ERROR_WINDOW_OF_OTHER_THREAD" },
985     { ERROR_HOTKEY_ALREADY_REGISTERED, "ERROR_HOTKEY_ALREADY_REGISTERED" },
986     { ERROR_CLASS_ALREADY_EXISTS,  "ERROR_CLASS_ALREADY_EXISTS" },
987     { ERROR_CLASS_DOES_NOT_EXIST,  "ERROR_CLASS_DOES_NOT_EXIST" },
988     { ERROR_CLASS_HAS_WINDOWS, "ERROR_CLASS_HAS_WINDOWS" },
989     { ERROR_INVALID_INDEX, "ERROR_INVALID_INDEX" },
990     { ERROR_INVALID_ICON_HANDLE,   "ERROR_INVALID_ICON_HANDLE" },
991     { ERROR_PRIVATE_DIALOG_INDEX,  "ERROR_PRIVATE_DIALOG_INDEX" },
992     { ERROR_LISTBOX_ID_NOT_FOUND,  "ERROR_LISTBOX_ID_NOT_FOUND" },
993     { ERROR_NO_WILDCARD_CHARACTERS,    "ERROR_NO_WILDCARD_CHARACTERS" },
994     { ERROR_CLIPBOARD_NOT_OPEN,    "ERROR_CLIPBOARD_NOT_OPEN" },
995     { ERROR_HOTKEY_NOT_REGISTERED, "ERROR_HOTKEY_NOT_REGISTERED" },
996     { ERROR_WINDOW_NOT_DIALOG, "ERROR_WINDOW_NOT_DIALOG" },
997     { ERROR_CONTROL_ID_NOT_FOUND,  "ERROR_CONTROL_ID_NOT_FOUND" },
998     { ERROR_INVALID_COMBOBOX_MESSAGE,  "ERROR_INVALID_COMBOBOX_MESSAGE" },
999     { ERROR_WINDOW_NOT_COMBOBOX,   "ERROR_WINDOW_NOT_COMBOBOX" },
1000     { ERROR_INVALID_EDIT_HEIGHT,   "ERROR_INVALID_EDIT_HEIGHT" },
1001     { ERROR_DC_NOT_FOUND,  "ERROR_DC_NOT_FOUND" },
1002     { ERROR_INVALID_HOOK_FILTER,   "ERROR_INVALID_HOOK_FILTER" },
1003     { ERROR_INVALID_FILTER_PROC,   "ERROR_INVALID_FILTER_PROC" },
1004     { ERROR_HOOK_NEEDS_HMOD,   "ERROR_HOOK_NEEDS_HMOD" },
1005     { ERROR_GLOBAL_ONLY_HOOK,  "ERROR_GLOBAL_ONLY_HOOK" },
1006     { ERROR_JOURNAL_HOOK_SET,  "ERROR_JOURNAL_HOOK_SET" },
1007     { ERROR_HOOK_NOT_INSTALLED,    "ERROR_HOOK_NOT_INSTALLED" },
1008     { ERROR_INVALID_LB_MESSAGE,    "ERROR_INVALID_LB_MESSAGE" },
1009     { ERROR_SETCOUNT_ON_BAD_LB,    "ERROR_SETCOUNT_ON_BAD_LB" },
1010     { ERROR_LB_WITHOUT_TABSTOPS,   "ERROR_LB_WITHOUT_TABSTOPS" },
1011     { ERROR_DESTROY_OBJECT_OF_OTHER_THREAD,    "ERROR_DESTROY_OBJECT_OF_OTHER_THREAD" },
1012     { ERROR_CHILD_WINDOW_MENU, "ERROR_CHILD_WINDOW_MENU" },
1013     { ERROR_NO_SYSTEM_MENU,    "ERROR_NO_SYSTEM_MENU" },
1014     { ERROR_INVALID_MSGBOX_STYLE,  "ERROR_INVALID_MSGBOX_STYLE" },
1015     { ERROR_INVALID_SPI_VALUE, "ERROR_INVALID_SPI_VALUE" },
1016     { ERROR_SCREEN_ALREADY_LOCKED, "ERROR_SCREEN_ALREADY_LOCKED" },
1017     { ERROR_HWNDS_HAVE_DIFF_PARENT,    "ERROR_HWNDS_HAVE_DIFF_PARENT" },
1018     { ERROR_NOT_CHILD_WINDOW,  "ERROR_NOT_CHILD_WINDOW" },
1019     { ERROR_INVALID_GW_COMMAND,    "ERROR_INVALID_GW_COMMAND" },
1020     { ERROR_INVALID_THREAD_ID, "ERROR_INVALID_THREAD_ID" },
1021     { ERROR_NON_MDICHILD_WINDOW,   "ERROR_NON_MDICHILD_WINDOW" },
1022     { ERROR_POPUP_ALREADY_ACTIVE,  "ERROR_POPUP_ALREADY_ACTIVE" },
1023     { ERROR_NO_SCROLLBARS, "ERROR_NO_SCROLLBARS" },
1024     { ERROR_INVALID_SCROLLBAR_RANGE,   "ERROR_INVALID_SCROLLBAR_RANGE" },
1025     { ERROR_INVALID_SHOWWIN_COMMAND,   "ERROR_INVALID_SHOWWIN_COMMAND" },
1026 #ifdef ERROR_NO_SYSTEM_RESOURCES
1027     { ERROR_NO_SYSTEM_RESOURCES,   "ERROR_NO_SYSTEM_RESOURCES" },
1028 #endif
1029 #ifdef ERROR_NONPAGED_SYSTEM_RESOURCES
1030     { ERROR_NONPAGED_SYSTEM_RESOURCES, "ERROR_NONPAGED_SYSTEM_RESOURCES" },
1031 #endif
1032 #ifdef ERROR_PAGED_SYSTEM_RESOURCES
1033     { ERROR_PAGED_SYSTEM_RESOURCES,    "ERROR_PAGED_SYSTEM_RESOURCES" },
1034 #endif
1035 #ifdef ERROR_WORKING_SET_QUOTA
1036     { ERROR_WORKING_SET_QUOTA, "ERROR_WORKING_SET_QUOTA" },
1037 #endif
1038 #ifdef ERROR_PAGEFILE_QUOTA
1039     { ERROR_PAGEFILE_QUOTA,    "ERROR_PAGEFILE_QUOTA" },
1040 #endif
1041 #ifdef ERROR_COMMITMENT_LIMIT
1042     { ERROR_COMMITMENT_LIMIT,  "ERROR_COMMITMENT_LIMIT" },
1043 #endif
1044 #ifdef ERROR_MENU_ITEM_NOT_FOUND
1045     { ERROR_MENU_ITEM_NOT_FOUND,   "ERROR_MENU_ITEM_NOT_FOUND" },
1046 #endif
1047 #ifdef ERROR_INVALID_KEYBOARD_HANDLE
1048     { ERROR_INVALID_KEYBOARD_HANDLE,   "ERROR_INVALID_KEYBOARD_HANDLE" },
1049 #endif
1050 #ifdef ERROR_HOOK_TYPE_NOT_ALLOWED
1051     { ERROR_HOOK_TYPE_NOT_ALLOWED, "ERROR_HOOK_TYPE_NOT_ALLOWED" },
1052 #endif
1053 #ifdef ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION
1054     { ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION,    "ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION" },
1055 #endif
1056 #ifdef ERROR_TIMEOUT
1057     { ERROR_TIMEOUT,   "ERROR_TIMEOUT" },
1058 #endif
1059     { ERROR_EVENTLOG_FILE_CORRUPT, "ERROR_EVENTLOG_FILE_CORRUPT" },
1060     { ERROR_EVENTLOG_CANT_START,   "ERROR_EVENTLOG_CANT_START" },
1061     { ERROR_LOG_FILE_FULL, "ERROR_LOG_FILE_FULL" },
1062     { ERROR_EVENTLOG_FILE_CHANGED, "ERROR_EVENTLOG_FILE_CHANGED" },
1063     { RPC_S_INVALID_STRING_BINDING,    "RPC_S_INVALID_STRING_BINDING" },
1064     { RPC_S_WRONG_KIND_OF_BINDING, "RPC_S_WRONG_KIND_OF_BINDING" },
1065     { RPC_S_INVALID_BINDING,   "RPC_S_INVALID_BINDING" },
1066     { RPC_S_PROTSEQ_NOT_SUPPORTED, "RPC_S_PROTSEQ_NOT_SUPPORTED" },
1067     { RPC_S_INVALID_RPC_PROTSEQ,   "RPC_S_INVALID_RPC_PROTSEQ" },
1068     { RPC_S_INVALID_STRING_UUID,   "RPC_S_INVALID_STRING_UUID" },
1069     { RPC_S_INVALID_ENDPOINT_FORMAT,   "RPC_S_INVALID_ENDPOINT_FORMAT" },
1070     { RPC_S_INVALID_NET_ADDR,  "RPC_S_INVALID_NET_ADDR" },
1071     { RPC_S_NO_ENDPOINT_FOUND, "RPC_S_NO_ENDPOINT_FOUND" },
1072     { RPC_S_INVALID_TIMEOUT,   "RPC_S_INVALID_TIMEOUT" },
1073     { RPC_S_OBJECT_NOT_FOUND,  "RPC_S_OBJECT_NOT_FOUND" },
1074     { RPC_S_ALREADY_REGISTERED,    "RPC_S_ALREADY_REGISTERED" },
1075     { RPC_S_TYPE_ALREADY_REGISTERED,   "RPC_S_TYPE_ALREADY_REGISTERED" },
1076     { RPC_S_ALREADY_LISTENING, "RPC_S_ALREADY_LISTENING" },
1077     { RPC_S_NO_PROTSEQS_REGISTERED,    "RPC_S_NO_PROTSEQS_REGISTERED" },
1078     { RPC_S_NOT_LISTENING, "RPC_S_NOT_LISTENING" },
1079     { RPC_S_UNKNOWN_MGR_TYPE,  "RPC_S_UNKNOWN_MGR_TYPE" },
1080     { RPC_S_UNKNOWN_IF,    "RPC_S_UNKNOWN_IF" },
1081     { RPC_S_NO_BINDINGS,   "RPC_S_NO_BINDINGS" },
1082     { RPC_S_NO_PROTSEQS,   "RPC_S_NO_PROTSEQS" },
1083     { RPC_S_CANT_CREATE_ENDPOINT,  "RPC_S_CANT_CREATE_ENDPOINT" },
1084     { RPC_S_OUT_OF_RESOURCES,  "RPC_S_OUT_OF_RESOURCES" },
1085     { RPC_S_SERVER_UNAVAILABLE,    "RPC_S_SERVER_UNAVAILABLE" },
1086     { RPC_S_SERVER_TOO_BUSY,   "RPC_S_SERVER_TOO_BUSY" },
1087     { RPC_S_INVALID_NETWORK_OPTIONS,   "RPC_S_INVALID_NETWORK_OPTIONS" },
1088     { RPC_S_NO_CALL_ACTIVE,    "RPC_S_NO_CALL_ACTIVE" },
1089     { RPC_S_CALL_FAILED,   "RPC_S_CALL_FAILED" },
1090     { RPC_S_CALL_FAILED_DNE,   "RPC_S_CALL_FAILED_DNE" },
1091     { RPC_S_PROTOCOL_ERROR,    "RPC_S_PROTOCOL_ERROR" },
1092     { RPC_S_UNSUPPORTED_TRANS_SYN, "RPC_S_UNSUPPORTED_TRANS_SYN" },
1093     { RPC_S_UNSUPPORTED_TYPE,  "RPC_S_UNSUPPORTED_TYPE" },
1094     { RPC_S_INVALID_TAG,   "RPC_S_INVALID_TAG" },
1095     { RPC_S_INVALID_BOUND, "RPC_S_INVALID_BOUND" },
1096     { RPC_S_NO_ENTRY_NAME, "RPC_S_NO_ENTRY_NAME" },
1097     { RPC_S_INVALID_NAME_SYNTAX,   "RPC_S_INVALID_NAME_SYNTAX" },
1098     { RPC_S_UNSUPPORTED_NAME_SYNTAX,   "RPC_S_UNSUPPORTED_NAME_SYNTAX" },
1099     { RPC_S_UUID_NO_ADDRESS,   "RPC_S_UUID_NO_ADDRESS" },
1100     { RPC_S_DUPLICATE_ENDPOINT,    "RPC_S_DUPLICATE_ENDPOINT" },
1101     { RPC_S_UNKNOWN_AUTHN_TYPE,    "RPC_S_UNKNOWN_AUTHN_TYPE" },
1102     { RPC_S_MAX_CALLS_TOO_SMALL,   "RPC_S_MAX_CALLS_TOO_SMALL" },
1103     { RPC_S_STRING_TOO_LONG,   "RPC_S_STRING_TOO_LONG" },
1104     { RPC_S_PROTSEQ_NOT_FOUND, "RPC_S_PROTSEQ_NOT_FOUND" },
1105     { RPC_S_PROCNUM_OUT_OF_RANGE,  "RPC_S_PROCNUM_OUT_OF_RANGE" },
1106     { RPC_S_BINDING_HAS_NO_AUTH,   "RPC_S_BINDING_HAS_NO_AUTH" },
1107     { RPC_S_UNKNOWN_AUTHN_SERVICE, "RPC_S_UNKNOWN_AUTHN_SERVICE" },
1108     { RPC_S_UNKNOWN_AUTHN_LEVEL,   "RPC_S_UNKNOWN_AUTHN_LEVEL" },
1109     { RPC_S_INVALID_AUTH_IDENTITY, "RPC_S_INVALID_AUTH_IDENTITY" },
1110     { RPC_S_UNKNOWN_AUTHZ_SERVICE, "RPC_S_UNKNOWN_AUTHZ_SERVICE" },
1111     { EPT_S_INVALID_ENTRY, "EPT_S_INVALID_ENTRY" },
1112     { EPT_S_CANT_PERFORM_OP,   "EPT_S_CANT_PERFORM_OP" },
1113     { EPT_S_NOT_REGISTERED,    "EPT_S_NOT_REGISTERED" },
1114     { RPC_S_NOTHING_TO_EXPORT, "RPC_S_NOTHING_TO_EXPORT" },
1115     { RPC_S_INCOMPLETE_NAME,   "RPC_S_INCOMPLETE_NAME" },
1116     { RPC_S_INVALID_VERS_OPTION,   "RPC_S_INVALID_VERS_OPTION" },
1117     { RPC_S_NO_MORE_MEMBERS,   "RPC_S_NO_MORE_MEMBERS" },
1118     { RPC_S_NOT_ALL_OBJS_UNEXPORTED,   "RPC_S_NOT_ALL_OBJS_UNEXPORTED" },
1119     { RPC_S_INTERFACE_NOT_FOUND,   "RPC_S_INTERFACE_NOT_FOUND" },
1120     { RPC_S_ENTRY_ALREADY_EXISTS,  "RPC_S_ENTRY_ALREADY_EXISTS" },
1121     { RPC_S_ENTRY_NOT_FOUND,   "RPC_S_ENTRY_NOT_FOUND" },
1122     { RPC_S_NAME_SERVICE_UNAVAILABLE,  "RPC_S_NAME_SERVICE_UNAVAILABLE" },
1123     { RPC_S_INVALID_NAF_ID,    "RPC_S_INVALID_NAF_ID" },
1124     { RPC_S_CANNOT_SUPPORT,    "RPC_S_CANNOT_SUPPORT" },
1125     { RPC_S_NO_CONTEXT_AVAILABLE,  "RPC_S_NO_CONTEXT_AVAILABLE" },
1126     { RPC_S_INTERNAL_ERROR,    "RPC_S_INTERNAL_ERROR" },
1127     { RPC_S_ZERO_DIVIDE,   "RPC_S_ZERO_DIVIDE" },
1128     { RPC_S_ADDRESS_ERROR, "RPC_S_ADDRESS_ERROR" },
1129     { RPC_S_FP_DIV_ZERO,   "RPC_S_FP_DIV_ZERO" },
1130     { RPC_S_FP_UNDERFLOW,  "RPC_S_FP_UNDERFLOW" },
1131     { RPC_S_FP_OVERFLOW,   "RPC_S_FP_OVERFLOW" },
1132     { RPC_X_NO_MORE_ENTRIES,   "RPC_X_NO_MORE_ENTRIES" },
1133     { RPC_X_SS_CHAR_TRANS_OPEN_FAIL,   "RPC_X_SS_CHAR_TRANS_OPEN_FAIL" },
1134     { RPC_X_SS_CHAR_TRANS_SHORT_FILE,  "RPC_X_SS_CHAR_TRANS_SHORT_FILE" },
1135     { RPC_X_SS_IN_NULL_CONTEXT,    "RPC_X_SS_IN_NULL_CONTEXT" },
1136     { RPC_X_SS_CONTEXT_DAMAGED,    "RPC_X_SS_CONTEXT_DAMAGED" },
1137     { RPC_X_SS_HANDLES_MISMATCH,   "RPC_X_SS_HANDLES_MISMATCH" },
1138     { RPC_X_SS_CANNOT_GET_CALL_HANDLE, "RPC_X_SS_CANNOT_GET_CALL_HANDLE" },
1139     { RPC_X_NULL_REF_POINTER,  "RPC_X_NULL_REF_POINTER" },
1140     { RPC_X_ENUM_VALUE_OUT_OF_RANGE,   "RPC_X_ENUM_VALUE_OUT_OF_RANGE" },
1141     { RPC_X_BYTE_COUNT_TOO_SMALL,  "RPC_X_BYTE_COUNT_TOO_SMALL" },
1142     { RPC_X_BAD_STUB_DATA, "RPC_X_BAD_STUB_DATA" },
1143     { ERROR_INVALID_USER_BUFFER,   "ERROR_INVALID_USER_BUFFER" },
1144     { ERROR_UNRECOGNIZED_MEDIA,    "ERROR_UNRECOGNIZED_MEDIA" },
1145     { ERROR_NO_TRUST_LSA_SECRET,   "ERROR_NO_TRUST_LSA_SECRET" },
1146     { ERROR_NO_TRUST_SAM_ACCOUNT,  "ERROR_NO_TRUST_SAM_ACCOUNT" },
1147     { ERROR_TRUSTED_DOMAIN_FAILURE,    "ERROR_TRUSTED_DOMAIN_FAILURE" },
1148     { ERROR_TRUSTED_RELATIONSHIP_FAILURE,  "ERROR_TRUSTED_RELATIONSHIP_FAILURE" },
1149     { ERROR_TRUST_FAILURE, "ERROR_TRUST_FAILURE" },
1150     { RPC_S_CALL_IN_PROGRESS,  "RPC_S_CALL_IN_PROGRESS" },
1151     { ERROR_NETLOGON_NOT_STARTED,  "ERROR_NETLOGON_NOT_STARTED" },
1152     { ERROR_ACCOUNT_EXPIRED,   "ERROR_ACCOUNT_EXPIRED" },
1153     { ERROR_REDIRECTOR_HAS_OPEN_HANDLES,   "ERROR_REDIRECTOR_HAS_OPEN_HANDLES" },
1154     { ERROR_PRINTER_DRIVER_ALREADY_INSTALLED,  "ERROR_PRINTER_DRIVER_ALREADY_INSTALLED" },
1155     { ERROR_UNKNOWN_PORT,  "ERROR_UNKNOWN_PORT" },
1156     { ERROR_UNKNOWN_PRINTER_DRIVER,    "ERROR_UNKNOWN_PRINTER_DRIVER" },
1157     { ERROR_UNKNOWN_PRINTPROCESSOR,    "ERROR_UNKNOWN_PRINTPROCESSOR" },
1158     { ERROR_INVALID_SEPARATOR_FILE,    "ERROR_INVALID_SEPARATOR_FILE" },
1159     { ERROR_INVALID_PRIORITY,  "ERROR_INVALID_PRIORITY" },
1160     { ERROR_INVALID_PRINTER_NAME,  "ERROR_INVALID_PRINTER_NAME" },
1161     { ERROR_PRINTER_ALREADY_EXISTS,    "ERROR_PRINTER_ALREADY_EXISTS" },
1162     { ERROR_INVALID_PRINTER_COMMAND,   "ERROR_INVALID_PRINTER_COMMAND" },
1163     { ERROR_INVALID_DATATYPE,  "ERROR_INVALID_DATATYPE" },
1164     { ERROR_INVALID_ENVIRONMENT,   "ERROR_INVALID_ENVIRONMENT" },
1165     { RPC_S_NO_MORE_BINDINGS,  "RPC_S_NO_MORE_BINDINGS" },
1166     { ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT, "ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT" },
1167     { ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT, "ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT" },
1168     { ERROR_NOLOGON_SERVER_TRUST_ACCOUNT,  "ERROR_NOLOGON_SERVER_TRUST_ACCOUNT" },
1169     { ERROR_DOMAIN_TRUST_INCONSISTENT, "ERROR_DOMAIN_TRUST_INCONSISTENT" },
1170     { ERROR_SERVER_HAS_OPEN_HANDLES,   "ERROR_SERVER_HAS_OPEN_HANDLES" },
1171     { ERROR_RESOURCE_DATA_NOT_FOUND,   "ERROR_RESOURCE_DATA_NOT_FOUND" },
1172     { ERROR_RESOURCE_TYPE_NOT_FOUND,   "ERROR_RESOURCE_TYPE_NOT_FOUND" },
1173     { ERROR_RESOURCE_NAME_NOT_FOUND,   "ERROR_RESOURCE_NAME_NOT_FOUND" },
1174     { ERROR_RESOURCE_LANG_NOT_FOUND,   "ERROR_RESOURCE_LANG_NOT_FOUND" },
1175     { ERROR_NOT_ENOUGH_QUOTA,  "ERROR_NOT_ENOUGH_QUOTA" },
1176     { RPC_S_NO_INTERFACES, "RPC_S_NO_INTERFACES" },
1177     { RPC_S_CALL_CANCELLED,    "RPC_S_CALL_CANCELLED" },
1178     { RPC_S_BINDING_INCOMPLETE,    "RPC_S_BINDING_INCOMPLETE" },
1179     { RPC_S_COMM_FAILURE,  "RPC_S_COMM_FAILURE" },
1180     { RPC_S_UNSUPPORTED_AUTHN_LEVEL,   "RPC_S_UNSUPPORTED_AUTHN_LEVEL" },
1181     { RPC_S_NO_PRINC_NAME, "RPC_S_NO_PRINC_NAME" },
1182     { RPC_S_NOT_RPC_ERROR, "RPC_S_NOT_RPC_ERROR" },
1183     { RPC_S_UUID_LOCAL_ONLY,   "RPC_S_UUID_LOCAL_ONLY" },
1184     { RPC_S_SEC_PKG_ERROR, "RPC_S_SEC_PKG_ERROR" },
1185     { RPC_S_NOT_CANCELLED, "RPC_S_NOT_CANCELLED" },
1186     { RPC_X_INVALID_ES_ACTION, "RPC_X_INVALID_ES_ACTION" },
1187     { RPC_X_WRONG_ES_VERSION,  "RPC_X_WRONG_ES_VERSION" },
1188     { RPC_X_WRONG_STUB_VERSION,    "RPC_X_WRONG_STUB_VERSION" },
1189 #ifdef RPC_X_INVALID_PIPE_OBJECT
1190     { RPC_X_INVALID_PIPE_OBJECT,   "RPC_X_INVALID_PIPE_OBJECT" },
1191 #endif
1192 #ifdef RPC_X_INVALID_PIPE_OPERATION
1193     { RPC_X_INVALID_PIPE_OPERATION,    "RPC_X_INVALID_PIPE_OPERATION" },
1194 #endif
1195 #ifdef RPC_X_WRONG_PIPE_VERSION
1196     { RPC_X_WRONG_PIPE_VERSION,    "RPC_X_WRONG_PIPE_VERSION" },
1197 #endif
1198     { RPC_S_GROUP_MEMBER_NOT_FOUND,    "RPC_S_GROUP_MEMBER_NOT_FOUND" },
1199     { EPT_S_CANT_CREATE,   "EPT_S_CANT_CREATE" },
1200     { RPC_S_INVALID_OBJECT,    "RPC_S_INVALID_OBJECT" },
1201     { ERROR_INVALID_TIME,  "ERROR_INVALID_TIME" },
1202     { ERROR_INVALID_FORM_NAME, "ERROR_INVALID_FORM_NAME" },
1203     { ERROR_INVALID_FORM_SIZE, "ERROR_INVALID_FORM_SIZE" },
1204     { ERROR_ALREADY_WAITING,   "ERROR_ALREADY_WAITING" },
1205     { ERROR_PRINTER_DELETED,   "ERROR_PRINTER_DELETED" },
1206     { ERROR_INVALID_PRINTER_STATE, "ERROR_INVALID_PRINTER_STATE" },
1207     { ERROR_PASSWORD_MUST_CHANGE,  "ERROR_PASSWORD_MUST_CHANGE" },
1208     { ERROR_DOMAIN_CONTROLLER_NOT_FOUND,   "ERROR_DOMAIN_CONTROLLER_NOT_FOUND" },
1209     { ERROR_ACCOUNT_LOCKED_OUT,    "ERROR_ACCOUNT_LOCKED_OUT" },
1210 #ifdef OR_INVALID_OXID
1211     { OR_INVALID_OXID, "OR_INVALID_OXID" },
1212 #endif
1213 #ifdef OR_INVALID_OID
1214     { OR_INVALID_OID,  "OR_INVALID_OID" },
1215 #endif
1216 #ifdef OR_INVALID_SET
1217     { OR_INVALID_SET,  "OR_INVALID_SET" },
1218 #endif
1219 #ifdef RPC_S_SEND_INCOMPLETE
1220     { RPC_S_SEND_INCOMPLETE,   "RPC_S_SEND_INCOMPLETE" },
1221 #endif
1222     { ERROR_NO_BROWSER_SERVERS_FOUND,  "ERROR_NO_BROWSER_SERVERS_FOUND" },
1223     { ERROR_INVALID_PIXEL_FORMAT,  "ERROR_INVALID_PIXEL_FORMAT" },
1224     { ERROR_BAD_DRIVER,    "ERROR_BAD_DRIVER" },
1225     { ERROR_INVALID_WINDOW_STYLE,  "ERROR_INVALID_WINDOW_STYLE" },
1226     { ERROR_METAFILE_NOT_SUPPORTED,    "ERROR_METAFILE_NOT_SUPPORTED" },
1227     { ERROR_TRANSFORM_NOT_SUPPORTED,   "ERROR_TRANSFORM_NOT_SUPPORTED" },
1228     { ERROR_CLIPPING_NOT_SUPPORTED,    "ERROR_CLIPPING_NOT_SUPPORTED" },
1229     { ERROR_UNKNOWN_PRINT_MONITOR, "ERROR_UNKNOWN_PRINT_MONITOR" },
1230     { ERROR_PRINTER_DRIVER_IN_USE, "ERROR_PRINTER_DRIVER_IN_USE" },
1231     { ERROR_SPOOL_FILE_NOT_FOUND,  "ERROR_SPOOL_FILE_NOT_FOUND" },
1232     { ERROR_SPL_NO_STARTDOC,   "ERROR_SPL_NO_STARTDOC" },
1233     { ERROR_SPL_NO_ADDJOB, "ERROR_SPL_NO_ADDJOB" },
1234     { ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED, "ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED" },
1235     { ERROR_PRINT_MONITOR_ALREADY_INSTALLED,   "ERROR_PRINT_MONITOR_ALREADY_INSTALLED" },
1236 #ifdef ERROR_INVALID_PRINT_MONITOR
1237     { ERROR_INVALID_PRINT_MONITOR, "ERROR_INVALID_PRINT_MONITOR" },
1238 #endif
1239 #ifdef ERROR_PRINT_MONITOR_IN_USE
1240     { ERROR_PRINT_MONITOR_IN_USE,  "ERROR_PRINT_MONITOR_IN_USE" },
1241 #endif
1242 #ifdef ERROR_PRINTER_HAS_JOBS_QUEUED
1243     { ERROR_PRINTER_HAS_JOBS_QUEUED,   "ERROR_PRINTER_HAS_JOBS_QUEUED" },
1244 #endif
1245 #ifdef ERROR_SUCCESS_REBOOT_REQUIRED
1246     { ERROR_SUCCESS_REBOOT_REQUIRED,   "ERROR_SUCCESS_REBOOT_REQUIRED" },
1247 #endif
1248 #ifdef ERROR_SUCCESS_RESTART_REQUIRED
1249     { ERROR_SUCCESS_RESTART_REQUIRED,  "ERROR_SUCCESS_RESTART_REQUIRED" },
1250 #endif
1251     { ERROR_WINS_INTERNAL, "ERROR_WINS_INTERNAL" },
1252     { ERROR_CAN_NOT_DEL_LOCAL_WINS,    "ERROR_CAN_NOT_DEL_LOCAL_WINS" },
1253     { ERROR_STATIC_INIT,   "ERROR_STATIC_INIT" },
1254     { ERROR_INC_BACKUP,    "ERROR_INC_BACKUP" },
1255     { ERROR_FULL_BACKUP,   "ERROR_FULL_BACKUP" },
1256     { ERROR_REC_NON_EXISTENT,  "ERROR_REC_NON_EXISTENT" },
1257     { ERROR_RPL_NOT_ALLOWED,   "ERROR_RPL_NOT_ALLOWED" },
1258     { WSAEINTR,    "WSAEINTR" },
1259     { WSAEBADF,    "WSAEBADF" },
1260     { WSAEACCES,   "WSAEACCES" },
1261     { WSAEFAULT,   "WSAEFAULT" },
1262     { WSAEINVAL,   "WSAEINVAL" },
1263     { WSAEMFILE,   "WSAEMFILE" },
1264     { WSAEWOULDBLOCK,  "WSAEWOULDBLOCK" },
1265     { WSAEINPROGRESS,  "WSAEINPROGRESS" },
1266     { WSAEALREADY, "WSAEALREADY" },
1267     { WSAENOTSOCK, "WSAENOTSOCK" },
1268     { WSAEDESTADDRREQ, "WSAEDESTADDRREQ" },
1269     { WSAEMSGSIZE, "WSAEMSGSIZE" },
1270     { WSAEPROTOTYPE,   "WSAEPROTOTYPE" },
1271     { WSAENOPROTOOPT,  "WSAENOPROTOOPT" },
1272     { WSAEPROTONOSUPPORT,  "WSAEPROTONOSUPPORT" },
1273     { WSAESOCKTNOSUPPORT,  "WSAESOCKTNOSUPPORT" },
1274     { WSAEOPNOTSUPP,   "WSAEOPNOTSUPP" },
1275     { WSAEPFNOSUPPORT, "WSAEPFNOSUPPORT" },
1276     { WSAEAFNOSUPPORT, "WSAEAFNOSUPPORT" },
1277     { WSAEADDRINUSE,   "WSAEADDRINUSE" },
1278     { WSAEADDRNOTAVAIL,    "WSAEADDRNOTAVAIL" },
1279     { WSAENETDOWN, "WSAENETDOWN" },
1280     { WSAENETUNREACH,  "WSAENETUNREACH" },
1281     { WSAENETRESET,    "WSAENETRESET" },
1282     { WSAECONNABORTED, "WSAECONNABORTED" },
1283     { WSAECONNRESET,   "WSAECONNRESET" },
1284     { WSAENOBUFS,  "WSAENOBUFS" },
1285     { WSAEISCONN,  "WSAEISCONN" },
1286     { WSAENOTCONN, "WSAENOTCONN" },
1287     { WSAESHUTDOWN,    "WSAESHUTDOWN" },
1288     { WSAETOOMANYREFS, "WSAETOOMANYREFS" },
1289     { WSAETIMEDOUT,    "WSAETIMEDOUT" },
1290     { WSAECONNREFUSED, "WSAECONNREFUSED" },
1291     { WSAELOOP,    "WSAELOOP" },
1292     { WSAENAMETOOLONG, "WSAENAMETOOLONG" },
1293     { WSAEHOSTDOWN,    "WSAEHOSTDOWN" },
1294     { WSAEHOSTUNREACH, "WSAEHOSTUNREACH" },
1295     { WSAENOTEMPTY,    "WSAENOTEMPTY" },
1296     { WSAEPROCLIM, "WSAEPROCLIM" },
1297     { WSAEUSERS,   "WSAEUSERS" },
1298     { WSAEDQUOT,   "WSAEDQUOT" },
1299     { WSAESTALE,   "WSAESTALE" },
1300     { WSAEREMOTE,  "WSAEREMOTE" },
1301     { WSAEDISCON,  "WSAEDISCON" },
1302     { WSASYSNOTREADY,  "WSASYSNOTREADY" },
1303     { WSAVERNOTSUPPORTED,  "WSAVERNOTSUPPORTED" },
1304     { WSANOTINITIALISED,   "WSANOTINITIALISED" },
1305     { WSAHOST_NOT_FOUND,   "WSAHOST_NOT_FOUND" },
1306     { WSATRY_AGAIN,    "WSATRY_AGAIN" },
1307     { WSANO_RECOVERY,  "WSANO_RECOVERY" },
1308     { WSANO_DATA,  "WSANO_DATA" },
1309 #endif
1310 };
1311 
stringFromErrorCode(int err)1312 const char *stringFromErrorCode(int err)
1313 {
1314     for (unsigned i = 0; i < sizeof(errortable)/sizeof(errortable[0]); i++)
1315     {
1316         if (errortable[i].errorNum == err) {
1317             return errortable[i].errorString;
1318         }
1319     }
1320     return 0;
1321 }
1322 
errorCodeFromString(const char * text,int * err)1323 bool errorCodeFromString(const char *text, int *err)
1324 {
1325     for (unsigned i = 0; i < sizeof(errortable)/sizeof(errortable[0]); i++)
1326     {
1327         if (strcmp(text, errortable[i].errorString) == 0)
1328         {
1329             *err = errortable[i].errorNum;
1330             return true;
1331         }
1332     }
1333     return false;
1334 }
1335