1 /* -*-C-*-
2
3 Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
4 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
5 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Massachusetts
6 Institute of Technology
7
8 This file is part of MIT/GNU Scheme.
9
10 MIT/GNU Scheme is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 2 of the License, or (at
13 your option) any later version.
14
15 MIT/GNU Scheme is distributed in the hope that it will be useful, but
16 WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 General Public License for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with MIT/GNU Scheme; if not, write to the Free Software
22 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
23 USA.
24
25 */
26
27 #define SCM_OS2TOP_C
28 #define INCL_WIN
29
30 #include "scheme.h"
31 #include "os2.h"
32 #include "ostop.h"
33 #include "option.h"
34
35 #ifndef DISABLE_SOCKET_SUPPORT
36 # include <nerrno.h>
37 #endif
38
39 extern void execute_reload_cleanups (void);
40
41 extern void OS2_initialize_channels (void);
42 extern void OS2_initialize_channel_thread_messages (void);
43 extern void OS2_initialize_console (void);
44 extern void OS2_initialize_directory_reader (void);
45 extern void OS2_initialize_environment (void);
46 extern void OS2_initialize_exception_handling (void);
47 extern void OS2_initialize_keyboard_interrupts (void);
48 extern void OS2_initialize_malloc (void);
49 extern void OS2_initialize_message_queues (void);
50 extern void OS2_initialize_pm_thread (void);
51 extern void OS2_initialize_processes (void);
52 extern void OS2_initialize_scheme_thread (void);
53 extern void OS2_initialize_tty (void);
54 extern void OS2_initialize_window_primitives (void);
55
56 extern void OS2_check_message_length_initializations (void);
57 extern void * OS2_malloc_noerror (unsigned long);
58 extern void * OS2_realloc_noerror (void *, unsigned long);
59
60 extern void OS2_create_msg_queue (void); /* forward reference */
61
62 extern const char * OS_Name;
63 extern const char * OS_Variant;
64 extern HMTX OS2_create_queue_lock;
65
66 static const char * OS2_version_string (void);
67 static void initialize_locks (void);
68
69 static int initialization_completed = 0;
70
71 int
OS_under_emacs_p(void)72 OS_under_emacs_p (void)
73 {
74 return (option_emacs_subprocess);
75 }
76
77 void
OS2_initialize_early(void)78 OS2_initialize_early (void)
79 {
80 initialization_completed = 0;
81 OS2_initialize_malloc ();
82 initialize_locks ();
83 OS2_create_msg_queue ();
84 }
85
86 void
OS_initialize(void)87 OS_initialize (void)
88 {
89 (void) DosError (FERR_DISABLEEXCEPTION | FERR_DISABLEHARDERR);
90 OS2_initialize_exception_handling ();
91 OS2_initialize_message_queues ();
92 OS2_initialize_scheme_thread ();
93 OS2_initialize_pm_thread ();
94 OS2_initialize_channels ();
95 OS2_initialize_channel_thread_messages ();
96 OS2_initialize_keyboard_interrupts ();
97 OS2_initialize_console ();
98 OS2_initialize_environment ();
99 OS2_initialize_directory_reader ();
100 OS2_initialize_tty ();
101 OS2_initialize_window_primitives ();
102 OS2_initialize_processes ();
103 initialization_completed = 1;
104 /* This must be after all of the initializations that can set
105 message lengths. */
106 OS2_check_message_length_initializations ();
107 OS_Name = "OS/2";
108 {
109 const char * version = (OS2_version_string ());
110 OS_Variant = (OS_malloc ((strlen (OS_Name)) + (strlen (version)) + 2));
111 sprintf (((char *) OS_Variant), "%s %s", OS_Name, version);
112 }
113 }
114
115 void
OS_announcement(void)116 OS_announcement (void)
117 {
118 }
119
120 static const char *
OS2_version_string(void)121 OS2_version_string (void)
122 {
123 ULONG major = (OS2_system_variable (QSV_VERSION_MAJOR));
124 ULONG minor = (OS2_system_variable (QSV_VERSION_MINOR));
125 char revision = (OS2_system_variable (QSV_VERSION_REVISION));
126 static char result [64];
127 char sminor [16];
128 char srev [2];
129 if ((major == 20) && (minor >= 30))
130 {
131 major = (minor - (minor % 10));
132 minor = ((minor % 10) * 10);
133 }
134 if ((minor < 10) && (minor != 0))
135 sprintf (sminor, "0%d", minor);
136 else
137 sprintf (sminor, "%d",
138 (((minor < 100) && ((minor % 10) == 0)) ? (minor / 10) : minor));
139 if (revision == '\0')
140 sprintf (srev, "");
141 else
142 sprintf (srev, "%c", revision);
143 sprintf (result, "%d.%s%s", (major / 10), sminor, srev);
144 return (result);
145 }
146
147 #define PAGESIZE 4096
148 #define PAGE_PERMS (PAG_READ | PAG_WRITE | PAG_EXECUTE)
149 #define N_STACK_GUARD_PAGES 2
150
151 #define ROUND_UP_TO_PAGE(size) \
152 (((((size) + (PAGESIZE - 1)) / PAGESIZE) + N_STACK_GUARD_PAGES + 1) \
153 * PAGESIZE)
154
155 typedef struct
156 {
157 char * low;
158 unsigned int enabled_p : 1;
159 } guard_page_state_t;
160
161 static guard_page_state_t guard_page_states [N_STACK_GUARD_PAGES];
162
163 static void *
commit_heap_helper(void * base,unsigned long size)164 commit_heap_helper (void * base, unsigned long size)
165 {
166 /* Complicated arrangement to detect stack overflow with reasonable
167 reliability. We allocate three extra pages past the end of the
168 stack; the first two (adjacent to the stack) are committed as
169 guard pages so that OS/2 will deliver an exception when we access
170 them. If we overrun the first guard page, the trap handler
171 should recognize this and terminate Scheme gracefully, using the
172 second guard page as its stack. The third page, on the other
173 side of the guard pages, is uncommitted -- if for some reason we
174 overrun the second guard page, this uncommitted page will cause a
175 hard fault that will kill Scheme right away.
176
177 This is slightly kludgey, because we take advantage of the fact
178 that the Scheme stack occupies the low-order addresses in the
179 allocated block, and particularly that the stack grows towards
180 lower addresses. Thus we can put the guard pages just below the
181 allocated block. If the memory layout is altered, this will have
182 to change. The reason for this fragile implementation is that it
183 requires the least change to the existing memory allocation
184 mechanism. */
185 char * p = base;
186 /* Skip uncommitted page, then commit rest of memory block. */
187 p += PAGESIZE;
188 if ((dos_set_mem (p, (size - PAGESIZE), (PAG_COMMIT | PAG_DEFAULT)))
189 != NO_ERROR)
190 return (0);
191 /* Initialize the stack guard pages and get pointer to first page
192 past the guard pages. */
193 {
194 guard_page_state_t * scan = guard_page_states;
195 guard_page_state_t * end = (scan + N_STACK_GUARD_PAGES);
196 while (scan < end)
197 {
198 (scan -> low) = p;
199 (scan -> enabled_p) = 0;
200 scan += 1;
201 p += PAGESIZE;
202 }
203 OS2_stack_reset ();
204 }
205 return (p);
206 }
207
208 static void
enable_stack_guard(guard_page_state_t * page,int enable_p)209 enable_stack_guard (guard_page_state_t * page, int enable_p)
210 {
211 (void) dos_set_mem ((page -> low),
212 PAGESIZE,
213 (enable_p ? (PAGE_PERMS | PAG_GUARD) : PAGE_PERMS));
214 (page -> enabled_p) = enable_p;
215 }
216
217 int
OS2_disable_stack_guard(void * p)218 OS2_disable_stack_guard (void * p)
219 {
220 char * cp = p;
221 guard_page_state_t * scan = guard_page_states;
222 guard_page_state_t * end = (scan + N_STACK_GUARD_PAGES);
223 while (1)
224 {
225 if (scan == end)
226 return (0);
227 if (((scan -> low) <= cp) && (cp < ((scan -> low) + PAGESIZE)))
228 {
229 enable_stack_guard (scan, 0);
230 return (1);
231 }
232 scan += 1;
233 }
234 }
235
236 void
OS2_stack_reset(void)237 OS2_stack_reset (void)
238 {
239 {
240 guard_page_state_t * scan = guard_page_states;
241 guard_page_state_t * end = (scan + N_STACK_GUARD_PAGES);
242 while (1)
243 {
244 if (scan == end)
245 return;
246 if (! (scan -> enabled_p))
247 break;
248 scan += 1;
249 }
250 }
251 enable_stack_guard ((&guard_page_states[1]), 0);
252 {
253 SCHEME_OBJECT * p = ((SCHEME_OBJECT *) ((guard_page_states[1]) . low));
254 (*p) = (MAKE_POINTER_OBJECT (TC_BROKEN_HEART, p));
255 }
256 {
257 guard_page_state_t * scan = guard_page_states;
258 guard_page_state_t * end = (scan + N_STACK_GUARD_PAGES);
259 while (scan < end)
260 enable_stack_guard ((scan++), 1);
261 }
262 }
263
264 int
OS2_stack_overflowed_p(void)265 OS2_stack_overflowed_p (void)
266 {
267 SCHEME_OBJECT * p = ((SCHEME_OBJECT *) ((guard_page_states[1]) . low));
268 return
269 ((! ((guard_page_states[1]) . enabled_p))
270 && ((*p) != (MAKE_POINTER_OBJECT (TC_BROKEN_HEART, p))));
271 }
272
273 #if 0
274
275 /* This is an attempt to allocate Scheme's memory as early as
276 possible, in order to obtain the lowest possible addresses before
277 `malloc' grabs them for some uninteresting purpose. However, there
278 are two reasons not to do this: first, it doesn't seem to gain any
279 advantage at present (in OS/2 Warp 3.0 with C Set++/2 2.1), because
280 the returned addresses are about the same in both cases. Second,
281 this sometimes causes a fatal error in the debugger, apparently
282 because it cares about how much memory the debugged process has
283 allocated, even if it's not committed. */
284
285 static void * OS2_heap_base;
286
287 void
288 OS2_alloc_heap (void)
289 {
290 APIRET rc
291 = (dos_alloc_mem ((& OS2_heap_base),
292 0x04000000,
293 (PAG_EXECUTE | PAG_READ | PAG_WRITE)));
294 if (rc != NO_ERROR)
295 {
296 fprintf (stderr, "Can't allocate heap memory.");
297 fflush (stderr);
298 exit (EXIT_FAILURE);
299 }
300 }
301
302 void *
303 OS2_commit_heap (unsigned long size)
304 {
305 return (commit_heap_helper (OS2_heap_base, (ROUND_UP_TO_PAGE (size))));
306 }
307
308 #else
309
310 void
OS2_alloc_heap(void)311 OS2_alloc_heap (void)
312 {
313 }
314
315 void *
OS2_commit_heap(unsigned long size)316 OS2_commit_heap (unsigned long size)
317 {
318 unsigned long actual = (ROUND_UP_TO_PAGE (size));
319 void * heap_base;
320 APIRET rc
321 = (dos_alloc_mem ((& heap_base),
322 actual,
323 (PAG_EXECUTE | PAG_READ | PAG_WRITE)));
324 return ((rc == NO_ERROR) ? (commit_heap_helper (heap_base, actual)) : 0);
325 }
326
327 #endif
328
329 void
OS2_create_msg_queue(void)330 OS2_create_msg_queue (void)
331 {
332 /* Create a PM message queue. This allows us to use message boxes
333 to report fatal errors. */
334 HAB hab = (WinInitialize (0));
335 HMQ hmq;
336 if (hab == NULLHANDLE)
337 OS2_logic_error ("Unable to initialize anchor block.");
338 hmq = (WinCreateMsgQueue (hab, 0));
339 if (hmq == NULLHANDLE)
340 OS2_logic_error ("Unable to create PM message queue.");
341 /* This tells the system that this message queue should not receive
342 WM_QUIT messages. */
343 WinCancelShutdown (hmq, TRUE);
344 }
345
346 void
OS2_message_box(const char * title,const char * message,int errorp)347 OS2_message_box (const char * title, const char * message, int errorp)
348 {
349 (void) WinMessageBox (HWND_DESKTOP,
350 NULLHANDLE,
351 ((PSZ) message),
352 ((PSZ) title),
353 0,
354 (MB_OK | (errorp ? MB_ERROR : MB_WARNING)));
355 }
356
357 void
OS2_exit_scheme(int value)358 OS2_exit_scheme (int value)
359 {
360 if (initialization_completed)
361 {
362 #if 0
363 OS2_channel_close_all_noerror ();
364 #endif
365 }
366 exit (value);
367 }
368
369 void
OS_reset(void)370 OS_reset (void)
371 {
372 execute_reload_cleanups ();
373 }
374
375 void
OS_quit(int code,int abnormal_p)376 OS_quit (int code, int abnormal_p)
377 {
378 outf_flush_console ();
379 OS_restore_external_state ();
380 }
381
382 void
OS_save_external_state(void)383 OS_save_external_state (void)
384 {
385 }
386
387 void
OS_save_internal_state(void)388 OS_save_internal_state (void)
389 {
390 }
391
392 void
OS_restore_internal_state(void)393 OS_restore_internal_state (void)
394 {
395 }
396
397 void
OS_restore_external_state(void)398 OS_restore_external_state (void)
399 {
400 }
401
402 void
preserve_signal_mask(void)403 preserve_signal_mask (void)
404 {
405 }
406
407 void
block_signals(void)408 block_signals (void)
409 {
410 }
411
412 void
unblock_signals(void)413 unblock_signals (void)
414 {
415 }
416
417 void
OS_restartable_exit(void)418 OS_restartable_exit (void)
419 {
420 }
421
422 #if defined(__IBMC__) || defined(__WATCOMC__)
423 void
bcopy(const char * from,char * to,unsigned int n)424 bcopy (const char * from, char * to, unsigned int n)
425 {
426 FASTCOPY (from, to, n);
427 }
428 #endif
429
430 static HMTX interrupt_registers_lock;
431
432 static void
initialize_locks(void)433 initialize_locks (void)
434 {
435 interrupt_registers_lock = (OS2_create_mutex_semaphore (0, 0));
436 OS2_create_queue_lock = (OS2_create_mutex_semaphore (0, 0));
437 }
438
439 void
OS_grab_interrupt_registers(void)440 OS_grab_interrupt_registers (void)
441 {
442 OS2_request_mutex_semaphore (interrupt_registers_lock);
443 }
444
445 void
OS_release_interrupt_registers(void)446 OS_release_interrupt_registers (void)
447 {
448 OS2_release_mutex_semaphore (interrupt_registers_lock);
449 }
450
451 /* Machine-generated procedure, do not edit: */
452 enum syserr_names
OS_error_code_to_syserr(int code)453 OS_error_code_to_syserr (int code)
454 {
455 switch (code)
456 {
457 case ERROR_INVALID_FUNCTION: return (syserr_invalid_function);
458 case ERROR_FILE_NOT_FOUND: return (syserr_file_not_found);
459 case ERROR_PATH_NOT_FOUND: return (syserr_path_not_found);
460 case ERROR_TOO_MANY_OPEN_FILES: return (syserr_too_many_open_files);
461 case ERROR_ACCESS_DENIED: return (syserr_access_denied);
462 case ERROR_INVALID_HANDLE: return (syserr_invalid_handle);
463 case ERROR_ARENA_TRASHED: return (syserr_arena_trashed);
464 case ERROR_NOT_ENOUGH_MEMORY: return (syserr_not_enough_memory);
465 case ERROR_INVALID_BLOCK: return (syserr_invalid_block);
466 case ERROR_BAD_ENVIRONMENT: return (syserr_bad_environment);
467 case ERROR_BAD_FORMAT: return (syserr_bad_format);
468 case ERROR_INVALID_ACCESS: return (syserr_invalid_access);
469 case ERROR_INVALID_DATA: return (syserr_invalid_data);
470 case ERROR_INVALID_DRIVE: return (syserr_invalid_drive);
471 case ERROR_CURRENT_DIRECTORY: return (syserr_current_directory);
472 case ERROR_NOT_SAME_DEVICE: return (syserr_not_same_device);
473 case ERROR_NO_MORE_FILES: return (syserr_no_more_files);
474 case ERROR_WRITE_PROTECT: return (syserr_write_protect);
475 case ERROR_BAD_UNIT: return (syserr_bad_unit);
476 case ERROR_NOT_READY: return (syserr_not_ready);
477 case ERROR_BAD_COMMAND: return (syserr_bad_command);
478 case ERROR_CRC: return (syserr_crc);
479 case ERROR_BAD_LENGTH: return (syserr_bad_length);
480 case ERROR_SEEK: return (syserr_seek);
481 case ERROR_NOT_DOS_DISK: return (syserr_not_dos_disk);
482 case ERROR_SECTOR_NOT_FOUND: return (syserr_sector_not_found);
483 case ERROR_OUT_OF_PAPER: return (syserr_out_of_paper);
484 case ERROR_WRITE_FAULT: return (syserr_write_fault);
485 case ERROR_READ_FAULT: return (syserr_read_fault);
486 case ERROR_GEN_FAILURE: return (syserr_gen_failure);
487 case ERROR_SHARING_VIOLATION: return (syserr_sharing_violation);
488 case ERROR_LOCK_VIOLATION: return (syserr_lock_violation);
489 case ERROR_WRONG_DISK: return (syserr_wrong_disk);
490 case ERROR_FCB_UNAVAILABLE: return (syserr_fcb_unavailable);
491 case ERROR_SHARING_BUFFER_EXCEEDED: return (syserr_sharing_buffer_exceeded);
492 case ERROR_CODE_PAGE_MISMATCHED: return (syserr_code_page_mismatched);
493 case ERROR_HANDLE_EOF: return (syserr_handle_eof);
494 case ERROR_HANDLE_DISK_FULL: return (syserr_handle_disk_full);
495 case ERROR_NOT_SUPPORTED: return (syserr_not_supported);
496 case ERROR_REM_NOT_LIST: return (syserr_rem_not_list);
497 case ERROR_DUP_NAME: return (syserr_dup_name);
498 case ERROR_BAD_NETPATH: return (syserr_bad_netpath);
499 case ERROR_NETWORK_BUSY: return (syserr_network_busy);
500 case ERROR_DEV_NOT_EXIST: return (syserr_dev_not_exist);
501 case ERROR_TOO_MANY_CMDS: return (syserr_too_many_cmds);
502 case ERROR_ADAP_HDW_ERR: return (syserr_adap_hdw_err);
503 case ERROR_BAD_NET_RESP: return (syserr_bad_net_resp);
504 case ERROR_UNEXP_NET_ERR: return (syserr_unexp_net_err);
505 case ERROR_BAD_REM_ADAP: return (syserr_bad_rem_adap);
506 case ERROR_PRINTQ_FULL: return (syserr_printq_full);
507 case ERROR_NO_SPOOL_SPACE: return (syserr_no_spool_space);
508 case ERROR_PRINT_CANCELLED: return (syserr_print_cancelled);
509 case ERROR_NETNAME_DELETED: return (syserr_netname_deleted);
510 case ERROR_NETWORK_ACCESS_DENIED: return (syserr_network_access_denied);
511 case ERROR_BAD_DEV_TYPE: return (syserr_bad_dev_type);
512 case ERROR_BAD_NET_NAME: return (syserr_bad_net_name);
513 case ERROR_TOO_MANY_NAMES: return (syserr_too_many_names);
514 case ERROR_TOO_MANY_SESS: return (syserr_too_many_sess);
515 case ERROR_SHARING_PAUSED: return (syserr_sharing_paused);
516 case ERROR_REQ_NOT_ACCEP: return (syserr_req_not_accep);
517 case ERROR_REDIR_PAUSED: return (syserr_redir_paused);
518 case ERROR_SBCS_ATT_WRITE_PROT: return (syserr_sbcs_att_write_prot);
519 case ERROR_SBCS_GENERAL_FAILURE: return (syserr_sbcs_general_failure);
520 case ERROR_XGA_OUT_MEMORY: return (syserr_xga_out_memory);
521 case ERROR_FILE_EXISTS: return (syserr_file_exists);
522 case ERROR_DUP_FCB: return (syserr_dup_fcb);
523 case ERROR_CANNOT_MAKE: return (syserr_cannot_make);
524 case ERROR_FAIL_I24: return (syserr_fail_i24);
525 case ERROR_OUT_OF_STRUCTURES: return (syserr_out_of_structures);
526 case ERROR_ALREADY_ASSIGNED: return (syserr_already_assigned);
527 case ERROR_INVALID_PASSWORD: return (syserr_invalid_password);
528 case ERROR_INVALID_PARAMETER: return (syserr_invalid_parameter);
529 case ERROR_NET_WRITE_FAULT: return (syserr_net_write_fault);
530 case ERROR_NO_PROC_SLOTS: return (syserr_no_proc_slots);
531 case ERROR_NOT_FROZEN: return (syserr_not_frozen);
532 case ERR_TSTOVFL: return (syserr_tstovfl);
533 case ERR_TSTDUP: return (syserr_tstdup);
534 case ERROR_NO_ITEMS: return (syserr_no_items);
535 case ERROR_INTERRUPT: return (syserr_interrupt);
536 case ERROR_DEVICE_IN_USE: return (syserr_device_in_use);
537 case ERROR_TOO_MANY_SEMAPHORES: return (syserr_too_many_semaphores);
538 case ERROR_EXCL_SEM_ALREADY_OWNED: return (syserr_excl_sem_already_owned);
539 case ERROR_SEM_IS_SET: return (syserr_sem_is_set);
540 case ERROR_TOO_MANY_SEM_REQUESTS: return (syserr_too_many_sem_requests);
541 case ERROR_INVALID_AT_INTERRUPT_TIME: return (syserr_invalid_at_interrupt_time);
542 case ERROR_SEM_OWNER_DIED: return (syserr_sem_owner_died);
543 case ERROR_SEM_USER_LIMIT: return (syserr_sem_user_limit);
544 case ERROR_DISK_CHANGE: return (syserr_disk_change);
545 case ERROR_DRIVE_LOCKED: return (syserr_drive_locked);
546 case ERROR_BROKEN_PIPE: return (syserr_broken_pipe);
547 case ERROR_OPEN_FAILED: return (syserr_open_failed);
548 case ERROR_BUFFER_OVERFLOW: return (syserr_buffer_overflow);
549 case ERROR_DISK_FULL: return (syserr_disk_full);
550 case ERROR_NO_MORE_SEARCH_HANDLES: return (syserr_no_more_search_handles);
551 case ERROR_INVALID_TARGET_HANDLE: return (syserr_invalid_target_handle);
552 case ERROR_PROTECTION_VIOLATION: return (syserr_protection_violation);
553 case ERROR_VIOKBD_REQUEST: return (syserr_viokbd_request);
554 case ERROR_INVALID_CATEGORY: return (syserr_invalid_category);
555 case ERROR_INVALID_VERIFY_SWITCH: return (syserr_invalid_verify_switch);
556 case ERROR_BAD_DRIVER_LEVEL: return (syserr_bad_driver_level);
557 case ERROR_CALL_NOT_IMPLEMENTED: return (syserr_call_not_implemented);
558 case ERROR_SEM_TIMEOUT: return (syserr_sem_timeout);
559 case ERROR_INSUFFICIENT_BUFFER: return (syserr_insufficient_buffer);
560 case ERROR_INVALID_NAME: return (syserr_invalid_name);
561 case ERROR_INVALID_LEVEL: return (syserr_invalid_level);
562 case ERROR_NO_VOLUME_LABEL: return (syserr_no_volume_label);
563 case ERROR_MOD_NOT_FOUND: return (syserr_mod_not_found);
564 case ERROR_PROC_NOT_FOUND: return (syserr_proc_not_found);
565 case ERROR_WAIT_NO_CHILDREN: return (syserr_wait_no_children);
566 case ERROR_CHILD_NOT_COMPLETE: return (syserr_child_not_complete);
567 case ERROR_DIRECT_ACCESS_HANDLE: return (syserr_direct_access_handle);
568 case ERROR_NEGATIVE_SEEK: return (syserr_negative_seek);
569 case ERROR_SEEK_ON_DEVICE: return (syserr_seek_on_device);
570 case ERROR_IS_JOIN_TARGET: return (syserr_is_join_target);
571 case ERROR_IS_JOINED: return (syserr_is_joined);
572 case ERROR_IS_SUBSTED: return (syserr_is_substed);
573 case ERROR_NOT_JOINED: return (syserr_not_joined);
574 case ERROR_NOT_SUBSTED: return (syserr_not_substed);
575 case ERROR_JOIN_TO_JOIN: return (syserr_join_to_join);
576 case ERROR_SUBST_TO_SUBST: return (syserr_subst_to_subst);
577 case ERROR_JOIN_TO_SUBST: return (syserr_join_to_subst);
578 case ERROR_SUBST_TO_JOIN: return (syserr_subst_to_join);
579 case ERROR_BUSY_DRIVE: return (syserr_busy_drive);
580 case ERROR_SAME_DRIVE: return (syserr_same_drive);
581 case ERROR_DIR_NOT_ROOT: return (syserr_dir_not_root);
582 case ERROR_DIR_NOT_EMPTY: return (syserr_dir_not_empty);
583 case ERROR_IS_SUBST_PATH: return (syserr_is_subst_path);
584 case ERROR_IS_JOIN_PATH: return (syserr_is_join_path);
585 case ERROR_PATH_BUSY: return (syserr_path_busy);
586 case ERROR_IS_SUBST_TARGET: return (syserr_is_subst_target);
587 case ERROR_SYSTEM_TRACE: return (syserr_system_trace);
588 case ERROR_INVALID_EVENT_COUNT: return (syserr_invalid_event_count);
589 case ERROR_TOO_MANY_MUXWAITERS: return (syserr_too_many_muxwaiters);
590 case ERROR_INVALID_LIST_FORMAT: return (syserr_invalid_list_format);
591 case ERROR_LABEL_TOO_LONG: return (syserr_label_too_long);
592 case ERROR_TOO_MANY_TCBS: return (syserr_too_many_tcbs);
593 case ERROR_SIGNAL_REFUSED: return (syserr_signal_refused);
594 case ERROR_DISCARDED: return (syserr_discarded);
595 case ERROR_NOT_LOCKED: return (syserr_not_locked);
596 case ERROR_BAD_THREADID_ADDR: return (syserr_bad_threadid_addr);
597 case ERROR_BAD_ARGUMENTS: return (syserr_bad_arguments);
598 case ERROR_BAD_PATHNAME: return (syserr_bad_pathname);
599 case ERROR_SIGNAL_PENDING: return (syserr_signal_pending);
600 case ERROR_UNCERTAIN_MEDIA: return (syserr_uncertain_media);
601 case ERROR_MAX_THRDS_REACHED: return (syserr_max_thrds_reached);
602 case ERROR_MONITORS_NOT_SUPPORTED: return (syserr_monitors_not_supported);
603 case ERROR_UNC_DRIVER_NOT_INSTALLED: return (syserr_unc_driver_not_installed);
604 case ERROR_LOCK_FAILED: return (syserr_lock_failed);
605 case ERROR_SWAPIO_FAILED: return (syserr_swapio_failed);
606 case ERROR_SWAPIN_FAILED: return (syserr_swapin_failed);
607 case ERROR_BUSY: return (syserr_busy);
608 case ERROR_CANCEL_VIOLATION: return (syserr_cancel_violation);
609 case ERROR_ATOMIC_LOCK_NOT_SUPPORTED: return (syserr_atomic_lock_not_supported);
610 case ERROR_READ_LOCKS_NOT_SUPPORTED: return (syserr_read_locks_not_supported);
611 case ERROR_INVALID_SEGMENT_NUMBER: return (syserr_invalid_segment_number);
612 case ERROR_INVALID_CALLGATE: return (syserr_invalid_callgate);
613 case ERROR_INVALID_ORDINAL: return (syserr_invalid_ordinal);
614 case ERROR_ALREADY_EXISTS: return (syserr_already_exists);
615 case ERROR_NO_CHILD_PROCESS: return (syserr_no_child_process);
616 case ERROR_CHILD_ALIVE_NOWAIT: return (syserr_child_alive_nowait);
617 case ERROR_INVALID_FLAG_NUMBER: return (syserr_invalid_flag_number);
618 case ERROR_SEM_NOT_FOUND: return (syserr_sem_not_found);
619 case ERROR_INVALID_STARTING_CODESEG: return (syserr_invalid_starting_codeseg);
620 case ERROR_INVALID_STACKSEG: return (syserr_invalid_stackseg);
621 case ERROR_INVALID_MODULETYPE: return (syserr_invalid_moduletype);
622 case ERROR_INVALID_EXE_SIGNATURE: return (syserr_invalid_exe_signature);
623 case ERROR_EXE_MARKED_INVALID: return (syserr_exe_marked_invalid);
624 case ERROR_BAD_EXE_FORMAT: return (syserr_bad_exe_format);
625 #ifdef ERROR_ITERATED_DATA_EXCEEDS_64k
626 case ERROR_ITERATED_DATA_EXCEEDS_64k: return (syserr_iterated_data_exceeds_64k);
627 #endif
628 case ERROR_INVALID_MINALLOCSIZE: return (syserr_invalid_minallocsize);
629 case ERROR_DYNLINK_FROM_INVALID_RING: return (syserr_dynlink_from_invalid_ring);
630 case ERROR_IOPL_NOT_ENABLED: return (syserr_iopl_not_enabled);
631 case ERROR_INVALID_SEGDPL: return (syserr_invalid_segdpl);
632 #ifdef ERROR_AUTODATASEG_EXCEEDS_64k
633 case ERROR_AUTODATASEG_EXCEEDS_64k: return (syserr_autodataseg_exceeds_64k);
634 #endif
635 case ERROR_RING2SEG_MUST_BE_MOVABLE: return (syserr_ring2seg_must_be_movable);
636 #ifdef ERROR_RELOC_CHAIN_XEEDS_SEGLIM
637 case ERROR_RELOC_CHAIN_XEEDS_SEGLIM: return (syserr_reloc_chain_xeeds_seglim);
638 #endif
639 case ERROR_INFLOOP_IN_RELOC_CHAIN: return (syserr_infloop_in_reloc_chain);
640 case ERROR_ENVVAR_NOT_FOUND: return (syserr_envvar_not_found);
641 case ERROR_NOT_CURRENT_CTRY: return (syserr_not_current_ctry);
642 case ERROR_NO_SIGNAL_SENT: return (syserr_no_signal_sent);
643 case ERROR_FILENAME_EXCED_RANGE: return (syserr_filename_exced_range);
644 case ERROR_RING2_STACK_IN_USE: return (syserr_ring2_stack_in_use);
645 case ERROR_META_EXPANSION_TOO_LONG: return (syserr_meta_expansion_too_long);
646 case ERROR_INVALID_SIGNAL_NUMBER: return (syserr_invalid_signal_number);
647 case ERROR_THREAD_1_INACTIVE: return (syserr_thread_1_inactive);
648 case ERROR_INFO_NOT_AVAIL: return (syserr_info_not_avail);
649 case ERROR_LOCKED: return (syserr_locked);
650 case ERROR_BAD_DYNALINK: return (syserr_bad_dynalink);
651 case ERROR_TOO_MANY_MODULES: return (syserr_too_many_modules);
652 case ERROR_NESTING_NOT_ALLOWED: return (syserr_nesting_not_allowed);
653 case ERROR_CANNOT_SHRINK: return (syserr_cannot_shrink);
654 case ERROR_ZOMBIE_PROCESS: return (syserr_zombie_process);
655 case ERROR_STACK_IN_HIGH_MEMORY: return (syserr_stack_in_high_memory);
656 case ERROR_INVALID_EXITROUTINE_RING: return (syserr_invalid_exitroutine_ring);
657 case ERROR_GETBUF_FAILED: return (syserr_getbuf_failed);
658 case ERROR_FLUSHBUF_FAILED: return (syserr_flushbuf_failed);
659 case ERROR_TRANSFER_TOO_LONG: return (syserr_transfer_too_long);
660 case ERROR_FORCENOSWAP_FAILED: return (syserr_forcenoswap_failed);
661 case ERROR_SMG_NO_TARGET_WINDOW: return (syserr_smg_no_target_window);
662 case ERROR_NO_CHILDREN: return (syserr_no_children);
663 case ERROR_INVALID_SCREEN_GROUP: return (syserr_invalid_screen_group);
664 case ERROR_BAD_PIPE: return (syserr_bad_pipe);
665 case ERROR_PIPE_BUSY: return (syserr_pipe_busy);
666 case ERROR_NO_DATA: return (syserr_no_data);
667 case ERROR_PIPE_NOT_CONNECTED: return (syserr_pipe_not_connected);
668 case ERROR_MORE_DATA: return (syserr_more_data);
669 case ERROR_VC_DISCONNECTED: return (syserr_vc_disconnected);
670 case ERROR_CIRCULARITY_REQUESTED: return (syserr_circularity_requested);
671 case ERROR_DIRECTORY_IN_CDS: return (syserr_directory_in_cds);
672 case ERROR_INVALID_FSD_NAME: return (syserr_invalid_fsd_name);
673 case ERROR_INVALID_PATH: return (syserr_invalid_path);
674 case ERROR_INVALID_EA_NAME: return (syserr_invalid_ea_name);
675 case ERROR_EA_LIST_INCONSISTENT: return (syserr_ea_list_inconsistent);
676 case ERROR_EA_LIST_TOO_LONG: return (syserr_ea_list_too_long);
677 case ERROR_NO_META_MATCH: return (syserr_no_meta_match);
678 case ERROR_FINDNOTIFY_TIMEOUT: return (syserr_findnotify_timeout);
679 case ERROR_NO_MORE_ITEMS: return (syserr_no_more_items);
680 case ERROR_SEARCH_STRUC_REUSED: return (syserr_search_struc_reused);
681 case ERROR_CHAR_NOT_FOUND: return (syserr_char_not_found);
682 case ERROR_TOO_MUCH_STACK: return (syserr_too_much_stack);
683 case ERROR_INVALID_ATTR: return (syserr_invalid_attr);
684 case ERROR_INVALID_STARTING_RING: return (syserr_invalid_starting_ring);
685 case ERROR_INVALID_DLL_INIT_RING: return (syserr_invalid_dll_init_ring);
686 case ERROR_CANNOT_COPY: return (syserr_cannot_copy);
687 case ERROR_DIRECTORY: return (syserr_directory);
688 case ERROR_OPLOCKED_FILE: return (syserr_oplocked_file);
689 case ERROR_OPLOCK_THREAD_EXISTS: return (syserr_oplock_thread_exists);
690 case ERROR_VOLUME_CHANGED: return (syserr_volume_changed);
691 case ERROR_FINDNOTIFY_HANDLE_IN_USE: return (syserr_findnotify_handle_in_use);
692 case ERROR_FINDNOTIFY_HANDLE_CLOSED: return (syserr_findnotify_handle_closed);
693 case ERROR_NOTIFY_OBJECT_REMOVED: return (syserr_notify_object_removed);
694 case ERROR_ALREADY_SHUTDOWN: return (syserr_already_shutdown);
695 case ERROR_EAS_DIDNT_FIT: return (syserr_eas_didnt_fit);
696 case ERROR_EA_FILE_CORRUPT: return (syserr_ea_file_corrupt);
697 case ERROR_EA_TABLE_FULL: return (syserr_ea_table_full);
698 case ERROR_INVALID_EA_HANDLE: return (syserr_invalid_ea_handle);
699 case ERROR_NO_CLUSTER: return (syserr_no_cluster);
700 case ERROR_CREATE_EA_FILE: return (syserr_create_ea_file);
701 case ERROR_CANNOT_OPEN_EA_FILE: return (syserr_cannot_open_ea_file);
702 case ERROR_EAS_NOT_SUPPORTED: return (syserr_eas_not_supported);
703 case ERROR_NEED_EAS_FOUND: return (syserr_need_eas_found);
704 case ERROR_DUPLICATE_HANDLE: return (syserr_duplicate_handle);
705 case ERROR_DUPLICATE_NAME: return (syserr_duplicate_name);
706 case ERROR_EMPTY_MUXWAIT: return (syserr_empty_muxwait);
707 case ERROR_MUTEX_OWNED: return (syserr_mutex_owned);
708 case ERROR_NOT_OWNER: return (syserr_not_owner);
709 case ERROR_PARAM_TOO_SMALL: return (syserr_param_too_small);
710 case ERROR_TOO_MANY_HANDLES: return (syserr_too_many_handles);
711 case ERROR_TOO_MANY_OPENS: return (syserr_too_many_opens);
712 case ERROR_WRONG_TYPE: return (syserr_wrong_type);
713 case ERROR_UNUSED_CODE: return (syserr_unused_code);
714 case ERROR_THREAD_NOT_TERMINATED: return (syserr_thread_not_terminated);
715 case ERROR_INIT_ROUTINE_FAILED: return (syserr_init_routine_failed);
716 case ERROR_MODULE_IN_USE: return (syserr_module_in_use);
717 case ERROR_NOT_ENOUGH_WATCHPOINTS: return (syserr_not_enough_watchpoints);
718 case ERROR_TOO_MANY_POSTS: return (syserr_too_many_posts);
719 case ERROR_ALREADY_POSTED: return (syserr_already_posted);
720 case ERROR_ALREADY_RESET: return (syserr_already_reset);
721 case ERROR_SEM_BUSY: return (syserr_sem_busy);
722 case ERROR_INVALID_PROCID: return (syserr_invalid_procid);
723 case ERROR_INVALID_PDELTA: return (syserr_invalid_pdelta);
724 case ERROR_NOT_DESCENDANT: return (syserr_not_descendant);
725 case ERROR_NOT_SESSION_MANAGER: return (syserr_not_session_manager);
726 case ERROR_INVALID_PCLASS: return (syserr_invalid_pclass);
727 case ERROR_INVALID_SCOPE: return (syserr_invalid_scope);
728 case ERROR_INVALID_THREADID: return (syserr_invalid_threadid);
729 case ERROR_DOSSUB_SHRINK: return (syserr_dossub_shrink);
730 case ERROR_DOSSUB_NOMEM: return (syserr_dossub_nomem);
731 case ERROR_DOSSUB_OVERLAP: return (syserr_dossub_overlap);
732 case ERROR_DOSSUB_BADSIZE: return (syserr_dossub_badsize);
733 case ERROR_DOSSUB_BADFLAG: return (syserr_dossub_badflag);
734 case ERROR_DOSSUB_BADSELECTOR: return (syserr_dossub_badselector);
735 case ERROR_MR_MSG_TOO_LONG: return (syserr_mr_msg_too_long);
736 case ERROR_MR_MID_NOT_FOUND: return (syserr_mr_mid_not_found);
737 case ERROR_MR_UN_ACC_MSGF: return (syserr_mr_un_acc_msgf);
738 case ERROR_MR_INV_MSGF_FORMAT: return (syserr_mr_inv_msgf_format);
739 case ERROR_MR_INV_IVCOUNT: return (syserr_mr_inv_ivcount);
740 case ERROR_MR_UN_PERFORM: return (syserr_mr_un_perform);
741 case ERROR_TS_WAKEUP: return (syserr_ts_wakeup);
742 case ERROR_TS_SEMHANDLE: return (syserr_ts_semhandle);
743 case ERROR_TS_NOTIMER: return (syserr_ts_notimer);
744 case ERROR_TS_HANDLE: return (syserr_ts_handle);
745 case ERROR_TS_DATETIME: return (syserr_ts_datetime);
746 case ERROR_SYS_INTERNAL: return (syserr_sys_internal);
747 case ERROR_QUE_CURRENT_NAME: return (syserr_que_current_name);
748 case ERROR_QUE_PROC_NOT_OWNED: return (syserr_que_proc_not_owned);
749 case ERROR_QUE_PROC_OWNED: return (syserr_que_proc_owned);
750 case ERROR_QUE_DUPLICATE: return (syserr_que_duplicate);
751 case ERROR_QUE_ELEMENT_NOT_EXIST: return (syserr_que_element_not_exist);
752 case ERROR_QUE_NO_MEMORY: return (syserr_que_no_memory);
753 case ERROR_QUE_INVALID_NAME: return (syserr_que_invalid_name);
754 case ERROR_QUE_INVALID_PRIORITY: return (syserr_que_invalid_priority);
755 case ERROR_QUE_INVALID_HANDLE: return (syserr_que_invalid_handle);
756 case ERROR_QUE_LINK_NOT_FOUND: return (syserr_que_link_not_found);
757 case ERROR_QUE_MEMORY_ERROR: return (syserr_que_memory_error);
758 case ERROR_QUE_PREV_AT_END: return (syserr_que_prev_at_end);
759 case ERROR_QUE_PROC_NO_ACCESS: return (syserr_que_proc_no_access);
760 case ERROR_QUE_EMPTY: return (syserr_que_empty);
761 case ERROR_QUE_NAME_NOT_EXIST: return (syserr_que_name_not_exist);
762 case ERROR_QUE_NOT_INITIALIZED: return (syserr_que_not_initialized);
763 case ERROR_QUE_UNABLE_TO_ACCESS: return (syserr_que_unable_to_access);
764 case ERROR_QUE_UNABLE_TO_ADD: return (syserr_que_unable_to_add);
765 case ERROR_QUE_UNABLE_TO_INIT: return (syserr_que_unable_to_init);
766 case ERROR_VIO_INVALID_MASK: return (syserr_vio_invalid_mask);
767 case ERROR_VIO_PTR: return (syserr_vio_ptr);
768 case ERROR_VIO_APTR: return (syserr_vio_aptr);
769 case ERROR_VIO_RPTR: return (syserr_vio_rptr);
770 case ERROR_VIO_CPTR: return (syserr_vio_cptr);
771 case ERROR_VIO_LPTR: return (syserr_vio_lptr);
772 case ERROR_VIO_MODE: return (syserr_vio_mode);
773 case ERROR_VIO_WIDTH: return (syserr_vio_width);
774 case ERROR_VIO_ATTR: return (syserr_vio_attr);
775 case ERROR_VIO_ROW: return (syserr_vio_row);
776 case ERROR_VIO_COL: return (syserr_vio_col);
777 case ERROR_VIO_TOPROW: return (syserr_vio_toprow);
778 case ERROR_VIO_BOTROW: return (syserr_vio_botrow);
779 case ERROR_VIO_RIGHTCOL: return (syserr_vio_rightcol);
780 case ERROR_VIO_LEFTCOL: return (syserr_vio_leftcol);
781 case ERROR_SCS_CALL: return (syserr_scs_call);
782 case ERROR_SCS_VALUE: return (syserr_scs_value);
783 case ERROR_VIO_WAIT_FLAG: return (syserr_vio_wait_flag);
784 case ERROR_VIO_UNLOCK: return (syserr_vio_unlock);
785 case ERROR_SGS_NOT_SESSION_MGR: return (syserr_sgs_not_session_mgr);
786 case ERROR_SMG_INVALID_SESSION_ID: return (syserr_smg_invalid_session_id);
787 case ERROR_SMG_NO_SESSIONS: return (syserr_smg_no_sessions);
788 case ERROR_SMG_SESSION_NOT_FOUND: return (syserr_smg_session_not_found);
789 case ERROR_SMG_SET_TITLE: return (syserr_smg_set_title);
790 case ERROR_KBD_PARAMETER: return (syserr_kbd_parameter);
791 case ERROR_KBD_NO_DEVICE: return (syserr_kbd_no_device);
792 case ERROR_KBD_INVALID_IOWAIT: return (syserr_kbd_invalid_iowait);
793 case ERROR_KBD_INVALID_LENGTH: return (syserr_kbd_invalid_length);
794 case ERROR_KBD_INVALID_ECHO_MASK: return (syserr_kbd_invalid_echo_mask);
795 case ERROR_KBD_INVALID_INPUT_MASK: return (syserr_kbd_invalid_input_mask);
796 case ERROR_MON_INVALID_PARMS: return (syserr_mon_invalid_parms);
797 case ERROR_MON_INVALID_DEVNAME: return (syserr_mon_invalid_devname);
798 case ERROR_MON_INVALID_HANDLE: return (syserr_mon_invalid_handle);
799 case ERROR_MON_BUFFER_TOO_SMALL: return (syserr_mon_buffer_too_small);
800 case ERROR_MON_BUFFER_EMPTY: return (syserr_mon_buffer_empty);
801 case ERROR_MON_DATA_TOO_LARGE: return (syserr_mon_data_too_large);
802 case ERROR_MOUSE_NO_DEVICE: return (syserr_mouse_no_device);
803 case ERROR_MOUSE_INV_HANDLE: return (syserr_mouse_inv_handle);
804 case ERROR_MOUSE_INV_PARMS: return (syserr_mouse_inv_parms);
805 case ERROR_MOUSE_CANT_RESET: return (syserr_mouse_cant_reset);
806 case ERROR_MOUSE_DISPLAY_PARMS: return (syserr_mouse_display_parms);
807 case ERROR_MOUSE_INV_MODULE: return (syserr_mouse_inv_module);
808 case ERROR_MOUSE_INV_ENTRY_PT: return (syserr_mouse_inv_entry_pt);
809 case ERROR_MOUSE_INV_MASK: return (syserr_mouse_inv_mask);
810 case NO_ERROR_MOUSE_NO_DATA: return (syserr_mouse_no_data);
811 case NO_ERROR_MOUSE_PTR_DRAWN: return (syserr_mouse_ptr_drawn);
812 case ERROR_INVALID_FREQUENCY: return (syserr_invalid_frequency);
813 case ERROR_NLS_NO_COUNTRY_FILE: return (syserr_nls_no_country_file);
814 case ERROR_NLS_OPEN_FAILED: return (syserr_nls_open_failed);
815 #ifdef ERROR_NO_COUNTRY_OR_CODEPAGE
816 case ERROR_NO_COUNTRY_OR_CODEPAGE: return (syserr_no_country_or_codepage);
817 #endif
818 case ERROR_NLS_TABLE_TRUNCATED: return (syserr_nls_table_truncated);
819 case ERROR_NLS_BAD_TYPE: return (syserr_nls_bad_type);
820 case ERROR_NLS_TYPE_NOT_FOUND: return (syserr_nls_type_not_found);
821 case ERROR_VIO_SMG_ONLY: return (syserr_vio_smg_only);
822 case ERROR_VIO_INVALID_ASCIIZ: return (syserr_vio_invalid_asciiz);
823 case ERROR_VIO_DEREGISTER: return (syserr_vio_deregister);
824 case ERROR_VIO_NO_POPUP: return (syserr_vio_no_popup);
825 case ERROR_VIO_EXISTING_POPUP: return (syserr_vio_existing_popup);
826 case ERROR_KBD_SMG_ONLY: return (syserr_kbd_smg_only);
827 case ERROR_KBD_INVALID_ASCIIZ: return (syserr_kbd_invalid_asciiz);
828 case ERROR_KBD_INVALID_MASK: return (syserr_kbd_invalid_mask);
829 case ERROR_KBD_REGISTER: return (syserr_kbd_register);
830 case ERROR_KBD_DEREGISTER: return (syserr_kbd_deregister);
831 case ERROR_MOUSE_SMG_ONLY: return (syserr_mouse_smg_only);
832 case ERROR_MOUSE_INVALID_ASCIIZ: return (syserr_mouse_invalid_asciiz);
833 case ERROR_MOUSE_INVALID_MASK: return (syserr_mouse_invalid_mask);
834 case ERROR_MOUSE_REGISTER: return (syserr_mouse_register);
835 case ERROR_MOUSE_DEREGISTER: return (syserr_mouse_deregister);
836 case ERROR_SMG_BAD_ACTION: return (syserr_smg_bad_action);
837 case ERROR_SMG_INVALID_CALL: return (syserr_smg_invalid_call);
838 case ERROR_SCS_SG_NOTFOUND: return (syserr_scs_sg_notfound);
839 case ERROR_SCS_NOT_SHELL: return (syserr_scs_not_shell);
840 case ERROR_VIO_INVALID_PARMS: return (syserr_vio_invalid_parms);
841 case ERROR_VIO_FUNCTION_OWNED: return (syserr_vio_function_owned);
842 case ERROR_VIO_RETURN: return (syserr_vio_return);
843 case ERROR_SCS_INVALID_FUNCTION: return (syserr_scs_invalid_function);
844 case ERROR_SCS_NOT_SESSION_MGR: return (syserr_scs_not_session_mgr);
845 case ERROR_VIO_REGISTER: return (syserr_vio_register);
846 case ERROR_VIO_NO_MODE_THREAD: return (syserr_vio_no_mode_thread);
847 case ERROR_VIO_NO_SAVE_RESTORE_THD: return (syserr_vio_no_save_restore_thd);
848 case ERROR_VIO_IN_BG: return (syserr_vio_in_bg);
849 case ERROR_VIO_ILLEGAL_DURING_POPUP: return (syserr_vio_illegal_during_popup);
850 case ERROR_SMG_NOT_BASESHELL: return (syserr_smg_not_baseshell);
851 case ERROR_SMG_BAD_STATUSREQ: return (syserr_smg_bad_statusreq);
852 case ERROR_QUE_INVALID_WAIT: return (syserr_que_invalid_wait);
853 case ERROR_VIO_LOCK: return (syserr_vio_lock);
854 case ERROR_MOUSE_INVALID_IOWAIT: return (syserr_mouse_invalid_iowait);
855 case ERROR_VIO_INVALID_HANDLE: return (syserr_vio_invalid_handle);
856 case ERROR_VIO_ILLEGAL_DURING_LOCK: return (syserr_vio_illegal_during_lock);
857 case ERROR_VIO_INVALID_LENGTH: return (syserr_vio_invalid_length);
858 case ERROR_KBD_INVALID_HANDLE: return (syserr_kbd_invalid_handle);
859 case ERROR_KBD_NO_MORE_HANDLE: return (syserr_kbd_no_more_handle);
860 case ERROR_KBD_CANNOT_CREATE_KCB: return (syserr_kbd_cannot_create_kcb);
861 case ERROR_KBD_CODEPAGE_LOAD_INCOMPL: return (syserr_kbd_codepage_load_incompl);
862 case ERROR_KBD_INVALID_CODEPAGE_ID: return (syserr_kbd_invalid_codepage_id);
863 case ERROR_KBD_NO_CODEPAGE_SUPPORT: return (syserr_kbd_no_codepage_support);
864 case ERROR_KBD_FOCUS_REQUIRED: return (syserr_kbd_focus_required);
865 case ERROR_KBD_FOCUS_ALREADY_ACTIVE: return (syserr_kbd_focus_already_active);
866 case ERROR_KBD_KEYBOARD_BUSY: return (syserr_kbd_keyboard_busy);
867 case ERROR_KBD_INVALID_CODEPAGE: return (syserr_kbd_invalid_codepage);
868 case ERROR_KBD_UNABLE_TO_FOCUS: return (syserr_kbd_unable_to_focus);
869 case ERROR_SMG_SESSION_NON_SELECT: return (syserr_smg_session_non_select);
870 case ERROR_SMG_SESSION_NOT_FOREGRND: return (syserr_smg_session_not_foregrnd);
871 case ERROR_SMG_SESSION_NOT_PARENT: return (syserr_smg_session_not_parent);
872 case ERROR_SMG_INVALID_START_MODE: return (syserr_smg_invalid_start_mode);
873 case ERROR_SMG_INVALID_RELATED_OPT: return (syserr_smg_invalid_related_opt);
874 case ERROR_SMG_INVALID_BOND_OPTION: return (syserr_smg_invalid_bond_option);
875 case ERROR_SMG_INVALID_SELECT_OPT: return (syserr_smg_invalid_select_opt);
876 case ERROR_SMG_START_IN_BACKGROUND: return (syserr_smg_start_in_background);
877 case ERROR_SMG_INVALID_STOP_OPTION: return (syserr_smg_invalid_stop_option);
878 case ERROR_SMG_BAD_RESERVE: return (syserr_smg_bad_reserve);
879 case ERROR_SMG_PROCESS_NOT_PARENT: return (syserr_smg_process_not_parent);
880 case ERROR_SMG_INVALID_DATA_LENGTH: return (syserr_smg_invalid_data_length);
881 case ERROR_SMG_NOT_BOUND: return (syserr_smg_not_bound);
882 case ERROR_SMG_RETRY_SUB_ALLOC: return (syserr_smg_retry_sub_alloc);
883 case ERROR_KBD_DETACHED: return (syserr_kbd_detached);
884 case ERROR_VIO_DETACHED: return (syserr_vio_detached);
885 case ERROR_MOU_DETACHED: return (syserr_mou_detached);
886 case ERROR_VIO_FONT: return (syserr_vio_font);
887 case ERROR_VIO_USER_FONT: return (syserr_vio_user_font);
888 case ERROR_VIO_BAD_CP: return (syserr_vio_bad_cp);
889 case ERROR_VIO_NO_CP: return (syserr_vio_no_cp);
890 case ERROR_VIO_NA_CP: return (syserr_vio_na_cp);
891 case ERROR_INVALID_CODE_PAGE: return (syserr_invalid_code_page);
892 case ERROR_CPLIST_TOO_SMALL: return (syserr_cplist_too_small);
893 case ERROR_CP_NOT_MOVED: return (syserr_cp_not_moved);
894 case ERROR_MODE_SWITCH_INIT: return (syserr_mode_switch_init);
895 case ERROR_CODE_PAGE_NOT_FOUND: return (syserr_code_page_not_found);
896 case ERROR_UNEXPECTED_SLOT_RETURNED: return (syserr_unexpected_slot_returned);
897 case ERROR_SMG_INVALID_TRACE_OPTION: return (syserr_smg_invalid_trace_option);
898 case ERROR_VIO_INTERNAL_RESOURCE: return (syserr_vio_internal_resource);
899 case ERROR_VIO_SHELL_INIT: return (syserr_vio_shell_init);
900 case ERROR_SMG_NO_HARD_ERRORS: return (syserr_smg_no_hard_errors);
901 case ERROR_CP_SWITCH_INCOMPLETE: return (syserr_cp_switch_incomplete);
902 case ERROR_VIO_TRANSPARENT_POPUP: return (syserr_vio_transparent_popup);
903 case ERROR_CRITSEC_OVERFLOW: return (syserr_critsec_overflow);
904 case ERROR_CRITSEC_UNDERFLOW: return (syserr_critsec_underflow);
905 case ERROR_VIO_BAD_RESERVE: return (syserr_vio_bad_reserve);
906 case ERROR_INVALID_ADDRESS: return (syserr_invalid_address);
907 case ERROR_ZERO_SELECTORS_REQUESTED: return (syserr_zero_selectors_requested);
908 case ERROR_NOT_ENOUGH_SELECTORS_AVA: return (syserr_not_enough_selectors_ava);
909 case ERROR_INVALID_SELECTOR: return (syserr_invalid_selector);
910 case ERROR_SMG_INVALID_PROGRAM_TYPE: return (syserr_smg_invalid_program_type);
911 case ERROR_SMG_INVALID_PGM_CONTROL: return (syserr_smg_invalid_pgm_control);
912 case ERROR_SMG_INVALID_INHERIT_OPT: return (syserr_smg_invalid_inherit_opt);
913 case ERROR_VIO_EXTENDED_SG: return (syserr_vio_extended_sg);
914 case ERROR_VIO_NOT_PRES_MGR_SG: return (syserr_vio_not_pres_mgr_sg);
915 case ERROR_VIO_SHIELD_OWNED: return (syserr_vio_shield_owned);
916 case ERROR_VIO_NO_MORE_HANDLES: return (syserr_vio_no_more_handles);
917 case ERROR_VIO_SEE_ERROR_LOG: return (syserr_vio_see_error_log);
918 case ERROR_VIO_ASSOCIATED_DC: return (syserr_vio_associated_dc);
919 case ERROR_KBD_NO_CONSOLE: return (syserr_kbd_no_console);
920 case ERROR_MOUSE_NO_CONSOLE: return (syserr_mouse_no_console);
921 case ERROR_MOUSE_INVALID_HANDLE: return (syserr_mouse_invalid_handle);
922 case ERROR_SMG_INVALID_DEBUG_PARMS: return (syserr_smg_invalid_debug_parms);
923 case ERROR_KBD_EXTENDED_SG: return (syserr_kbd_extended_sg);
924 case ERROR_MOU_EXTENDED_SG: return (syserr_mou_extended_sg);
925 case ERROR_SMG_INVALID_ICON_FILE: return (syserr_smg_invalid_icon_file);
926 case ERROR_TRC_PID_NON_EXISTENT: return (syserr_trc_pid_non_existent);
927 case ERROR_TRC_COUNT_ACTIVE: return (syserr_trc_count_active);
928 case ERROR_TRC_SUSPENDED_BY_COUNT: return (syserr_trc_suspended_by_count);
929 case ERROR_TRC_COUNT_INACTIVE: return (syserr_trc_count_inactive);
930 case ERROR_TRC_COUNT_REACHED: return (syserr_trc_count_reached);
931 case ERROR_NO_MC_TRACE: return (syserr_no_mc_trace);
932 case ERROR_MC_TRACE: return (syserr_mc_trace);
933 case ERROR_TRC_COUNT_ZERO: return (syserr_trc_count_zero);
934 case ERROR_SMG_TOO_MANY_DDS: return (syserr_smg_too_many_dds);
935 case ERROR_SMG_INVALID_NOTIFICATION: return (syserr_smg_invalid_notification);
936 case ERROR_LF_INVALID_FUNCTION: return (syserr_lf_invalid_function);
937 case ERROR_LF_NOT_AVAIL: return (syserr_lf_not_avail);
938 case ERROR_LF_SUSPENDED: return (syserr_lf_suspended);
939 case ERROR_LF_BUF_TOO_SMALL: return (syserr_lf_buf_too_small);
940 case ERROR_LF_BUFFER_FULL: return (syserr_lf_buffer_full);
941 case ERROR_LF_INVALID_RECORD: return (syserr_lf_invalid_record);
942 case ERROR_LF_INVALID_SERVICE: return (syserr_lf_invalid_service);
943 case ERROR_LF_GENERAL_FAILURE: return (syserr_lf_general_failure);
944 case ERROR_LF_INVALID_ID: return (syserr_lf_invalid_id);
945 case ERROR_LF_INVALID_HANDLE: return (syserr_lf_invalid_handle);
946 case ERROR_LF_NO_ID_AVAIL: return (syserr_lf_no_id_avail);
947 case ERROR_LF_TEMPLATE_AREA_FULL: return (syserr_lf_template_area_full);
948 case ERROR_LF_ID_IN_USE: return (syserr_lf_id_in_use);
949 case ERROR_MOU_NOT_INITIALIZED: return (syserr_mou_not_initialized);
950 case ERROR_MOUINITREAL_DONE: return (syserr_mouinitreal_done);
951 case ERROR_DOSSUB_CORRUPTED: return (syserr_dossub_corrupted);
952 case ERROR_MOUSE_CALLER_NOT_SUBSYS: return (syserr_mouse_caller_not_subsys);
953 case ERROR_ARITHMETIC_OVERFLOW: return (syserr_arithmetic_overflow);
954 case ERROR_TMR_NO_DEVICE: return (syserr_tmr_no_device);
955 case ERROR_TMR_INVALID_TIME: return (syserr_tmr_invalid_time);
956 case ERROR_PVW_INVALID_ENTITY: return (syserr_pvw_invalid_entity);
957 case ERROR_PVW_INVALID_ENTITY_TYPE: return (syserr_pvw_invalid_entity_type);
958 case ERROR_PVW_INVALID_SPEC: return (syserr_pvw_invalid_spec);
959 case ERROR_PVW_INVALID_RANGE_TYPE: return (syserr_pvw_invalid_range_type);
960 case ERROR_PVW_INVALID_COUNTER_BLK: return (syserr_pvw_invalid_counter_blk);
961 case ERROR_PVW_INVALID_TEXT_BLK: return (syserr_pvw_invalid_text_blk);
962 case ERROR_PRF_NOT_INITIALIZED: return (syserr_prf_not_initialized);
963 case ERROR_PRF_ALREADY_INITIALIZED: return (syserr_prf_already_initialized);
964 case ERROR_PRF_NOT_STARTED: return (syserr_prf_not_started);
965 case ERROR_PRF_ALREADY_STARTED: return (syserr_prf_already_started);
966 case ERROR_PRF_TIMER_OUT_OF_RANGE: return (syserr_prf_timer_out_of_range);
967 case ERROR_PRF_TIMER_RESET: return (syserr_prf_timer_reset);
968 case ERROR_VDD_LOCK_USEAGE_DENIED: return (syserr_vdd_lock_useage_denied);
969 case ERROR_TIMEOUT: return (syserr_timeout);
970 case ERROR_VDM_DOWN: return (syserr_vdm_down);
971 case ERROR_VDM_LIMIT: return (syserr_vdm_limit);
972 case ERROR_VDD_NOT_FOUND: return (syserr_vdd_not_found);
973 case ERROR_INVALID_CALLER: return (syserr_invalid_caller);
974 case ERROR_PID_MISMATCH: return (syserr_pid_mismatch);
975 case ERROR_INVALID_VDD_HANDLE: return (syserr_invalid_vdd_handle);
976 case ERROR_VLPT_NO_SPOOLER: return (syserr_vlpt_no_spooler);
977 case ERROR_VCOM_DEVICE_BUSY: return (syserr_vcom_device_busy);
978 case ERROR_VLPT_DEVICE_BUSY: return (syserr_vlpt_device_busy);
979 case ERROR_NESTING_TOO_DEEP: return (syserr_nesting_too_deep);
980 case ERROR_VDD_MISSING: return (syserr_vdd_missing);
981 case ERROR_BIDI_INVALID_LENGTH: return (syserr_bidi_invalid_length);
982 case ERROR_BIDI_INVALID_INCREMENT: return (syserr_bidi_invalid_increment);
983 case ERROR_BIDI_INVALID_COMBINATION: return (syserr_bidi_invalid_combination);
984 case ERROR_BIDI_INVALID_RESERVED: return (syserr_bidi_invalid_reserved);
985 case ERROR_BIDI_INVALID_EFFECT: return (syserr_bidi_invalid_effect);
986 case ERROR_BIDI_INVALID_CSDREC: return (syserr_bidi_invalid_csdrec);
987 case ERROR_BIDI_INVALID_CSDSTATE: return (syserr_bidi_invalid_csdstate);
988 case ERROR_BIDI_INVALID_LEVEL: return (syserr_bidi_invalid_level);
989 case ERROR_BIDI_INVALID_TYPE_SUPPORT: return (syserr_bidi_invalid_type_support);
990 case ERROR_BIDI_INVALID_ORIENTATION: return (syserr_bidi_invalid_orientation);
991 case ERROR_BIDI_INVALID_NUM_SHAPE: return (syserr_bidi_invalid_num_shape);
992 case ERROR_BIDI_INVALID_CSD: return (syserr_bidi_invalid_csd);
993 case ERROR_BIDI_NO_SUPPORT: return (syserr_bidi_no_support);
994 case NO_ERROR_BIDI_RW_INCOMPLETE: return (syserr_bidi_rw_incomplete);
995 case ERROR_IMP_INVALID_PARM: return (syserr_imp_invalid_parm);
996 case ERROR_IMP_INVALID_LENGTH: return (syserr_imp_invalid_length);
997 #ifdef MSG_HPFS_DISK_ERROR_WARN
998 case MSG_HPFS_DISK_ERROR_WARN: return (syserr_hpfs_disk_error_warn);
999 #endif
1000 case ERROR_MON_BAD_BUFFER: return (syserr_mon_bad_buffer);
1001 case ERROR_MODULE_CORRUPTED: return (syserr_module_corrupted);
1002 case ERROR_SM_OUTOF_SWAPFILE: return (syserr_sm_outof_swapfile);
1003 case ERROR_LF_TIMEOUT: return (syserr_lf_timeout);
1004 case ERROR_LF_SUSPEND_SUCCESS: return (syserr_lf_suspend_success);
1005 case ERROR_LF_RESUME_SUCCESS: return (syserr_lf_resume_success);
1006 case ERROR_LF_REDIRECT_SUCCESS: return (syserr_lf_redirect_success);
1007 case ERROR_LF_REDIRECT_FAILURE: return (syserr_lf_redirect_failure);
1008 case ERROR_SWAPPER_NOT_ACTIVE: return (syserr_swapper_not_active);
1009 case ERROR_INVALID_SWAPID: return (syserr_invalid_swapid);
1010 case ERROR_IOERR_SWAP_FILE: return (syserr_ioerr_swap_file);
1011 case ERROR_SWAP_TABLE_FULL: return (syserr_swap_table_full);
1012 case ERROR_SWAP_FILE_FULL: return (syserr_swap_file_full);
1013 case ERROR_CANT_INIT_SWAPPER: return (syserr_cant_init_swapper);
1014 case ERROR_SWAPPER_ALREADY_INIT: return (syserr_swapper_already_init);
1015 case ERROR_PMM_INSUFFICIENT_MEMORY: return (syserr_pmm_insufficient_memory);
1016 case ERROR_PMM_INVALID_FLAGS: return (syserr_pmm_invalid_flags);
1017 case ERROR_PMM_INVALID_ADDRESS: return (syserr_pmm_invalid_address);
1018 case ERROR_PMM_LOCK_FAILED: return (syserr_pmm_lock_failed);
1019 case ERROR_PMM_UNLOCK_FAILED: return (syserr_pmm_unlock_failed);
1020 case ERROR_PMM_MOVE_INCOMPLETE: return (syserr_pmm_move_incomplete);
1021 case ERROR_UCOM_DRIVE_RENAMED: return (syserr_ucom_drive_renamed);
1022 case ERROR_UCOM_FILENAME_TRUNCATED: return (syserr_ucom_filename_truncated);
1023 case ERROR_UCOM_BUFFER_LENGTH: return (syserr_ucom_buffer_length);
1024 case ERROR_MON_CHAIN_HANDLE: return (syserr_mon_chain_handle);
1025 case ERROR_MON_NOT_REGISTERED: return (syserr_mon_not_registered);
1026 case ERROR_SMG_ALREADY_TOP: return (syserr_smg_already_top);
1027 case ERROR_PMM_ARENA_MODIFIED: return (syserr_pmm_arena_modified);
1028 case ERROR_SMG_PRINTER_OPEN: return (syserr_smg_printer_open);
1029 case ERROR_PMM_SET_FLAGS_FAILED: return (syserr_pmm_set_flags_failed);
1030 case ERROR_INVALID_DOS_DD: return (syserr_invalid_dos_dd);
1031 case ERROR_BLOCKED: return (syserr_blocked);
1032 case ERROR_NOBLOCK: return (syserr_noblock);
1033 case ERROR_INSTANCE_SHARED: return (syserr_instance_shared);
1034 case ERROR_NO_OBJECT: return (syserr_no_object);
1035 case ERROR_PARTIAL_ATTACH: return (syserr_partial_attach);
1036 case ERROR_INCACHE: return (syserr_incache);
1037 case ERROR_SWAP_IO_PROBLEMS: return (syserr_swap_io_problems);
1038 case ERROR_CROSSES_OBJECT_BOUNDARY: return (syserr_crosses_object_boundary);
1039 case ERROR_LONGLOCK: return (syserr_longlock);
1040 case ERROR_SHORTLOCK: return (syserr_shortlock);
1041 case ERROR_UVIRTLOCK: return (syserr_uvirtlock);
1042 case ERROR_ALIASLOCK: return (syserr_aliaslock);
1043 case ERROR_ALIAS: return (syserr_alias);
1044 case ERROR_NO_MORE_HANDLES: return (syserr_no_more_handles);
1045 case ERROR_SCAN_TERMINATED: return (syserr_scan_terminated);
1046 case ERROR_TERMINATOR_NOT_FOUND: return (syserr_terminator_not_found);
1047 case ERROR_NOT_DIRECT_CHILD: return (syserr_not_direct_child);
1048 case ERROR_DELAY_FREE: return (syserr_delay_free);
1049 case ERROR_GUARDPAGE: return (syserr_guardpage);
1050 case ERROR_SWAPERROR: return (syserr_swaperror);
1051 case ERROR_LDRERROR: return (syserr_ldrerror);
1052 case ERROR_NOMEMORY: return (syserr_nomemory);
1053 case ERROR_NOACCESS: return (syserr_noaccess);
1054 case ERROR_NO_DLL_TERM: return (syserr_no_dll_term);
1055 case ERROR_CPSIO_CODE_PAGE_INVALID: return (syserr_cpsio_code_page_invalid);
1056 case ERROR_CPSIO_NO_SPOOLER: return (syserr_cpsio_no_spooler);
1057 case ERROR_CPSIO_FONT_ID_INVALID: return (syserr_cpsio_font_id_invalid);
1058 case ERROR_CPSIO_INTERNAL_ERROR: return (syserr_cpsio_internal_error);
1059 case ERROR_CPSIO_INVALID_PTR_NAME: return (syserr_cpsio_invalid_ptr_name);
1060 case ERROR_CPSIO_NOT_ACTIVE: return (syserr_cpsio_not_active);
1061 case ERROR_CPSIO_PID_FULL: return (syserr_cpsio_pid_full);
1062 case ERROR_CPSIO_PID_NOT_FOUND: return (syserr_cpsio_pid_not_found);
1063 case ERROR_CPSIO_READ_CTL_SEQ: return (syserr_cpsio_read_ctl_seq);
1064 case ERROR_CPSIO_READ_FNT_DEF: return (syserr_cpsio_read_fnt_def);
1065 case ERROR_CPSIO_WRITE_ERROR: return (syserr_cpsio_write_error);
1066 case ERROR_CPSIO_WRITE_FULL_ERROR: return (syserr_cpsio_write_full_error);
1067 case ERROR_CPSIO_WRITE_HANDLE_BAD: return (syserr_cpsio_write_handle_bad);
1068 case ERROR_CPSIO_SWIT_LOAD: return (syserr_cpsio_swit_load);
1069 case ERROR_CPSIO_INV_COMMAND: return (syserr_cpsio_inv_command);
1070 case ERROR_CPSIO_NO_FONT_SWIT: return (syserr_cpsio_no_font_swit);
1071 case ERROR_ENTRY_IS_CALLGATE: return (syserr_entry_is_callgate);
1072
1073 #ifndef DISABLE_SOCKET_SUPPORT
1074 case SOCEPERM: return (syserr_socket_perm);
1075 case SOCESRCH: return (syserr_socket_srch);
1076 case SOCEINTR: return (syserr_socket_intr);
1077 case SOCENXIO: return (syserr_socket_nxio);
1078 case SOCEBADF: return (syserr_socket_badf);
1079 case SOCEACCES: return (syserr_socket_acces);
1080 case SOCEFAULT: return (syserr_socket_fault);
1081 case SOCEINVAL: return (syserr_socket_inval);
1082 case SOCEMFILE: return (syserr_socket_mfile);
1083 case SOCEPIPE: return (syserr_socket_pipe);
1084 case SOCEOS2ERR: return (syserr_socket_os2err);
1085 case SOCEWOULDBLOCK: return (syserr_socket_wouldblock);
1086 case SOCEINPROGRESS: return (syserr_socket_inprogress);
1087 case SOCEALREADY: return (syserr_socket_already);
1088 case SOCENOTSOCK: return (syserr_socket_notsock);
1089 case SOCEDESTADDRREQ: return (syserr_socket_destaddrreq);
1090 case SOCEMSGSIZE: return (syserr_socket_msgsize);
1091 case SOCEPROTOTYPE: return (syserr_socket_prototype);
1092 case SOCENOPROTOOPT: return (syserr_socket_noprotoopt);
1093 case SOCEPROTONOSUPPORT: return (syserr_socket_protonosupport);
1094 case SOCESOCKTNOSUPPORT: return (syserr_socket_socktnosupport);
1095 case SOCEOPNOTSUPP: return (syserr_socket_opnotsupp);
1096 case SOCEPFNOSUPPORT: return (syserr_socket_pfnosupport);
1097 case SOCEAFNOSUPPORT: return (syserr_socket_afnosupport);
1098 case SOCEADDRINUSE: return (syserr_socket_addrinuse);
1099 case SOCEADDRNOTAVAIL: return (syserr_socket_addrnotavail);
1100 case SOCENETDOWN: return (syserr_socket_netdown);
1101 case SOCENETUNREACH: return (syserr_socket_netunreach);
1102 case SOCENETRESET: return (syserr_socket_netreset);
1103 case SOCECONNABORTED: return (syserr_socket_connaborted);
1104 case SOCECONNRESET: return (syserr_socket_connreset);
1105 case SOCENOBUFS: return (syserr_socket_nobufs);
1106 case SOCEISCONN: return (syserr_socket_isconn);
1107 case SOCENOTCONN: return (syserr_socket_notconn);
1108 case SOCESHUTDOWN: return (syserr_socket_shutdown);
1109 case SOCETOOMANYREFS: return (syserr_socket_toomanyrefs);
1110 case SOCETIMEDOUT: return (syserr_socket_timedout);
1111 case SOCECONNREFUSED: return (syserr_socket_connrefused);
1112 case SOCELOOP: return (syserr_socket_loop);
1113 case SOCENAMETOOLONG: return (syserr_socket_nametoolong);
1114 case SOCEHOSTDOWN: return (syserr_socket_hostdown);
1115 case SOCEHOSTUNREACH: return (syserr_socket_hostunreach);
1116 case SOCENOTEMPTY: return (syserr_socket_notempty);
1117 #endif /* not DISABLE_SOCKET_SUPPORT */
1118
1119 default: return (syserr_unknown);
1120 }
1121 }
1122
1123 /* Machine-generated procedure, do not edit: */
1124 static APIRET
syserr_to_error_code(enum syserr_names syserr)1125 syserr_to_error_code (enum syserr_names syserr)
1126 {
1127 switch (syserr)
1128 {
1129 case syserr_invalid_function: return (ERROR_INVALID_FUNCTION);
1130 case syserr_file_not_found: return (ERROR_FILE_NOT_FOUND);
1131 case syserr_path_not_found: return (ERROR_PATH_NOT_FOUND);
1132 case syserr_too_many_open_files: return (ERROR_TOO_MANY_OPEN_FILES);
1133 case syserr_access_denied: return (ERROR_ACCESS_DENIED);
1134 case syserr_invalid_handle: return (ERROR_INVALID_HANDLE);
1135 case syserr_arena_trashed: return (ERROR_ARENA_TRASHED);
1136 case syserr_not_enough_memory: return (ERROR_NOT_ENOUGH_MEMORY);
1137 case syserr_invalid_block: return (ERROR_INVALID_BLOCK);
1138 case syserr_bad_environment: return (ERROR_BAD_ENVIRONMENT);
1139 case syserr_bad_format: return (ERROR_BAD_FORMAT);
1140 case syserr_invalid_access: return (ERROR_INVALID_ACCESS);
1141 case syserr_invalid_data: return (ERROR_INVALID_DATA);
1142 case syserr_invalid_drive: return (ERROR_INVALID_DRIVE);
1143 case syserr_current_directory: return (ERROR_CURRENT_DIRECTORY);
1144 case syserr_not_same_device: return (ERROR_NOT_SAME_DEVICE);
1145 case syserr_no_more_files: return (ERROR_NO_MORE_FILES);
1146 case syserr_write_protect: return (ERROR_WRITE_PROTECT);
1147 case syserr_bad_unit: return (ERROR_BAD_UNIT);
1148 case syserr_not_ready: return (ERROR_NOT_READY);
1149 case syserr_bad_command: return (ERROR_BAD_COMMAND);
1150 case syserr_crc: return (ERROR_CRC);
1151 case syserr_bad_length: return (ERROR_BAD_LENGTH);
1152 case syserr_seek: return (ERROR_SEEK);
1153 case syserr_not_dos_disk: return (ERROR_NOT_DOS_DISK);
1154 case syserr_sector_not_found: return (ERROR_SECTOR_NOT_FOUND);
1155 case syserr_out_of_paper: return (ERROR_OUT_OF_PAPER);
1156 case syserr_write_fault: return (ERROR_WRITE_FAULT);
1157 case syserr_read_fault: return (ERROR_READ_FAULT);
1158 case syserr_gen_failure: return (ERROR_GEN_FAILURE);
1159 case syserr_sharing_violation: return (ERROR_SHARING_VIOLATION);
1160 case syserr_lock_violation: return (ERROR_LOCK_VIOLATION);
1161 case syserr_wrong_disk: return (ERROR_WRONG_DISK);
1162 case syserr_fcb_unavailable: return (ERROR_FCB_UNAVAILABLE);
1163 case syserr_sharing_buffer_exceeded: return (ERROR_SHARING_BUFFER_EXCEEDED);
1164 case syserr_code_page_mismatched: return (ERROR_CODE_PAGE_MISMATCHED);
1165 case syserr_handle_eof: return (ERROR_HANDLE_EOF);
1166 case syserr_handle_disk_full: return (ERROR_HANDLE_DISK_FULL);
1167 case syserr_not_supported: return (ERROR_NOT_SUPPORTED);
1168 case syserr_rem_not_list: return (ERROR_REM_NOT_LIST);
1169 case syserr_dup_name: return (ERROR_DUP_NAME);
1170 case syserr_bad_netpath: return (ERROR_BAD_NETPATH);
1171 case syserr_network_busy: return (ERROR_NETWORK_BUSY);
1172 case syserr_dev_not_exist: return (ERROR_DEV_NOT_EXIST);
1173 case syserr_too_many_cmds: return (ERROR_TOO_MANY_CMDS);
1174 case syserr_adap_hdw_err: return (ERROR_ADAP_HDW_ERR);
1175 case syserr_bad_net_resp: return (ERROR_BAD_NET_RESP);
1176 case syserr_unexp_net_err: return (ERROR_UNEXP_NET_ERR);
1177 case syserr_bad_rem_adap: return (ERROR_BAD_REM_ADAP);
1178 case syserr_printq_full: return (ERROR_PRINTQ_FULL);
1179 case syserr_no_spool_space: return (ERROR_NO_SPOOL_SPACE);
1180 case syserr_print_cancelled: return (ERROR_PRINT_CANCELLED);
1181 case syserr_netname_deleted: return (ERROR_NETNAME_DELETED);
1182 case syserr_network_access_denied: return (ERROR_NETWORK_ACCESS_DENIED);
1183 case syserr_bad_dev_type: return (ERROR_BAD_DEV_TYPE);
1184 case syserr_bad_net_name: return (ERROR_BAD_NET_NAME);
1185 case syserr_too_many_names: return (ERROR_TOO_MANY_NAMES);
1186 case syserr_too_many_sess: return (ERROR_TOO_MANY_SESS);
1187 case syserr_sharing_paused: return (ERROR_SHARING_PAUSED);
1188 case syserr_req_not_accep: return (ERROR_REQ_NOT_ACCEP);
1189 case syserr_redir_paused: return (ERROR_REDIR_PAUSED);
1190 case syserr_sbcs_att_write_prot: return (ERROR_SBCS_ATT_WRITE_PROT);
1191 case syserr_sbcs_general_failure: return (ERROR_SBCS_GENERAL_FAILURE);
1192 case syserr_xga_out_memory: return (ERROR_XGA_OUT_MEMORY);
1193 case syserr_file_exists: return (ERROR_FILE_EXISTS);
1194 case syserr_dup_fcb: return (ERROR_DUP_FCB);
1195 case syserr_cannot_make: return (ERROR_CANNOT_MAKE);
1196 case syserr_fail_i24: return (ERROR_FAIL_I24);
1197 case syserr_out_of_structures: return (ERROR_OUT_OF_STRUCTURES);
1198 case syserr_already_assigned: return (ERROR_ALREADY_ASSIGNED);
1199 case syserr_invalid_password: return (ERROR_INVALID_PASSWORD);
1200 case syserr_invalid_parameter: return (ERROR_INVALID_PARAMETER);
1201 case syserr_net_write_fault: return (ERROR_NET_WRITE_FAULT);
1202 case syserr_no_proc_slots: return (ERROR_NO_PROC_SLOTS);
1203 case syserr_not_frozen: return (ERROR_NOT_FROZEN);
1204 case syserr_tstovfl: return (ERR_TSTOVFL);
1205 case syserr_tstdup: return (ERR_TSTDUP);
1206 case syserr_no_items: return (ERROR_NO_ITEMS);
1207 case syserr_interrupt: return (ERROR_INTERRUPT);
1208 case syserr_device_in_use: return (ERROR_DEVICE_IN_USE);
1209 case syserr_too_many_semaphores: return (ERROR_TOO_MANY_SEMAPHORES);
1210 case syserr_excl_sem_already_owned: return (ERROR_EXCL_SEM_ALREADY_OWNED);
1211 case syserr_sem_is_set: return (ERROR_SEM_IS_SET);
1212 case syserr_too_many_sem_requests: return (ERROR_TOO_MANY_SEM_REQUESTS);
1213 case syserr_invalid_at_interrupt_time: return (ERROR_INVALID_AT_INTERRUPT_TIME);
1214 case syserr_sem_owner_died: return (ERROR_SEM_OWNER_DIED);
1215 case syserr_sem_user_limit: return (ERROR_SEM_USER_LIMIT);
1216 case syserr_disk_change: return (ERROR_DISK_CHANGE);
1217 case syserr_drive_locked: return (ERROR_DRIVE_LOCKED);
1218 case syserr_broken_pipe: return (ERROR_BROKEN_PIPE);
1219 case syserr_open_failed: return (ERROR_OPEN_FAILED);
1220 case syserr_buffer_overflow: return (ERROR_BUFFER_OVERFLOW);
1221 case syserr_disk_full: return (ERROR_DISK_FULL);
1222 case syserr_no_more_search_handles: return (ERROR_NO_MORE_SEARCH_HANDLES);
1223 case syserr_invalid_target_handle: return (ERROR_INVALID_TARGET_HANDLE);
1224 case syserr_protection_violation: return (ERROR_PROTECTION_VIOLATION);
1225 case syserr_viokbd_request: return (ERROR_VIOKBD_REQUEST);
1226 case syserr_invalid_category: return (ERROR_INVALID_CATEGORY);
1227 case syserr_invalid_verify_switch: return (ERROR_INVALID_VERIFY_SWITCH);
1228 case syserr_bad_driver_level: return (ERROR_BAD_DRIVER_LEVEL);
1229 case syserr_call_not_implemented: return (ERROR_CALL_NOT_IMPLEMENTED);
1230 case syserr_sem_timeout: return (ERROR_SEM_TIMEOUT);
1231 case syserr_insufficient_buffer: return (ERROR_INSUFFICIENT_BUFFER);
1232 case syserr_invalid_name: return (ERROR_INVALID_NAME);
1233 case syserr_invalid_level: return (ERROR_INVALID_LEVEL);
1234 case syserr_no_volume_label: return (ERROR_NO_VOLUME_LABEL);
1235 case syserr_mod_not_found: return (ERROR_MOD_NOT_FOUND);
1236 case syserr_proc_not_found: return (ERROR_PROC_NOT_FOUND);
1237 case syserr_wait_no_children: return (ERROR_WAIT_NO_CHILDREN);
1238 case syserr_child_not_complete: return (ERROR_CHILD_NOT_COMPLETE);
1239 case syserr_direct_access_handle: return (ERROR_DIRECT_ACCESS_HANDLE);
1240 case syserr_negative_seek: return (ERROR_NEGATIVE_SEEK);
1241 case syserr_seek_on_device: return (ERROR_SEEK_ON_DEVICE);
1242 case syserr_is_join_target: return (ERROR_IS_JOIN_TARGET);
1243 case syserr_is_joined: return (ERROR_IS_JOINED);
1244 case syserr_is_substed: return (ERROR_IS_SUBSTED);
1245 case syserr_not_joined: return (ERROR_NOT_JOINED);
1246 case syserr_not_substed: return (ERROR_NOT_SUBSTED);
1247 case syserr_join_to_join: return (ERROR_JOIN_TO_JOIN);
1248 case syserr_subst_to_subst: return (ERROR_SUBST_TO_SUBST);
1249 case syserr_join_to_subst: return (ERROR_JOIN_TO_SUBST);
1250 case syserr_subst_to_join: return (ERROR_SUBST_TO_JOIN);
1251 case syserr_busy_drive: return (ERROR_BUSY_DRIVE);
1252 case syserr_same_drive: return (ERROR_SAME_DRIVE);
1253 case syserr_dir_not_root: return (ERROR_DIR_NOT_ROOT);
1254 case syserr_dir_not_empty: return (ERROR_DIR_NOT_EMPTY);
1255 case syserr_is_subst_path: return (ERROR_IS_SUBST_PATH);
1256 case syserr_is_join_path: return (ERROR_IS_JOIN_PATH);
1257 case syserr_path_busy: return (ERROR_PATH_BUSY);
1258 case syserr_is_subst_target: return (ERROR_IS_SUBST_TARGET);
1259 case syserr_system_trace: return (ERROR_SYSTEM_TRACE);
1260 case syserr_invalid_event_count: return (ERROR_INVALID_EVENT_COUNT);
1261 case syserr_too_many_muxwaiters: return (ERROR_TOO_MANY_MUXWAITERS);
1262 case syserr_invalid_list_format: return (ERROR_INVALID_LIST_FORMAT);
1263 case syserr_label_too_long: return (ERROR_LABEL_TOO_LONG);
1264 case syserr_too_many_tcbs: return (ERROR_TOO_MANY_TCBS);
1265 case syserr_signal_refused: return (ERROR_SIGNAL_REFUSED);
1266 case syserr_discarded: return (ERROR_DISCARDED);
1267 case syserr_not_locked: return (ERROR_NOT_LOCKED);
1268 case syserr_bad_threadid_addr: return (ERROR_BAD_THREADID_ADDR);
1269 case syserr_bad_arguments: return (ERROR_BAD_ARGUMENTS);
1270 case syserr_bad_pathname: return (ERROR_BAD_PATHNAME);
1271 case syserr_signal_pending: return (ERROR_SIGNAL_PENDING);
1272 case syserr_uncertain_media: return (ERROR_UNCERTAIN_MEDIA);
1273 case syserr_max_thrds_reached: return (ERROR_MAX_THRDS_REACHED);
1274 case syserr_monitors_not_supported: return (ERROR_MONITORS_NOT_SUPPORTED);
1275 case syserr_unc_driver_not_installed: return (ERROR_UNC_DRIVER_NOT_INSTALLED);
1276 case syserr_lock_failed: return (ERROR_LOCK_FAILED);
1277 case syserr_swapio_failed: return (ERROR_SWAPIO_FAILED);
1278 case syserr_swapin_failed: return (ERROR_SWAPIN_FAILED);
1279 case syserr_busy: return (ERROR_BUSY);
1280 case syserr_cancel_violation: return (ERROR_CANCEL_VIOLATION);
1281 case syserr_atomic_lock_not_supported: return (ERROR_ATOMIC_LOCK_NOT_SUPPORTED);
1282 case syserr_read_locks_not_supported: return (ERROR_READ_LOCKS_NOT_SUPPORTED);
1283 case syserr_invalid_segment_number: return (ERROR_INVALID_SEGMENT_NUMBER);
1284 case syserr_invalid_callgate: return (ERROR_INVALID_CALLGATE);
1285 case syserr_invalid_ordinal: return (ERROR_INVALID_ORDINAL);
1286 case syserr_already_exists: return (ERROR_ALREADY_EXISTS);
1287 case syserr_no_child_process: return (ERROR_NO_CHILD_PROCESS);
1288 case syserr_child_alive_nowait: return (ERROR_CHILD_ALIVE_NOWAIT);
1289 case syserr_invalid_flag_number: return (ERROR_INVALID_FLAG_NUMBER);
1290 case syserr_sem_not_found: return (ERROR_SEM_NOT_FOUND);
1291 case syserr_invalid_starting_codeseg: return (ERROR_INVALID_STARTING_CODESEG);
1292 case syserr_invalid_stackseg: return (ERROR_INVALID_STACKSEG);
1293 case syserr_invalid_moduletype: return (ERROR_INVALID_MODULETYPE);
1294 case syserr_invalid_exe_signature: return (ERROR_INVALID_EXE_SIGNATURE);
1295 case syserr_exe_marked_invalid: return (ERROR_EXE_MARKED_INVALID);
1296 case syserr_bad_exe_format: return (ERROR_BAD_EXE_FORMAT);
1297 #ifdef ERROR_ITERATED_DATA_EXCEEDS_64k
1298 case syserr_iterated_data_exceeds_64k: return (ERROR_ITERATED_DATA_EXCEEDS_64k);
1299 #endif
1300 case syserr_invalid_minallocsize: return (ERROR_INVALID_MINALLOCSIZE);
1301 case syserr_dynlink_from_invalid_ring: return (ERROR_DYNLINK_FROM_INVALID_RING);
1302 case syserr_iopl_not_enabled: return (ERROR_IOPL_NOT_ENABLED);
1303 case syserr_invalid_segdpl: return (ERROR_INVALID_SEGDPL);
1304 #ifdef ERROR_AUTODATASEG_EXCEEDS_64k
1305 case syserr_autodataseg_exceeds_64k: return (ERROR_AUTODATASEG_EXCEEDS_64k);
1306 #endif
1307 case syserr_ring2seg_must_be_movable: return (ERROR_RING2SEG_MUST_BE_MOVABLE);
1308 #ifdef ERROR_RELOC_CHAIN_XEEDS_SEGLIM
1309 case syserr_reloc_chain_xeeds_seglim: return (ERROR_RELOC_CHAIN_XEEDS_SEGLIM);
1310 #endif
1311 case syserr_infloop_in_reloc_chain: return (ERROR_INFLOOP_IN_RELOC_CHAIN);
1312 case syserr_envvar_not_found: return (ERROR_ENVVAR_NOT_FOUND);
1313 case syserr_not_current_ctry: return (ERROR_NOT_CURRENT_CTRY);
1314 case syserr_no_signal_sent: return (ERROR_NO_SIGNAL_SENT);
1315 case syserr_filename_exced_range: return (ERROR_FILENAME_EXCED_RANGE);
1316 case syserr_ring2_stack_in_use: return (ERROR_RING2_STACK_IN_USE);
1317 case syserr_meta_expansion_too_long: return (ERROR_META_EXPANSION_TOO_LONG);
1318 case syserr_invalid_signal_number: return (ERROR_INVALID_SIGNAL_NUMBER);
1319 case syserr_thread_1_inactive: return (ERROR_THREAD_1_INACTIVE);
1320 case syserr_info_not_avail: return (ERROR_INFO_NOT_AVAIL);
1321 case syserr_locked: return (ERROR_LOCKED);
1322 case syserr_bad_dynalink: return (ERROR_BAD_DYNALINK);
1323 case syserr_too_many_modules: return (ERROR_TOO_MANY_MODULES);
1324 case syserr_nesting_not_allowed: return (ERROR_NESTING_NOT_ALLOWED);
1325 case syserr_cannot_shrink: return (ERROR_CANNOT_SHRINK);
1326 case syserr_zombie_process: return (ERROR_ZOMBIE_PROCESS);
1327 case syserr_stack_in_high_memory: return (ERROR_STACK_IN_HIGH_MEMORY);
1328 case syserr_invalid_exitroutine_ring: return (ERROR_INVALID_EXITROUTINE_RING);
1329 case syserr_getbuf_failed: return (ERROR_GETBUF_FAILED);
1330 case syserr_flushbuf_failed: return (ERROR_FLUSHBUF_FAILED);
1331 case syserr_transfer_too_long: return (ERROR_TRANSFER_TOO_LONG);
1332 case syserr_forcenoswap_failed: return (ERROR_FORCENOSWAP_FAILED);
1333 case syserr_smg_no_target_window: return (ERROR_SMG_NO_TARGET_WINDOW);
1334 case syserr_no_children: return (ERROR_NO_CHILDREN);
1335 case syserr_invalid_screen_group: return (ERROR_INVALID_SCREEN_GROUP);
1336 case syserr_bad_pipe: return (ERROR_BAD_PIPE);
1337 case syserr_pipe_busy: return (ERROR_PIPE_BUSY);
1338 case syserr_no_data: return (ERROR_NO_DATA);
1339 case syserr_pipe_not_connected: return (ERROR_PIPE_NOT_CONNECTED);
1340 case syserr_more_data: return (ERROR_MORE_DATA);
1341 case syserr_vc_disconnected: return (ERROR_VC_DISCONNECTED);
1342 case syserr_circularity_requested: return (ERROR_CIRCULARITY_REQUESTED);
1343 case syserr_directory_in_cds: return (ERROR_DIRECTORY_IN_CDS);
1344 case syserr_invalid_fsd_name: return (ERROR_INVALID_FSD_NAME);
1345 case syserr_invalid_path: return (ERROR_INVALID_PATH);
1346 case syserr_invalid_ea_name: return (ERROR_INVALID_EA_NAME);
1347 case syserr_ea_list_inconsistent: return (ERROR_EA_LIST_INCONSISTENT);
1348 case syserr_ea_list_too_long: return (ERROR_EA_LIST_TOO_LONG);
1349 case syserr_no_meta_match: return (ERROR_NO_META_MATCH);
1350 case syserr_findnotify_timeout: return (ERROR_FINDNOTIFY_TIMEOUT);
1351 case syserr_no_more_items: return (ERROR_NO_MORE_ITEMS);
1352 case syserr_search_struc_reused: return (ERROR_SEARCH_STRUC_REUSED);
1353 case syserr_char_not_found: return (ERROR_CHAR_NOT_FOUND);
1354 case syserr_too_much_stack: return (ERROR_TOO_MUCH_STACK);
1355 case syserr_invalid_attr: return (ERROR_INVALID_ATTR);
1356 case syserr_invalid_starting_ring: return (ERROR_INVALID_STARTING_RING);
1357 case syserr_invalid_dll_init_ring: return (ERROR_INVALID_DLL_INIT_RING);
1358 case syserr_cannot_copy: return (ERROR_CANNOT_COPY);
1359 case syserr_directory: return (ERROR_DIRECTORY);
1360 case syserr_oplocked_file: return (ERROR_OPLOCKED_FILE);
1361 case syserr_oplock_thread_exists: return (ERROR_OPLOCK_THREAD_EXISTS);
1362 case syserr_volume_changed: return (ERROR_VOLUME_CHANGED);
1363 case syserr_findnotify_handle_in_use: return (ERROR_FINDNOTIFY_HANDLE_IN_USE);
1364 case syserr_findnotify_handle_closed: return (ERROR_FINDNOTIFY_HANDLE_CLOSED);
1365 case syserr_notify_object_removed: return (ERROR_NOTIFY_OBJECT_REMOVED);
1366 case syserr_already_shutdown: return (ERROR_ALREADY_SHUTDOWN);
1367 case syserr_eas_didnt_fit: return (ERROR_EAS_DIDNT_FIT);
1368 case syserr_ea_file_corrupt: return (ERROR_EA_FILE_CORRUPT);
1369 case syserr_ea_table_full: return (ERROR_EA_TABLE_FULL);
1370 case syserr_invalid_ea_handle: return (ERROR_INVALID_EA_HANDLE);
1371 case syserr_no_cluster: return (ERROR_NO_CLUSTER);
1372 case syserr_create_ea_file: return (ERROR_CREATE_EA_FILE);
1373 case syserr_cannot_open_ea_file: return (ERROR_CANNOT_OPEN_EA_FILE);
1374 case syserr_eas_not_supported: return (ERROR_EAS_NOT_SUPPORTED);
1375 case syserr_need_eas_found: return (ERROR_NEED_EAS_FOUND);
1376 case syserr_duplicate_handle: return (ERROR_DUPLICATE_HANDLE);
1377 case syserr_duplicate_name: return (ERROR_DUPLICATE_NAME);
1378 case syserr_empty_muxwait: return (ERROR_EMPTY_MUXWAIT);
1379 case syserr_mutex_owned: return (ERROR_MUTEX_OWNED);
1380 case syserr_not_owner: return (ERROR_NOT_OWNER);
1381 case syserr_param_too_small: return (ERROR_PARAM_TOO_SMALL);
1382 case syserr_too_many_handles: return (ERROR_TOO_MANY_HANDLES);
1383 case syserr_too_many_opens: return (ERROR_TOO_MANY_OPENS);
1384 case syserr_wrong_type: return (ERROR_WRONG_TYPE);
1385 case syserr_unused_code: return (ERROR_UNUSED_CODE);
1386 case syserr_thread_not_terminated: return (ERROR_THREAD_NOT_TERMINATED);
1387 case syserr_init_routine_failed: return (ERROR_INIT_ROUTINE_FAILED);
1388 case syserr_module_in_use: return (ERROR_MODULE_IN_USE);
1389 case syserr_not_enough_watchpoints: return (ERROR_NOT_ENOUGH_WATCHPOINTS);
1390 case syserr_too_many_posts: return (ERROR_TOO_MANY_POSTS);
1391 case syserr_already_posted: return (ERROR_ALREADY_POSTED);
1392 case syserr_already_reset: return (ERROR_ALREADY_RESET);
1393 case syserr_sem_busy: return (ERROR_SEM_BUSY);
1394 case syserr_invalid_procid: return (ERROR_INVALID_PROCID);
1395 case syserr_invalid_pdelta: return (ERROR_INVALID_PDELTA);
1396 case syserr_not_descendant: return (ERROR_NOT_DESCENDANT);
1397 case syserr_not_session_manager: return (ERROR_NOT_SESSION_MANAGER);
1398 case syserr_invalid_pclass: return (ERROR_INVALID_PCLASS);
1399 case syserr_invalid_scope: return (ERROR_INVALID_SCOPE);
1400 case syserr_invalid_threadid: return (ERROR_INVALID_THREADID);
1401 case syserr_dossub_shrink: return (ERROR_DOSSUB_SHRINK);
1402 case syserr_dossub_nomem: return (ERROR_DOSSUB_NOMEM);
1403 case syserr_dossub_overlap: return (ERROR_DOSSUB_OVERLAP);
1404 case syserr_dossub_badsize: return (ERROR_DOSSUB_BADSIZE);
1405 case syserr_dossub_badflag: return (ERROR_DOSSUB_BADFLAG);
1406 case syserr_dossub_badselector: return (ERROR_DOSSUB_BADSELECTOR);
1407 case syserr_mr_msg_too_long: return (ERROR_MR_MSG_TOO_LONG);
1408 case syserr_mr_mid_not_found: return (ERROR_MR_MID_NOT_FOUND);
1409 case syserr_mr_un_acc_msgf: return (ERROR_MR_UN_ACC_MSGF);
1410 case syserr_mr_inv_msgf_format: return (ERROR_MR_INV_MSGF_FORMAT);
1411 case syserr_mr_inv_ivcount: return (ERROR_MR_INV_IVCOUNT);
1412 case syserr_mr_un_perform: return (ERROR_MR_UN_PERFORM);
1413 case syserr_ts_wakeup: return (ERROR_TS_WAKEUP);
1414 case syserr_ts_semhandle: return (ERROR_TS_SEMHANDLE);
1415 case syserr_ts_notimer: return (ERROR_TS_NOTIMER);
1416 case syserr_ts_handle: return (ERROR_TS_HANDLE);
1417 case syserr_ts_datetime: return (ERROR_TS_DATETIME);
1418 case syserr_sys_internal: return (ERROR_SYS_INTERNAL);
1419 case syserr_que_current_name: return (ERROR_QUE_CURRENT_NAME);
1420 case syserr_que_proc_not_owned: return (ERROR_QUE_PROC_NOT_OWNED);
1421 case syserr_que_proc_owned: return (ERROR_QUE_PROC_OWNED);
1422 case syserr_que_duplicate: return (ERROR_QUE_DUPLICATE);
1423 case syserr_que_element_not_exist: return (ERROR_QUE_ELEMENT_NOT_EXIST);
1424 case syserr_que_no_memory: return (ERROR_QUE_NO_MEMORY);
1425 case syserr_que_invalid_name: return (ERROR_QUE_INVALID_NAME);
1426 case syserr_que_invalid_priority: return (ERROR_QUE_INVALID_PRIORITY);
1427 case syserr_que_invalid_handle: return (ERROR_QUE_INVALID_HANDLE);
1428 case syserr_que_link_not_found: return (ERROR_QUE_LINK_NOT_FOUND);
1429 case syserr_que_memory_error: return (ERROR_QUE_MEMORY_ERROR);
1430 case syserr_que_prev_at_end: return (ERROR_QUE_PREV_AT_END);
1431 case syserr_que_proc_no_access: return (ERROR_QUE_PROC_NO_ACCESS);
1432 case syserr_que_empty: return (ERROR_QUE_EMPTY);
1433 case syserr_que_name_not_exist: return (ERROR_QUE_NAME_NOT_EXIST);
1434 case syserr_que_not_initialized: return (ERROR_QUE_NOT_INITIALIZED);
1435 case syserr_que_unable_to_access: return (ERROR_QUE_UNABLE_TO_ACCESS);
1436 case syserr_que_unable_to_add: return (ERROR_QUE_UNABLE_TO_ADD);
1437 case syserr_que_unable_to_init: return (ERROR_QUE_UNABLE_TO_INIT);
1438 case syserr_vio_invalid_mask: return (ERROR_VIO_INVALID_MASK);
1439 case syserr_vio_ptr: return (ERROR_VIO_PTR);
1440 case syserr_vio_aptr: return (ERROR_VIO_APTR);
1441 case syserr_vio_rptr: return (ERROR_VIO_RPTR);
1442 case syserr_vio_cptr: return (ERROR_VIO_CPTR);
1443 case syserr_vio_lptr: return (ERROR_VIO_LPTR);
1444 case syserr_vio_mode: return (ERROR_VIO_MODE);
1445 case syserr_vio_width: return (ERROR_VIO_WIDTH);
1446 case syserr_vio_attr: return (ERROR_VIO_ATTR);
1447 case syserr_vio_row: return (ERROR_VIO_ROW);
1448 case syserr_vio_col: return (ERROR_VIO_COL);
1449 case syserr_vio_toprow: return (ERROR_VIO_TOPROW);
1450 case syserr_vio_botrow: return (ERROR_VIO_BOTROW);
1451 case syserr_vio_rightcol: return (ERROR_VIO_RIGHTCOL);
1452 case syserr_vio_leftcol: return (ERROR_VIO_LEFTCOL);
1453 case syserr_scs_call: return (ERROR_SCS_CALL);
1454 case syserr_scs_value: return (ERROR_SCS_VALUE);
1455 case syserr_vio_wait_flag: return (ERROR_VIO_WAIT_FLAG);
1456 case syserr_vio_unlock: return (ERROR_VIO_UNLOCK);
1457 case syserr_sgs_not_session_mgr: return (ERROR_SGS_NOT_SESSION_MGR);
1458 case syserr_smg_invalid_session_id: return (ERROR_SMG_INVALID_SESSION_ID);
1459 case syserr_smg_no_sessions: return (ERROR_SMG_NO_SESSIONS);
1460 case syserr_smg_session_not_found: return (ERROR_SMG_SESSION_NOT_FOUND);
1461 case syserr_smg_set_title: return (ERROR_SMG_SET_TITLE);
1462 case syserr_kbd_parameter: return (ERROR_KBD_PARAMETER);
1463 case syserr_kbd_no_device: return (ERROR_KBD_NO_DEVICE);
1464 case syserr_kbd_invalid_iowait: return (ERROR_KBD_INVALID_IOWAIT);
1465 case syserr_kbd_invalid_length: return (ERROR_KBD_INVALID_LENGTH);
1466 case syserr_kbd_invalid_echo_mask: return (ERROR_KBD_INVALID_ECHO_MASK);
1467 case syserr_kbd_invalid_input_mask: return (ERROR_KBD_INVALID_INPUT_MASK);
1468 case syserr_mon_invalid_parms: return (ERROR_MON_INVALID_PARMS);
1469 case syserr_mon_invalid_devname: return (ERROR_MON_INVALID_DEVNAME);
1470 case syserr_mon_invalid_handle: return (ERROR_MON_INVALID_HANDLE);
1471 case syserr_mon_buffer_too_small: return (ERROR_MON_BUFFER_TOO_SMALL);
1472 case syserr_mon_buffer_empty: return (ERROR_MON_BUFFER_EMPTY);
1473 case syserr_mon_data_too_large: return (ERROR_MON_DATA_TOO_LARGE);
1474 case syserr_mouse_no_device: return (ERROR_MOUSE_NO_DEVICE);
1475 case syserr_mouse_inv_handle: return (ERROR_MOUSE_INV_HANDLE);
1476 case syserr_mouse_inv_parms: return (ERROR_MOUSE_INV_PARMS);
1477 case syserr_mouse_cant_reset: return (ERROR_MOUSE_CANT_RESET);
1478 case syserr_mouse_display_parms: return (ERROR_MOUSE_DISPLAY_PARMS);
1479 case syserr_mouse_inv_module: return (ERROR_MOUSE_INV_MODULE);
1480 case syserr_mouse_inv_entry_pt: return (ERROR_MOUSE_INV_ENTRY_PT);
1481 case syserr_mouse_inv_mask: return (ERROR_MOUSE_INV_MASK);
1482 case syserr_mouse_no_data: return (NO_ERROR_MOUSE_NO_DATA);
1483 case syserr_mouse_ptr_drawn: return (NO_ERROR_MOUSE_PTR_DRAWN);
1484 case syserr_invalid_frequency: return (ERROR_INVALID_FREQUENCY);
1485 case syserr_nls_no_country_file: return (ERROR_NLS_NO_COUNTRY_FILE);
1486 case syserr_nls_open_failed: return (ERROR_NLS_OPEN_FAILED);
1487 #ifdef ERROR_NO_COUNTRY_OR_CODEPAGE
1488 case syserr_no_country_or_codepage: return (ERROR_NO_COUNTRY_OR_CODEPAGE);
1489 #endif
1490 case syserr_nls_table_truncated: return (ERROR_NLS_TABLE_TRUNCATED);
1491 case syserr_nls_bad_type: return (ERROR_NLS_BAD_TYPE);
1492 case syserr_nls_type_not_found: return (ERROR_NLS_TYPE_NOT_FOUND);
1493 case syserr_vio_smg_only: return (ERROR_VIO_SMG_ONLY);
1494 case syserr_vio_invalid_asciiz: return (ERROR_VIO_INVALID_ASCIIZ);
1495 case syserr_vio_deregister: return (ERROR_VIO_DEREGISTER);
1496 case syserr_vio_no_popup: return (ERROR_VIO_NO_POPUP);
1497 case syserr_vio_existing_popup: return (ERROR_VIO_EXISTING_POPUP);
1498 case syserr_kbd_smg_only: return (ERROR_KBD_SMG_ONLY);
1499 case syserr_kbd_invalid_asciiz: return (ERROR_KBD_INVALID_ASCIIZ);
1500 case syserr_kbd_invalid_mask: return (ERROR_KBD_INVALID_MASK);
1501 case syserr_kbd_register: return (ERROR_KBD_REGISTER);
1502 case syserr_kbd_deregister: return (ERROR_KBD_DEREGISTER);
1503 case syserr_mouse_smg_only: return (ERROR_MOUSE_SMG_ONLY);
1504 case syserr_mouse_invalid_asciiz: return (ERROR_MOUSE_INVALID_ASCIIZ);
1505 case syserr_mouse_invalid_mask: return (ERROR_MOUSE_INVALID_MASK);
1506 case syserr_mouse_register: return (ERROR_MOUSE_REGISTER);
1507 case syserr_mouse_deregister: return (ERROR_MOUSE_DEREGISTER);
1508 case syserr_smg_bad_action: return (ERROR_SMG_BAD_ACTION);
1509 case syserr_smg_invalid_call: return (ERROR_SMG_INVALID_CALL);
1510 case syserr_scs_sg_notfound: return (ERROR_SCS_SG_NOTFOUND);
1511 case syserr_scs_not_shell: return (ERROR_SCS_NOT_SHELL);
1512 case syserr_vio_invalid_parms: return (ERROR_VIO_INVALID_PARMS);
1513 case syserr_vio_function_owned: return (ERROR_VIO_FUNCTION_OWNED);
1514 case syserr_vio_return: return (ERROR_VIO_RETURN);
1515 case syserr_scs_invalid_function: return (ERROR_SCS_INVALID_FUNCTION);
1516 case syserr_scs_not_session_mgr: return (ERROR_SCS_NOT_SESSION_MGR);
1517 case syserr_vio_register: return (ERROR_VIO_REGISTER);
1518 case syserr_vio_no_mode_thread: return (ERROR_VIO_NO_MODE_THREAD);
1519 case syserr_vio_no_save_restore_thd: return (ERROR_VIO_NO_SAVE_RESTORE_THD);
1520 case syserr_vio_in_bg: return (ERROR_VIO_IN_BG);
1521 case syserr_vio_illegal_during_popup: return (ERROR_VIO_ILLEGAL_DURING_POPUP);
1522 case syserr_smg_not_baseshell: return (ERROR_SMG_NOT_BASESHELL);
1523 case syserr_smg_bad_statusreq: return (ERROR_SMG_BAD_STATUSREQ);
1524 case syserr_que_invalid_wait: return (ERROR_QUE_INVALID_WAIT);
1525 case syserr_vio_lock: return (ERROR_VIO_LOCK);
1526 case syserr_mouse_invalid_iowait: return (ERROR_MOUSE_INVALID_IOWAIT);
1527 case syserr_vio_invalid_handle: return (ERROR_VIO_INVALID_HANDLE);
1528 case syserr_vio_illegal_during_lock: return (ERROR_VIO_ILLEGAL_DURING_LOCK);
1529 case syserr_vio_invalid_length: return (ERROR_VIO_INVALID_LENGTH);
1530 case syserr_kbd_invalid_handle: return (ERROR_KBD_INVALID_HANDLE);
1531 case syserr_kbd_no_more_handle: return (ERROR_KBD_NO_MORE_HANDLE);
1532 case syserr_kbd_cannot_create_kcb: return (ERROR_KBD_CANNOT_CREATE_KCB);
1533 case syserr_kbd_codepage_load_incompl: return (ERROR_KBD_CODEPAGE_LOAD_INCOMPL);
1534 case syserr_kbd_invalid_codepage_id: return (ERROR_KBD_INVALID_CODEPAGE_ID);
1535 case syserr_kbd_no_codepage_support: return (ERROR_KBD_NO_CODEPAGE_SUPPORT);
1536 case syserr_kbd_focus_required: return (ERROR_KBD_FOCUS_REQUIRED);
1537 case syserr_kbd_focus_already_active: return (ERROR_KBD_FOCUS_ALREADY_ACTIVE);
1538 case syserr_kbd_keyboard_busy: return (ERROR_KBD_KEYBOARD_BUSY);
1539 case syserr_kbd_invalid_codepage: return (ERROR_KBD_INVALID_CODEPAGE);
1540 case syserr_kbd_unable_to_focus: return (ERROR_KBD_UNABLE_TO_FOCUS);
1541 case syserr_smg_session_non_select: return (ERROR_SMG_SESSION_NON_SELECT);
1542 case syserr_smg_session_not_foregrnd: return (ERROR_SMG_SESSION_NOT_FOREGRND);
1543 case syserr_smg_session_not_parent: return (ERROR_SMG_SESSION_NOT_PARENT);
1544 case syserr_smg_invalid_start_mode: return (ERROR_SMG_INVALID_START_MODE);
1545 case syserr_smg_invalid_related_opt: return (ERROR_SMG_INVALID_RELATED_OPT);
1546 case syserr_smg_invalid_bond_option: return (ERROR_SMG_INVALID_BOND_OPTION);
1547 case syserr_smg_invalid_select_opt: return (ERROR_SMG_INVALID_SELECT_OPT);
1548 case syserr_smg_start_in_background: return (ERROR_SMG_START_IN_BACKGROUND);
1549 case syserr_smg_invalid_stop_option: return (ERROR_SMG_INVALID_STOP_OPTION);
1550 case syserr_smg_bad_reserve: return (ERROR_SMG_BAD_RESERVE);
1551 case syserr_smg_process_not_parent: return (ERROR_SMG_PROCESS_NOT_PARENT);
1552 case syserr_smg_invalid_data_length: return (ERROR_SMG_INVALID_DATA_LENGTH);
1553 case syserr_smg_not_bound: return (ERROR_SMG_NOT_BOUND);
1554 case syserr_smg_retry_sub_alloc: return (ERROR_SMG_RETRY_SUB_ALLOC);
1555 case syserr_kbd_detached: return (ERROR_KBD_DETACHED);
1556 case syserr_vio_detached: return (ERROR_VIO_DETACHED);
1557 case syserr_mou_detached: return (ERROR_MOU_DETACHED);
1558 case syserr_vio_font: return (ERROR_VIO_FONT);
1559 case syserr_vio_user_font: return (ERROR_VIO_USER_FONT);
1560 case syserr_vio_bad_cp: return (ERROR_VIO_BAD_CP);
1561 case syserr_vio_no_cp: return (ERROR_VIO_NO_CP);
1562 case syserr_vio_na_cp: return (ERROR_VIO_NA_CP);
1563 case syserr_invalid_code_page: return (ERROR_INVALID_CODE_PAGE);
1564 case syserr_cplist_too_small: return (ERROR_CPLIST_TOO_SMALL);
1565 case syserr_cp_not_moved: return (ERROR_CP_NOT_MOVED);
1566 case syserr_mode_switch_init: return (ERROR_MODE_SWITCH_INIT);
1567 case syserr_code_page_not_found: return (ERROR_CODE_PAGE_NOT_FOUND);
1568 case syserr_unexpected_slot_returned: return (ERROR_UNEXPECTED_SLOT_RETURNED);
1569 case syserr_smg_invalid_trace_option: return (ERROR_SMG_INVALID_TRACE_OPTION);
1570 case syserr_vio_internal_resource: return (ERROR_VIO_INTERNAL_RESOURCE);
1571 case syserr_vio_shell_init: return (ERROR_VIO_SHELL_INIT);
1572 case syserr_smg_no_hard_errors: return (ERROR_SMG_NO_HARD_ERRORS);
1573 case syserr_cp_switch_incomplete: return (ERROR_CP_SWITCH_INCOMPLETE);
1574 case syserr_vio_transparent_popup: return (ERROR_VIO_TRANSPARENT_POPUP);
1575 case syserr_critsec_overflow: return (ERROR_CRITSEC_OVERFLOW);
1576 case syserr_critsec_underflow: return (ERROR_CRITSEC_UNDERFLOW);
1577 case syserr_vio_bad_reserve: return (ERROR_VIO_BAD_RESERVE);
1578 case syserr_invalid_address: return (ERROR_INVALID_ADDRESS);
1579 case syserr_zero_selectors_requested: return (ERROR_ZERO_SELECTORS_REQUESTED);
1580 case syserr_not_enough_selectors_ava: return (ERROR_NOT_ENOUGH_SELECTORS_AVA);
1581 case syserr_invalid_selector: return (ERROR_INVALID_SELECTOR);
1582 case syserr_smg_invalid_program_type: return (ERROR_SMG_INVALID_PROGRAM_TYPE);
1583 case syserr_smg_invalid_pgm_control: return (ERROR_SMG_INVALID_PGM_CONTROL);
1584 case syserr_smg_invalid_inherit_opt: return (ERROR_SMG_INVALID_INHERIT_OPT);
1585 case syserr_vio_extended_sg: return (ERROR_VIO_EXTENDED_SG);
1586 case syserr_vio_not_pres_mgr_sg: return (ERROR_VIO_NOT_PRES_MGR_SG);
1587 case syserr_vio_shield_owned: return (ERROR_VIO_SHIELD_OWNED);
1588 case syserr_vio_no_more_handles: return (ERROR_VIO_NO_MORE_HANDLES);
1589 case syserr_vio_see_error_log: return (ERROR_VIO_SEE_ERROR_LOG);
1590 case syserr_vio_associated_dc: return (ERROR_VIO_ASSOCIATED_DC);
1591 case syserr_kbd_no_console: return (ERROR_KBD_NO_CONSOLE);
1592 case syserr_mouse_no_console: return (ERROR_MOUSE_NO_CONSOLE);
1593 case syserr_mouse_invalid_handle: return (ERROR_MOUSE_INVALID_HANDLE);
1594 case syserr_smg_invalid_debug_parms: return (ERROR_SMG_INVALID_DEBUG_PARMS);
1595 case syserr_kbd_extended_sg: return (ERROR_KBD_EXTENDED_SG);
1596 case syserr_mou_extended_sg: return (ERROR_MOU_EXTENDED_SG);
1597 case syserr_smg_invalid_icon_file: return (ERROR_SMG_INVALID_ICON_FILE);
1598 case syserr_trc_pid_non_existent: return (ERROR_TRC_PID_NON_EXISTENT);
1599 case syserr_trc_count_active: return (ERROR_TRC_COUNT_ACTIVE);
1600 case syserr_trc_suspended_by_count: return (ERROR_TRC_SUSPENDED_BY_COUNT);
1601 case syserr_trc_count_inactive: return (ERROR_TRC_COUNT_INACTIVE);
1602 case syserr_trc_count_reached: return (ERROR_TRC_COUNT_REACHED);
1603 case syserr_no_mc_trace: return (ERROR_NO_MC_TRACE);
1604 case syserr_mc_trace: return (ERROR_MC_TRACE);
1605 case syserr_trc_count_zero: return (ERROR_TRC_COUNT_ZERO);
1606 case syserr_smg_too_many_dds: return (ERROR_SMG_TOO_MANY_DDS);
1607 case syserr_smg_invalid_notification: return (ERROR_SMG_INVALID_NOTIFICATION);
1608 case syserr_lf_invalid_function: return (ERROR_LF_INVALID_FUNCTION);
1609 case syserr_lf_not_avail: return (ERROR_LF_NOT_AVAIL);
1610 case syserr_lf_suspended: return (ERROR_LF_SUSPENDED);
1611 case syserr_lf_buf_too_small: return (ERROR_LF_BUF_TOO_SMALL);
1612 case syserr_lf_buffer_full: return (ERROR_LF_BUFFER_FULL);
1613 case syserr_lf_invalid_record: return (ERROR_LF_INVALID_RECORD);
1614 case syserr_lf_invalid_service: return (ERROR_LF_INVALID_SERVICE);
1615 case syserr_lf_general_failure: return (ERROR_LF_GENERAL_FAILURE);
1616 case syserr_lf_invalid_id: return (ERROR_LF_INVALID_ID);
1617 case syserr_lf_invalid_handle: return (ERROR_LF_INVALID_HANDLE);
1618 case syserr_lf_no_id_avail: return (ERROR_LF_NO_ID_AVAIL);
1619 case syserr_lf_template_area_full: return (ERROR_LF_TEMPLATE_AREA_FULL);
1620 case syserr_lf_id_in_use: return (ERROR_LF_ID_IN_USE);
1621 case syserr_mou_not_initialized: return (ERROR_MOU_NOT_INITIALIZED);
1622 case syserr_mouinitreal_done: return (ERROR_MOUINITREAL_DONE);
1623 case syserr_dossub_corrupted: return (ERROR_DOSSUB_CORRUPTED);
1624 case syserr_mouse_caller_not_subsys: return (ERROR_MOUSE_CALLER_NOT_SUBSYS);
1625 case syserr_arithmetic_overflow: return (ERROR_ARITHMETIC_OVERFLOW);
1626 case syserr_tmr_no_device: return (ERROR_TMR_NO_DEVICE);
1627 case syserr_tmr_invalid_time: return (ERROR_TMR_INVALID_TIME);
1628 case syserr_pvw_invalid_entity: return (ERROR_PVW_INVALID_ENTITY);
1629 case syserr_pvw_invalid_entity_type: return (ERROR_PVW_INVALID_ENTITY_TYPE);
1630 case syserr_pvw_invalid_spec: return (ERROR_PVW_INVALID_SPEC);
1631 case syserr_pvw_invalid_range_type: return (ERROR_PVW_INVALID_RANGE_TYPE);
1632 case syserr_pvw_invalid_counter_blk: return (ERROR_PVW_INVALID_COUNTER_BLK);
1633 case syserr_pvw_invalid_text_blk: return (ERROR_PVW_INVALID_TEXT_BLK);
1634 case syserr_prf_not_initialized: return (ERROR_PRF_NOT_INITIALIZED);
1635 case syserr_prf_already_initialized: return (ERROR_PRF_ALREADY_INITIALIZED);
1636 case syserr_prf_not_started: return (ERROR_PRF_NOT_STARTED);
1637 case syserr_prf_already_started: return (ERROR_PRF_ALREADY_STARTED);
1638 case syserr_prf_timer_out_of_range: return (ERROR_PRF_TIMER_OUT_OF_RANGE);
1639 case syserr_prf_timer_reset: return (ERROR_PRF_TIMER_RESET);
1640 case syserr_vdd_lock_useage_denied: return (ERROR_VDD_LOCK_USEAGE_DENIED);
1641 case syserr_timeout: return (ERROR_TIMEOUT);
1642 case syserr_vdm_down: return (ERROR_VDM_DOWN);
1643 case syserr_vdm_limit: return (ERROR_VDM_LIMIT);
1644 case syserr_vdd_not_found: return (ERROR_VDD_NOT_FOUND);
1645 case syserr_invalid_caller: return (ERROR_INVALID_CALLER);
1646 case syserr_pid_mismatch: return (ERROR_PID_MISMATCH);
1647 case syserr_invalid_vdd_handle: return (ERROR_INVALID_VDD_HANDLE);
1648 case syserr_vlpt_no_spooler: return (ERROR_VLPT_NO_SPOOLER);
1649 case syserr_vcom_device_busy: return (ERROR_VCOM_DEVICE_BUSY);
1650 case syserr_vlpt_device_busy: return (ERROR_VLPT_DEVICE_BUSY);
1651 case syserr_nesting_too_deep: return (ERROR_NESTING_TOO_DEEP);
1652 case syserr_vdd_missing: return (ERROR_VDD_MISSING);
1653 case syserr_bidi_invalid_length: return (ERROR_BIDI_INVALID_LENGTH);
1654 case syserr_bidi_invalid_increment: return (ERROR_BIDI_INVALID_INCREMENT);
1655 case syserr_bidi_invalid_combination: return (ERROR_BIDI_INVALID_COMBINATION);
1656 case syserr_bidi_invalid_reserved: return (ERROR_BIDI_INVALID_RESERVED);
1657 case syserr_bidi_invalid_effect: return (ERROR_BIDI_INVALID_EFFECT);
1658 case syserr_bidi_invalid_csdrec: return (ERROR_BIDI_INVALID_CSDREC);
1659 case syserr_bidi_invalid_csdstate: return (ERROR_BIDI_INVALID_CSDSTATE);
1660 case syserr_bidi_invalid_level: return (ERROR_BIDI_INVALID_LEVEL);
1661 case syserr_bidi_invalid_type_support: return (ERROR_BIDI_INVALID_TYPE_SUPPORT);
1662 case syserr_bidi_invalid_orientation: return (ERROR_BIDI_INVALID_ORIENTATION);
1663 case syserr_bidi_invalid_num_shape: return (ERROR_BIDI_INVALID_NUM_SHAPE);
1664 case syserr_bidi_invalid_csd: return (ERROR_BIDI_INVALID_CSD);
1665 case syserr_bidi_no_support: return (ERROR_BIDI_NO_SUPPORT);
1666 case syserr_bidi_rw_incomplete: return (NO_ERROR_BIDI_RW_INCOMPLETE);
1667 case syserr_imp_invalid_parm: return (ERROR_IMP_INVALID_PARM);
1668 case syserr_imp_invalid_length: return (ERROR_IMP_INVALID_LENGTH);
1669 #ifdef MSG_HPFS_DISK_ERROR_WARN
1670 case syserr_hpfs_disk_error_warn: return (MSG_HPFS_DISK_ERROR_WARN);
1671 #endif
1672 case syserr_mon_bad_buffer: return (ERROR_MON_BAD_BUFFER);
1673 case syserr_module_corrupted: return (ERROR_MODULE_CORRUPTED);
1674 case syserr_sm_outof_swapfile: return (ERROR_SM_OUTOF_SWAPFILE);
1675 case syserr_lf_timeout: return (ERROR_LF_TIMEOUT);
1676 case syserr_lf_suspend_success: return (ERROR_LF_SUSPEND_SUCCESS);
1677 case syserr_lf_resume_success: return (ERROR_LF_RESUME_SUCCESS);
1678 case syserr_lf_redirect_success: return (ERROR_LF_REDIRECT_SUCCESS);
1679 case syserr_lf_redirect_failure: return (ERROR_LF_REDIRECT_FAILURE);
1680 case syserr_swapper_not_active: return (ERROR_SWAPPER_NOT_ACTIVE);
1681 case syserr_invalid_swapid: return (ERROR_INVALID_SWAPID);
1682 case syserr_ioerr_swap_file: return (ERROR_IOERR_SWAP_FILE);
1683 case syserr_swap_table_full: return (ERROR_SWAP_TABLE_FULL);
1684 case syserr_swap_file_full: return (ERROR_SWAP_FILE_FULL);
1685 case syserr_cant_init_swapper: return (ERROR_CANT_INIT_SWAPPER);
1686 case syserr_swapper_already_init: return (ERROR_SWAPPER_ALREADY_INIT);
1687 case syserr_pmm_insufficient_memory: return (ERROR_PMM_INSUFFICIENT_MEMORY);
1688 case syserr_pmm_invalid_flags: return (ERROR_PMM_INVALID_FLAGS);
1689 case syserr_pmm_invalid_address: return (ERROR_PMM_INVALID_ADDRESS);
1690 case syserr_pmm_lock_failed: return (ERROR_PMM_LOCK_FAILED);
1691 case syserr_pmm_unlock_failed: return (ERROR_PMM_UNLOCK_FAILED);
1692 case syserr_pmm_move_incomplete: return (ERROR_PMM_MOVE_INCOMPLETE);
1693 case syserr_ucom_drive_renamed: return (ERROR_UCOM_DRIVE_RENAMED);
1694 case syserr_ucom_filename_truncated: return (ERROR_UCOM_FILENAME_TRUNCATED);
1695 case syserr_ucom_buffer_length: return (ERROR_UCOM_BUFFER_LENGTH);
1696 case syserr_mon_chain_handle: return (ERROR_MON_CHAIN_HANDLE);
1697 case syserr_mon_not_registered: return (ERROR_MON_NOT_REGISTERED);
1698 case syserr_smg_already_top: return (ERROR_SMG_ALREADY_TOP);
1699 case syserr_pmm_arena_modified: return (ERROR_PMM_ARENA_MODIFIED);
1700 case syserr_smg_printer_open: return (ERROR_SMG_PRINTER_OPEN);
1701 case syserr_pmm_set_flags_failed: return (ERROR_PMM_SET_FLAGS_FAILED);
1702 case syserr_invalid_dos_dd: return (ERROR_INVALID_DOS_DD);
1703 case syserr_blocked: return (ERROR_BLOCKED);
1704 case syserr_noblock: return (ERROR_NOBLOCK);
1705 case syserr_instance_shared: return (ERROR_INSTANCE_SHARED);
1706 case syserr_no_object: return (ERROR_NO_OBJECT);
1707 case syserr_partial_attach: return (ERROR_PARTIAL_ATTACH);
1708 case syserr_incache: return (ERROR_INCACHE);
1709 case syserr_swap_io_problems: return (ERROR_SWAP_IO_PROBLEMS);
1710 case syserr_crosses_object_boundary: return (ERROR_CROSSES_OBJECT_BOUNDARY);
1711 case syserr_longlock: return (ERROR_LONGLOCK);
1712 case syserr_shortlock: return (ERROR_SHORTLOCK);
1713 case syserr_uvirtlock: return (ERROR_UVIRTLOCK);
1714 case syserr_aliaslock: return (ERROR_ALIASLOCK);
1715 case syserr_alias: return (ERROR_ALIAS);
1716 case syserr_no_more_handles: return (ERROR_NO_MORE_HANDLES);
1717 case syserr_scan_terminated: return (ERROR_SCAN_TERMINATED);
1718 case syserr_terminator_not_found: return (ERROR_TERMINATOR_NOT_FOUND);
1719 case syserr_not_direct_child: return (ERROR_NOT_DIRECT_CHILD);
1720 case syserr_delay_free: return (ERROR_DELAY_FREE);
1721 case syserr_guardpage: return (ERROR_GUARDPAGE);
1722 case syserr_swaperror: return (ERROR_SWAPERROR);
1723 case syserr_ldrerror: return (ERROR_LDRERROR);
1724 case syserr_nomemory: return (ERROR_NOMEMORY);
1725 case syserr_noaccess: return (ERROR_NOACCESS);
1726 case syserr_no_dll_term: return (ERROR_NO_DLL_TERM);
1727 case syserr_cpsio_code_page_invalid: return (ERROR_CPSIO_CODE_PAGE_INVALID);
1728 case syserr_cpsio_no_spooler: return (ERROR_CPSIO_NO_SPOOLER);
1729 case syserr_cpsio_font_id_invalid: return (ERROR_CPSIO_FONT_ID_INVALID);
1730 case syserr_cpsio_internal_error: return (ERROR_CPSIO_INTERNAL_ERROR);
1731 case syserr_cpsio_invalid_ptr_name: return (ERROR_CPSIO_INVALID_PTR_NAME);
1732 case syserr_cpsio_not_active: return (ERROR_CPSIO_NOT_ACTIVE);
1733 case syserr_cpsio_pid_full: return (ERROR_CPSIO_PID_FULL);
1734 case syserr_cpsio_pid_not_found: return (ERROR_CPSIO_PID_NOT_FOUND);
1735 case syserr_cpsio_read_ctl_seq: return (ERROR_CPSIO_READ_CTL_SEQ);
1736 case syserr_cpsio_read_fnt_def: return (ERROR_CPSIO_READ_FNT_DEF);
1737 case syserr_cpsio_write_error: return (ERROR_CPSIO_WRITE_ERROR);
1738 case syserr_cpsio_write_full_error: return (ERROR_CPSIO_WRITE_FULL_ERROR);
1739 case syserr_cpsio_write_handle_bad: return (ERROR_CPSIO_WRITE_HANDLE_BAD);
1740 case syserr_cpsio_swit_load: return (ERROR_CPSIO_SWIT_LOAD);
1741 case syserr_cpsio_inv_command: return (ERROR_CPSIO_INV_COMMAND);
1742 case syserr_cpsio_no_font_swit: return (ERROR_CPSIO_NO_FONT_SWIT);
1743 case syserr_entry_is_callgate: return (ERROR_ENTRY_IS_CALLGATE);
1744
1745 #ifndef DISABLE_SOCKET_SUPPORT
1746 case syserr_socket_perm: return (SOCEPERM);
1747 case syserr_socket_srch: return (SOCESRCH);
1748 case syserr_socket_intr: return (SOCEINTR);
1749 case syserr_socket_nxio: return (SOCENXIO);
1750 case syserr_socket_badf: return (SOCEBADF);
1751 case syserr_socket_acces: return (SOCEACCES);
1752 case syserr_socket_fault: return (SOCEFAULT);
1753 case syserr_socket_inval: return (SOCEINVAL);
1754 case syserr_socket_mfile: return (SOCEMFILE);
1755 case syserr_socket_pipe: return (SOCEPIPE);
1756 case syserr_socket_os2err: return (SOCEOS2ERR);
1757 case syserr_socket_wouldblock: return (SOCEWOULDBLOCK);
1758 case syserr_socket_inprogress: return (SOCEINPROGRESS);
1759 case syserr_socket_already: return (SOCEALREADY);
1760 case syserr_socket_notsock: return (SOCENOTSOCK);
1761 case syserr_socket_destaddrreq: return (SOCEDESTADDRREQ);
1762 case syserr_socket_msgsize: return (SOCEMSGSIZE);
1763 case syserr_socket_prototype: return (SOCEPROTOTYPE);
1764 case syserr_socket_noprotoopt: return (SOCENOPROTOOPT);
1765 case syserr_socket_protonosupport: return (SOCEPROTONOSUPPORT);
1766 case syserr_socket_socktnosupport: return (SOCESOCKTNOSUPPORT);
1767 case syserr_socket_opnotsupp: return (SOCEOPNOTSUPP);
1768 case syserr_socket_pfnosupport: return (SOCEPFNOSUPPORT);
1769 case syserr_socket_afnosupport: return (SOCEAFNOSUPPORT);
1770 case syserr_socket_addrinuse: return (SOCEADDRINUSE);
1771 case syserr_socket_addrnotavail: return (SOCEADDRNOTAVAIL);
1772 case syserr_socket_netdown: return (SOCENETDOWN);
1773 case syserr_socket_netunreach: return (SOCENETUNREACH);
1774 case syserr_socket_netreset: return (SOCENETRESET);
1775 case syserr_socket_connaborted: return (SOCECONNABORTED);
1776 case syserr_socket_connreset: return (SOCECONNRESET);
1777 case syserr_socket_nobufs: return (SOCENOBUFS);
1778 case syserr_socket_isconn: return (SOCEISCONN);
1779 case syserr_socket_notconn: return (SOCENOTCONN);
1780 case syserr_socket_shutdown: return (SOCESHUTDOWN);
1781 case syserr_socket_toomanyrefs: return (SOCETOOMANYREFS);
1782 case syserr_socket_timedout: return (SOCETIMEDOUT);
1783 case syserr_socket_connrefused: return (SOCECONNREFUSED);
1784 case syserr_socket_loop: return (SOCELOOP);
1785 case syserr_socket_nametoolong: return (SOCENAMETOOLONG);
1786 case syserr_socket_hostdown: return (SOCEHOSTDOWN);
1787 case syserr_socket_hostunreach: return (SOCEHOSTUNREACH);
1788 case syserr_socket_notempty: return (SOCENOTEMPTY);
1789 #endif /* not DISABLE_SOCKET_SUPPORT */
1790
1791 default: return (NO_ERROR);
1792 }
1793 }
1794
1795 #ifdef __GCC2__
1796 /* Grumble... stupid linking bug. */
1797 #define dos_error_message(rc) 0
1798 #else /* not __GCC2__ */
1799
1800 static const char *
dos_error_message(APIRET rc)1801 dos_error_message (APIRET rc)
1802 {
1803 unsigned int blength_increment = 64;
1804 unsigned int blength = blength_increment;
1805 char * buffer = (OS2_malloc_noerror (blength));
1806 ULONG mlength;
1807
1808 if (buffer == 0)
1809 return (0);
1810 while (1)
1811 {
1812 if ((dos_get_message
1813 (0, 0, buffer, blength, rc, "OSO001.MSG", (&mlength)))
1814 != NO_ERROR)
1815 {
1816 OS_free (buffer);
1817 return (0);
1818 }
1819 if (mlength < blength)
1820 {
1821 while ((mlength > 0) && (isspace (buffer [mlength - 1])))
1822 mlength -= 1;
1823 buffer = (OS2_realloc_noerror (buffer, (mlength + 1)));
1824 if (buffer != 0)
1825 (buffer[mlength]) = '\0';
1826 return (buffer);
1827 }
1828 blength += blength_increment;
1829 buffer = (OS2_realloc_noerror (buffer, (blength)));
1830 if (buffer == 0)
1831 return (0);
1832 }
1833 }
1834
1835 #endif /* not __GCC2__ */
1836
1837 const char *
OS_error_code_to_message(unsigned int syserr)1838 OS_error_code_to_message (unsigned int syserr)
1839 {
1840 static const char * last_message = 0;
1841 APIRET code = (syserr_to_error_code ((enum syserr_names) syserr));
1842 if (code == NO_ERROR)
1843 return (0);
1844 if (last_message != 0)
1845 OS_free ((void *) last_message);
1846 last_message = (dos_error_message (code));
1847 /* Many of OS/2's error messages are terminated with a period, but
1848 the runtime system is assuming that the messages have no period,
1849 and adding its own. */
1850 if (last_message != 0)
1851 {
1852 unsigned int length = (strlen (last_message));
1853 if ((length > 0) && ((last_message [length - 1]) == '.'))
1854 (((char *) last_message) [length - 1]) = '\0';
1855 }
1856 return (last_message);
1857 }
1858
1859 /* Machine-generated table, do not edit: */
1860 static char * syserr_names_table [] =
1861 {
1862 "invalid-function",
1863 "file-not-found",
1864 "path-not-found",
1865 "too-many-open-files",
1866 "access-denied",
1867 "invalid-handle",
1868 "arena-trashed",
1869 "not-enough-memory",
1870 "invalid-block",
1871 "bad-environment",
1872 "bad-format",
1873 "invalid-access",
1874 "invalid-data",
1875 "invalid-drive",
1876 "current-directory",
1877 "not-same-device",
1878 "no-more-files",
1879 "write-protect",
1880 "bad-unit",
1881 "not-ready",
1882 "bad-command",
1883 "crc",
1884 "bad-length",
1885 "seek",
1886 "not-dos-disk",
1887 "sector-not-found",
1888 "out-of-paper",
1889 "write-fault",
1890 "read-fault",
1891 "gen-failure",
1892 "sharing-violation",
1893 "lock-violation",
1894 "wrong-disk",
1895 "fcb-unavailable",
1896 "sharing-buffer-exceeded",
1897 "code-page-mismatched",
1898 "handle-eof",
1899 "handle-disk-full",
1900 "not-supported",
1901 "rem-not-list",
1902 "dup-name",
1903 "bad-netpath",
1904 "network-busy",
1905 "dev-not-exist",
1906 "too-many-cmds",
1907 "adap-hdw-err",
1908 "bad-net-resp",
1909 "unexp-net-err",
1910 "bad-rem-adap",
1911 "printq-full",
1912 "no-spool-space",
1913 "print-cancelled",
1914 "netname-deleted",
1915 "network-access-denied",
1916 "bad-dev-type",
1917 "bad-net-name",
1918 "too-many-names",
1919 "too-many-sess",
1920 "sharing-paused",
1921 "req-not-accep",
1922 "redir-paused",
1923 "sbcs-att-write-prot",
1924 "sbcs-general-failure",
1925 "xga-out-memory",
1926 "file-exists",
1927 "dup-fcb",
1928 "cannot-make",
1929 "fail-i24",
1930 "out-of-structures",
1931 "already-assigned",
1932 "invalid-password",
1933 "invalid-parameter",
1934 "net-write-fault",
1935 "no-proc-slots",
1936 "not-frozen",
1937 "tstovfl",
1938 "tstdup",
1939 "no-items",
1940 "interrupt",
1941 "device-in-use",
1942 "too-many-semaphores",
1943 "excl-sem-already-owned",
1944 "sem-is-set",
1945 "too-many-sem-requests",
1946 "invalid-at-interrupt-time",
1947 "sem-owner-died",
1948 "sem-user-limit",
1949 "disk-change",
1950 "drive-locked",
1951 "broken-pipe",
1952 "open-failed",
1953 "buffer-overflow",
1954 "disk-full",
1955 "no-more-search-handles",
1956 "invalid-target-handle",
1957 "protection-violation",
1958 "viokbd-request",
1959 "invalid-category",
1960 "invalid-verify-switch",
1961 "bad-driver-level",
1962 "call-not-implemented",
1963 "sem-timeout",
1964 "insufficient-buffer",
1965 "invalid-name",
1966 "invalid-level",
1967 "no-volume-label",
1968 "mod-not-found",
1969 "proc-not-found",
1970 "wait-no-children",
1971 "child-not-complete",
1972 "direct-access-handle",
1973 "negative-seek",
1974 "seek-on-device",
1975 "is-join-target",
1976 "is-joined",
1977 "is-substed",
1978 "not-joined",
1979 "not-substed",
1980 "join-to-join",
1981 "subst-to-subst",
1982 "join-to-subst",
1983 "subst-to-join",
1984 "busy-drive",
1985 "same-drive",
1986 "dir-not-root",
1987 "dir-not-empty",
1988 "is-subst-path",
1989 "is-join-path",
1990 "path-busy",
1991 "is-subst-target",
1992 "system-trace",
1993 "invalid-event-count",
1994 "too-many-muxwaiters",
1995 "invalid-list-format",
1996 "label-too-long",
1997 "too-many-tcbs",
1998 "signal-refused",
1999 "discarded",
2000 "not-locked",
2001 "bad-threadid-addr",
2002 "bad-arguments",
2003 "bad-pathname",
2004 "signal-pending",
2005 "uncertain-media",
2006 "max-thrds-reached",
2007 "monitors-not-supported",
2008 "unc-driver-not-installed",
2009 "lock-failed",
2010 "swapio-failed",
2011 "swapin-failed",
2012 "busy",
2013 "cancel-violation",
2014 "atomic-lock-not-supported",
2015 "read-locks-not-supported",
2016 "invalid-segment-number",
2017 "invalid-callgate",
2018 "invalid-ordinal",
2019 "already-exists",
2020 "no-child-process",
2021 "child-alive-nowait",
2022 "invalid-flag-number",
2023 "sem-not-found",
2024 "invalid-starting-codeseg",
2025 "invalid-stackseg",
2026 "invalid-moduletype",
2027 "invalid-exe-signature",
2028 "exe-marked-invalid",
2029 "bad-exe-format",
2030 "iterated-data-exceeds-64k",
2031 "invalid-minallocsize",
2032 "dynlink-from-invalid-ring",
2033 "iopl-not-enabled",
2034 "invalid-segdpl",
2035 "autodataseg-exceeds-64k",
2036 "ring2seg-must-be-movable",
2037 "reloc-chain-xeeds-seglim",
2038 "infloop-in-reloc-chain",
2039 "envvar-not-found",
2040 "not-current-ctry",
2041 "no-signal-sent",
2042 "filename-exced-range",
2043 "ring2-stack-in-use",
2044 "meta-expansion-too-long",
2045 "invalid-signal-number",
2046 "thread-1-inactive",
2047 "info-not-avail",
2048 "locked",
2049 "bad-dynalink",
2050 "too-many-modules",
2051 "nesting-not-allowed",
2052 "cannot-shrink",
2053 "zombie-process",
2054 "stack-in-high-memory",
2055 "invalid-exitroutine-ring",
2056 "getbuf-failed",
2057 "flushbuf-failed",
2058 "transfer-too-long",
2059 "forcenoswap-failed",
2060 "smg-no-target-window",
2061 "no-children",
2062 "invalid-screen-group",
2063 "bad-pipe",
2064 "pipe-busy",
2065 "no-data",
2066 "pipe-not-connected",
2067 "more-data",
2068 "vc-disconnected",
2069 "circularity-requested",
2070 "directory-in-cds",
2071 "invalid-fsd-name",
2072 "invalid-path",
2073 "invalid-ea-name",
2074 "ea-list-inconsistent",
2075 "ea-list-too-long",
2076 "no-meta-match",
2077 "findnotify-timeout",
2078 "no-more-items",
2079 "search-struc-reused",
2080 "char-not-found",
2081 "too-much-stack",
2082 "invalid-attr",
2083 "invalid-starting-ring",
2084 "invalid-dll-init-ring",
2085 "cannot-copy",
2086 "directory",
2087 "oplocked-file",
2088 "oplock-thread-exists",
2089 "volume-changed",
2090 "findnotify-handle-in-use",
2091 "findnotify-handle-closed",
2092 "notify-object-removed",
2093 "already-shutdown",
2094 "eas-didnt-fit",
2095 "ea-file-corrupt",
2096 "ea-table-full",
2097 "invalid-ea-handle",
2098 "no-cluster",
2099 "create-ea-file",
2100 "cannot-open-ea-file",
2101 "eas-not-supported",
2102 "need-eas-found",
2103 "duplicate-handle",
2104 "duplicate-name",
2105 "empty-muxwait",
2106 "mutex-owned",
2107 "not-owner",
2108 "param-too-small",
2109 "too-many-handles",
2110 "too-many-opens",
2111 "wrong-type",
2112 "unused-code",
2113 "thread-not-terminated",
2114 "init-routine-failed",
2115 "module-in-use",
2116 "not-enough-watchpoints",
2117 "too-many-posts",
2118 "already-posted",
2119 "already-reset",
2120 "sem-busy",
2121 "invalid-procid",
2122 "invalid-pdelta",
2123 "not-descendant",
2124 "not-session-manager",
2125 "invalid-pclass",
2126 "invalid-scope",
2127 "invalid-threadid",
2128 "dossub-shrink",
2129 "dossub-nomem",
2130 "dossub-overlap",
2131 "dossub-badsize",
2132 "dossub-badflag",
2133 "dossub-badselector",
2134 "mr-msg-too-long",
2135 "mr-mid-not-found",
2136 "mr-un-acc-msgf",
2137 "mr-inv-msgf-format",
2138 "mr-inv-ivcount",
2139 "mr-un-perform",
2140 "ts-wakeup",
2141 "ts-semhandle",
2142 "ts-notimer",
2143 "ts-handle",
2144 "ts-datetime",
2145 "sys-internal",
2146 "que-current-name",
2147 "que-proc-not-owned",
2148 "que-proc-owned",
2149 "que-duplicate",
2150 "que-element-not-exist",
2151 "que-no-memory",
2152 "que-invalid-name",
2153 "que-invalid-priority",
2154 "que-invalid-handle",
2155 "que-link-not-found",
2156 "que-memory-error",
2157 "que-prev-at-end",
2158 "que-proc-no-access",
2159 "que-empty",
2160 "que-name-not-exist",
2161 "que-not-initialized",
2162 "que-unable-to-access",
2163 "que-unable-to-add",
2164 "que-unable-to-init",
2165 "vio-invalid-mask",
2166 "vio-ptr",
2167 "vio-aptr",
2168 "vio-rptr",
2169 "vio-cptr",
2170 "vio-lptr",
2171 "vio-mode",
2172 "vio-width",
2173 "vio-attr",
2174 "vio-row",
2175 "vio-col",
2176 "vio-toprow",
2177 "vio-botrow",
2178 "vio-rightcol",
2179 "vio-leftcol",
2180 "scs-call",
2181 "scs-value",
2182 "vio-wait-flag",
2183 "vio-unlock",
2184 "sgs-not-session-mgr",
2185 "smg-invalid-session-id",
2186 "smg-no-sessions",
2187 "smg-session-not-found",
2188 "smg-set-title",
2189 "kbd-parameter",
2190 "kbd-no-device",
2191 "kbd-invalid-iowait",
2192 "kbd-invalid-length",
2193 "kbd-invalid-echo-mask",
2194 "kbd-invalid-input-mask",
2195 "mon-invalid-parms",
2196 "mon-invalid-devname",
2197 "mon-invalid-handle",
2198 "mon-buffer-too-small",
2199 "mon-buffer-empty",
2200 "mon-data-too-large",
2201 "mouse-no-device",
2202 "mouse-inv-handle",
2203 "mouse-inv-parms",
2204 "mouse-cant-reset",
2205 "mouse-display-parms",
2206 "mouse-inv-module",
2207 "mouse-inv-entry-pt",
2208 "mouse-inv-mask",
2209 "mouse-no-data",
2210 "mouse-ptr-drawn",
2211 "invalid-frequency",
2212 "nls-no-country-file",
2213 "nls-open-failed",
2214 "no-country-or-codepage",
2215 "nls-table-truncated",
2216 "nls-bad-type",
2217 "nls-type-not-found",
2218 "vio-smg-only",
2219 "vio-invalid-asciiz",
2220 "vio-deregister",
2221 "vio-no-popup",
2222 "vio-existing-popup",
2223 "kbd-smg-only",
2224 "kbd-invalid-asciiz",
2225 "kbd-invalid-mask",
2226 "kbd-register",
2227 "kbd-deregister",
2228 "mouse-smg-only",
2229 "mouse-invalid-asciiz",
2230 "mouse-invalid-mask",
2231 "mouse-register",
2232 "mouse-deregister",
2233 "smg-bad-action",
2234 "smg-invalid-call",
2235 "scs-sg-notfound",
2236 "scs-not-shell",
2237 "vio-invalid-parms",
2238 "vio-function-owned",
2239 "vio-return",
2240 "scs-invalid-function",
2241 "scs-not-session-mgr",
2242 "vio-register",
2243 "vio-no-mode-thread",
2244 "vio-no-save-restore-thd",
2245 "vio-in-bg",
2246 "vio-illegal-during-popup",
2247 "smg-not-baseshell",
2248 "smg-bad-statusreq",
2249 "que-invalid-wait",
2250 "vio-lock",
2251 "mouse-invalid-iowait",
2252 "vio-invalid-handle",
2253 "vio-illegal-during-lock",
2254 "vio-invalid-length",
2255 "kbd-invalid-handle",
2256 "kbd-no-more-handle",
2257 "kbd-cannot-create-kcb",
2258 "kbd-codepage-load-incompl",
2259 "kbd-invalid-codepage-id",
2260 "kbd-no-codepage-support",
2261 "kbd-focus-required",
2262 "kbd-focus-already-active",
2263 "kbd-keyboard-busy",
2264 "kbd-invalid-codepage",
2265 "kbd-unable-to-focus",
2266 "smg-session-non-select",
2267 "smg-session-not-foregrnd",
2268 "smg-session-not-parent",
2269 "smg-invalid-start-mode",
2270 "smg-invalid-related-opt",
2271 "smg-invalid-bond-option",
2272 "smg-invalid-select-opt",
2273 "smg-start-in-background",
2274 "smg-invalid-stop-option",
2275 "smg-bad-reserve",
2276 "smg-process-not-parent",
2277 "smg-invalid-data-length",
2278 "smg-not-bound",
2279 "smg-retry-sub-alloc",
2280 "kbd-detached",
2281 "vio-detached",
2282 "mou-detached",
2283 "vio-font",
2284 "vio-user-font",
2285 "vio-bad-cp",
2286 "vio-no-cp",
2287 "vio-na-cp",
2288 "invalid-code-page",
2289 "cplist-too-small",
2290 "cp-not-moved",
2291 "mode-switch-init",
2292 "code-page-not-found",
2293 "unexpected-slot-returned",
2294 "smg-invalid-trace-option",
2295 "vio-internal-resource",
2296 "vio-shell-init",
2297 "smg-no-hard-errors",
2298 "cp-switch-incomplete",
2299 "vio-transparent-popup",
2300 "critsec-overflow",
2301 "critsec-underflow",
2302 "vio-bad-reserve",
2303 "invalid-address",
2304 "zero-selectors-requested",
2305 "not-enough-selectors-ava",
2306 "invalid-selector",
2307 "smg-invalid-program-type",
2308 "smg-invalid-pgm-control",
2309 "smg-invalid-inherit-opt",
2310 "vio-extended-sg",
2311 "vio-not-pres-mgr-sg",
2312 "vio-shield-owned",
2313 "vio-no-more-handles",
2314 "vio-see-error-log",
2315 "vio-associated-dc",
2316 "kbd-no-console",
2317 "mouse-no-console",
2318 "mouse-invalid-handle",
2319 "smg-invalid-debug-parms",
2320 "kbd-extended-sg",
2321 "mou-extended-sg",
2322 "smg-invalid-icon-file",
2323 "trc-pid-non-existent",
2324 "trc-count-active",
2325 "trc-suspended-by-count",
2326 "trc-count-inactive",
2327 "trc-count-reached",
2328 "no-mc-trace",
2329 "mc-trace",
2330 "trc-count-zero",
2331 "smg-too-many-dds",
2332 "smg-invalid-notification",
2333 "lf-invalid-function",
2334 "lf-not-avail",
2335 "lf-suspended",
2336 "lf-buf-too-small",
2337 "lf-buffer-full",
2338 "lf-invalid-record",
2339 "lf-invalid-service",
2340 "lf-general-failure",
2341 "lf-invalid-id",
2342 "lf-invalid-handle",
2343 "lf-no-id-avail",
2344 "lf-template-area-full",
2345 "lf-id-in-use",
2346 "mou-not-initialized",
2347 "mouinitreal-done",
2348 "dossub-corrupted",
2349 "mouse-caller-not-subsys",
2350 "arithmetic-overflow",
2351 "tmr-no-device",
2352 "tmr-invalid-time",
2353 "pvw-invalid-entity",
2354 "pvw-invalid-entity-type",
2355 "pvw-invalid-spec",
2356 "pvw-invalid-range-type",
2357 "pvw-invalid-counter-blk",
2358 "pvw-invalid-text-blk",
2359 "prf-not-initialized",
2360 "prf-already-initialized",
2361 "prf-not-started",
2362 "prf-already-started",
2363 "prf-timer-out-of-range",
2364 "prf-timer-reset",
2365 "vdd-lock-useage-denied",
2366 "timeout",
2367 "vdm-down",
2368 "vdm-limit",
2369 "vdd-not-found",
2370 "invalid-caller",
2371 "pid-mismatch",
2372 "invalid-vdd-handle",
2373 "vlpt-no-spooler",
2374 "vcom-device-busy",
2375 "vlpt-device-busy",
2376 "nesting-too-deep",
2377 "vdd-missing",
2378 "bidi-invalid-length",
2379 "bidi-invalid-increment",
2380 "bidi-invalid-combination",
2381 "bidi-invalid-reserved",
2382 "bidi-invalid-effect",
2383 "bidi-invalid-csdrec",
2384 "bidi-invalid-csdstate",
2385 "bidi-invalid-level",
2386 "bidi-invalid-type-support",
2387 "bidi-invalid-orientation",
2388 "bidi-invalid-num-shape",
2389 "bidi-invalid-csd",
2390 "bidi-no-support",
2391 "bidi-rw-incomplete",
2392 "imp-invalid-parm",
2393 "imp-invalid-length",
2394 "hpfs-disk-error-warn",
2395 "mon-bad-buffer",
2396 "module-corrupted",
2397 "sm-outof-swapfile",
2398 "lf-timeout",
2399 "lf-suspend-success",
2400 "lf-resume-success",
2401 "lf-redirect-success",
2402 "lf-redirect-failure",
2403 "swapper-not-active",
2404 "invalid-swapid",
2405 "ioerr-swap-file",
2406 "swap-table-full",
2407 "swap-file-full",
2408 "cant-init-swapper",
2409 "swapper-already-init",
2410 "pmm-insufficient-memory",
2411 "pmm-invalid-flags",
2412 "pmm-invalid-address",
2413 "pmm-lock-failed",
2414 "pmm-unlock-failed",
2415 "pmm-move-incomplete",
2416 "ucom-drive-renamed",
2417 "ucom-filename-truncated",
2418 "ucom-buffer-length",
2419 "mon-chain-handle",
2420 "mon-not-registered",
2421 "smg-already-top",
2422 "pmm-arena-modified",
2423 "smg-printer-open",
2424 "pmm-set-flags-failed",
2425 "invalid-dos-dd",
2426 "blocked",
2427 "noblock",
2428 "instance-shared",
2429 "no-object",
2430 "partial-attach",
2431 "incache",
2432 "swap-io-problems",
2433 "crosses-object-boundary",
2434 "longlock",
2435 "shortlock",
2436 "uvirtlock",
2437 "aliaslock",
2438 "alias",
2439 "no-more-handles",
2440 "scan-terminated",
2441 "terminator-not-found",
2442 "not-direct-child",
2443 "delay-free",
2444 "guardpage",
2445 "swaperror",
2446 "ldrerror",
2447 "nomemory",
2448 "noaccess",
2449 "no-dll-term",
2450 "cpsio-code-page-invalid",
2451 "cpsio-no-spooler",
2452 "cpsio-font-id-invalid",
2453 "cpsio-internal-error",
2454 "cpsio-invalid-ptr-name",
2455 "cpsio-not-active",
2456 "cpsio-pid-full",
2457 "cpsio-pid-not-found",
2458 "cpsio-read-ctl-seq",
2459 "cpsio-read-fnt-def",
2460 "cpsio-write-error",
2461 "cpsio-write-full-error",
2462 "cpsio-write-handle-bad",
2463 "cpsio-swit-load",
2464 "cpsio-inv-command",
2465 "cpsio-no-font-swit",
2466 "entry-is-callgate",
2467
2468 /* socket errors: */
2469 "soceperm",
2470 "socesrch",
2471 "soceintr",
2472 "socenxio",
2473 "socebadf",
2474 "soceacces",
2475 "socefault",
2476 "soceinval",
2477 "socemfile",
2478 "socepipe",
2479 "soceos2err",
2480 "socewouldblock",
2481 "soceinprogress",
2482 "socealready",
2483 "socenotsock",
2484 "socedestaddrreq",
2485 "socemsgsize",
2486 "soceprototype",
2487 "socenoprotoopt",
2488 "soceprotonosupport",
2489 "socesocktnosupport",
2490 "soceopnotsupp",
2491 "socepfnosupport",
2492 "soceafnosupport",
2493 "soceaddrinuse",
2494 "soceaddrnotavail",
2495 "socenetdown",
2496 "socenetunreach",
2497 "socenetreset",
2498 "soceconnaborted",
2499 "soceconnreset",
2500 "socenobufs",
2501 "soceisconn",
2502 "socenotconn",
2503 "soceshutdown",
2504 "socetoomanyrefs",
2505 "socetimedout",
2506 "soceconnrefused",
2507 "soceloop",
2508 "socenametoolong",
2509 "socehostdown",
2510 "socehostunreach",
2511 "socenotempty",
2512
2513 "unknown"
2514 };
2515
2516 void
OS_syserr_names(unsigned long * length,const char *** names)2517 OS_syserr_names (unsigned long * length, const char *** names)
2518 {
2519 (*length) = ((sizeof (syserr_names_table)) / (sizeof (char *)));
2520 (*names) = syserr_names_table;
2521 }
2522
2523 void
OS_syscall_names(unsigned long * length,const char *** names)2524 OS_syscall_names (unsigned long * length, const char *** names)
2525 {
2526 (*length) = ((sizeof (syscall_names_table)) / (sizeof (char *)));
2527 (*names) = syscall_names_table;
2528 }
2529
2530 void
OS_expect_sequential_access(void * start,void * end)2531 OS_expect_sequential_access (void *start, void *end)
2532 {
2533 (void) start; /* ignore */
2534 (void) end; /* ignore */
2535 }
2536
2537 void
OS_expect_normal_access(void * start,void * end)2538 OS_expect_normal_access (void *start, void *end)
2539 {
2540 (void) start; /* ignore */
2541 (void) end; /* ignore */
2542 }
2543
2544 void
OS_free_pages(void * start,void * end)2545 OS_free_pages (void *start, void *end)
2546 {
2547 (void) start; /* ignore */
2548 (void) end; /* ignore */
2549 }
2550