pal_linux_error.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef PAL_LINUX_ERROR_H
  2. #define PAL_LINUX_ERROR_H
  3. #ifdef IN_PAL
  4. # include <pal_error.h>
  5. # include <asm/errno.h>
  6. static inline __attribute__((unused))
  7. int unix_to_pal_error (int unix_errno)
  8. {
  9. switch(unix_errno) {
  10. case ENOENT:
  11. return -PAL_ERROR_STREAMNOTEXIST;
  12. case EINTR:
  13. return -PAL_ERROR_INTERRUPTED;
  14. case EBADF:
  15. return -PAL_ERROR_BADHANDLE;
  16. case ETIMEDOUT:
  17. case EAGAIN:
  18. return -PAL_ERROR_TRYAGAIN;
  19. case ENOMEM:
  20. return -PAL_ERROR_NOMEM;
  21. case EFAULT:
  22. return -PAL_ERROR_BADADDR;
  23. case EEXIST:
  24. return -PAL_ERROR_STREAMEXIST;
  25. case ENOTDIR:
  26. return -PAL_ERROR_STREAMISFILE;
  27. case EINVAL:
  28. return -PAL_ERROR_INVAL;
  29. case ENAMETOOLONG:
  30. return -PAL_ERROR_TOOLONG;
  31. case EISDIR:
  32. return -PAL_ERROR_STREAMISDIR;
  33. default:
  34. return -PAL_ERROR_DENIED;
  35. }
  36. }
  37. #endif /* IN_PAL */
  38. #endif /* PAL_LINUX_ERROR_H */