home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / EMXLIB8F.ZIP / EMX / LIB / IO / EAERRNO.C < prev    next >
Encoding:
C/C++ Source or Header  |  1993-01-02  |  704 b   |  35 lines

  1. /* eaerrno.c (emx+gcc) -- Copyright (c) 1993 by Eberhard Mattes */
  2.  
  3. #define INCL_DOSFILEMGR
  4. #define INCL_DOSERRORS
  5. #include <os2.h>
  6. #include <stdlib.h>
  7. #include <errno.h>
  8. #include "ea.h"
  9.  
  10. void _ea_set_errno (ULONG rc)
  11. {
  12.   switch (rc)
  13.     {
  14.     case ERROR_FILE_NOT_FOUND:
  15.     case ERROR_PATH_NOT_FOUND:
  16.       errno = ENOENT;
  17.       break;
  18.     case ERROR_ACCESS_DENIED:
  19.       errno = EACCES;
  20.       break;
  21.     case ERROR_NOT_ENOUGH_MEMORY:
  22.       errno = ENOMEM;
  23.       break;
  24.     case ERROR_INVALID_HANDLE:
  25.       errno = EBADF;
  26.       break;
  27.     case ERROR_FILENAME_EXCED_RANGE:
  28.       errno = ENAMETOOLONG;
  29.       break;
  30.     default:
  31.       errno = EINVAL;
  32.       break;
  33.     }
  34. }
  35.