home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Linux / Divers / lyx-0.13.2.tar.gz / lyx-0.13.2.tar / lyx-0.13.2 / src / os2_errortable.h < prev    next >
C/C++ Source or Header  |  1998-04-23  |  5KB  |  99 lines

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