]> git.lyx.org Git - lyx.git/blob - src/os2_errortable.h
12ef89496d42959d9279a4133e793b08d045cb67
[lyx.git] / src / os2_errortable.h
1 /* -*- C++ -*- */
2 /* This file is part of
3 * ======================================================
4
5 *           LyX, The Document Processor
6 *        
7 *           Copyright (C) 1995,1996 Matthias Ettrich
8 *
9 *======================================================
10  A table for translating OS/2 API return code into errno.
11  Copied from emx library source.                         */
12
13 #ifndef _OS2_ERRORTABLE_H
14 #define _OS2_ERRORTABLE_H
15 #ifndef _ERRNO_H
16 #include <errno.h>
17 #endif
18
19 static unsigned char const errno_tab[] =
20 {
21   EINVAL, EINVAL, ENOENT, ENOENT, EMFILE,  /* 0..4 */
22   EACCES, EBADF,  EIO,    ENOMEM, EIO,     /* 5..9 */
23   EINVAL, ENOEXEC,EINVAL, EINVAL, EINVAL,  /* 10..14 */
24   ENOENT, EBUSY,  EXDEV,  ENOENT, EROFS,   /* 15..19 */
25   EIO,    EIO,    EIO,    EIO,    EIO,     /* 20..24 */
26   EIO,    EIO,    EIO,    ENOSPC, EIO,     /* 25..29 */
27   EIO,    EIO,    EACCES, EACCES, EIO,     /* 30..34 */
28   EIO,    EIO,    EIO,    EIO,    ENOSPC,  /* 35..39 */
29   EIO,    EIO,    EIO,    EIO,    EIO,     /* 40..44 */
30   EIO,    EIO,    EIO,    EIO,    EIO,     /* 45..49 */
31   EIO,    EIO,    EIO,    EIO,    EBUSY,   /* 50..54 */
32   EIO,    EIO,    EIO,    EIO,    EIO,     /* 55..59 */
33   EIO,    ENOSPC, ENOSPC, EIO,    EIO,     /* 60..64 */
34   EACCES, EIO,    EIO,    EIO,    EIO,     /* 65..69 */
35   EIO,    EIO,    EIO,    EROFS,  EIO,     /* 70..74 */
36   EIO,    EIO,    EIO,    EIO,    EIO,     /* 75..79 */
37   EEXIST, EIO,    ENOENT, EIO,    EIO,     /* 80..84 */
38   EIO,    EIO,    EINVAL, EIO,    EAGAIN,  /* 85..89 */
39   EIO,    EIO,    EIO,    EIO,    EIO,     /* 90..94 */
40   EINTR,  EIO,    EIO,    EIO,    EACCES,  /* 95..99 */
41   ENOMEM, EINVAL, EINVAL, ENOMEM, EINVAL,  /* 100..104 */
42   EINVAL, ENOMEM, EIO,    EACCES, EPIPE,   /* 105..109 */
43   ENOENT, E2BIG,  ENOSPC, ENOMEM, EINVAL,  /* 110..114 */
44   EINVAL, EINVAL, EINVAL, EINVAL, EINVAL,  /* 115..119 */
45   EINVAL, EINVAL, EINVAL, ENOENT, EINVAL,  /* 120..124 */
46   ENOENT, ENOENT, ENOENT, ECHILD, ECHILD,  /* 125..129 */
47   EACCES, EINVAL, ESPIPE, EINVAL, EINVAL,  /* 130..134 */
48   EINVAL, EINVAL, EINVAL, EINVAL, EINVAL,  /* 135..139 */
49   EINVAL, EINVAL, EBUSY,  EINVAL, EINVAL,  /* 140..144 */
50   EINVAL, EINVAL, EINVAL, EBUSY,  EINVAL,  /* 145..149 */
51   EINVAL, EINVAL, ENOMEM, EINVAL, EINVAL,  /* 150..154 */
52   EINVAL, EINVAL, EINVAL, EINVAL, EINVAL,  /* 155..159 */
53   EINVAL, EINVAL, EINVAL, EINVAL, EAGAIN,  /* 160..164 */
54   EINVAL, EINVAL, EACCES, EINVAL, EINVAL,  /* 165..169 */
55   EBUSY,  EINVAL, EINVAL, EINVAL, EINVAL,  /* 170..174 */
56   EINVAL, EINVAL, EINVAL, EINVAL, EINVAL,  /* 175..179 */
57   EINVAL, EINVAL, EINVAL, EINVAL, ECHILD,  /* 180..184 */
58   EINVAL, EINVAL, ENOENT, EINVAL, EINVAL,  /* 185..189 */
59   ENOEXEC,ENOEXEC,ENOEXEC,ENOEXEC,ENOEXEC, /* 190..194 */
60   ENOEXEC,ENOEXEC,ENOEXEC,ENOEXEC,ENOEXEC, /* 195..199 */
61   ENOEXEC,ENOEXEC,ENOEXEC,ENOENT, EINVAL,  /* 200..204 */
62   EINVAL, ENAMETOOLONG, EINVAL, EINVAL, EINVAL,  /* 205..209 */
63   EINVAL, EINVAL, EACCES, ENOEXEC,ENOEXEC, /* 210..214 */
64   EINVAL, EINVAL, EINVAL, EINVAL, EINVAL,  /* 215..219 */
65   EINVAL, EINVAL, EINVAL, EINVAL, EINVAL,  /* 220..224 */
66   EINVAL, EINVAL, EINVAL, ECHILD, EINVAL,  /* 225..229 */
67   EINVAL, EBUSY,  EAGAIN, ENOTCONN, EINVAL, /* 230..234 */
68   EINVAL, EINVAL, EINVAL, EINVAL, EINVAL,  /* 235..239 */
69   EINVAL, EINVAL, EINVAL, EINVAL, EINVAL,  /* 240..244 */
70   EINVAL, EINVAL, EINVAL, EINVAL, EINVAL,  /* 245..249 */
71   EACCES, EACCES, EINVAL, ENOENT, EINVAL,  /* 250..254 */
72   EINVAL, EINVAL, EINVAL, EINVAL, EINVAL,  /* 255..259 */
73   EINVAL, EINVAL, EINVAL, EINVAL, EINVAL,  /* 260..264 */
74   EINVAL, EINVAL, EINVAL, EINVAL, EINVAL,  /* 265..269 */
75   EINVAL, EINVAL, EINVAL, EINVAL, EINVAL,  /* 270..274 */
76   EINVAL, EINVAL, EINVAL, EINVAL, EINVAL,  /* 275..279 */
77   EINVAL, EINVAL, EINVAL, EINVAL, EEXIST,  /* 280..284 */
78   EEXIST, EINVAL, EINVAL, EINVAL, EINVAL,  /* 285..289 */
79   ENOMEM, EMFILE, EINVAL, EINVAL, EINVAL,  /* 290..294 */
80   EINVAL, EINVAL, EINVAL, EINVAL, EINVAL,  /* 295..299 */
81   EINVAL, EBUSY,  EINVAL, ESRCH,  EINVAL,  /* 300..304 */
82   ESRCH,  EINVAL, EINVAL, EINVAL, ESRCH,   /* 305..309 */
83   EINVAL, ENOMEM, EINVAL, EINVAL, EINVAL,  /* 310..314 */
84   EINVAL, E2BIG,  ENOENT, EIO,    EIO,     /* 315..319 */
85   EINVAL, EINVAL, EINVAL, EINVAL, EAGAIN,  /* 320..324 */
86   EINVAL, EINVAL, EINVAL, EIO,    ENOENT,  /* 325..329 */
87   EACCES, EACCES, EACCES, ENOENT, ENOMEM   /* 330..334 */
88 };
89
90 inline int TranslateOS2Error(unsigned long rc)
91 {
92         if (rc >= sizeof (errno_tab))
93                 return EINVAL;
94         else
95                 return errno_tab[rc];
96 }
97
98 #endif /* _OS2_ERRORTABLE_H */