error.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef _PCILIB_ERROR_H
  2. #define _PCILIB_ERROR_H
  3. #include <errno.h>
  4. #include <pcilib.h>
  5. typedef enum {
  6. PCILIB_LOG_DEFAULT = 0,
  7. PCILIB_LOG_ONCE = 1
  8. } pcilib_log_flags_t;
  9. enum {
  10. PCILIB_ERROR_SUCCESS = 0,
  11. PCILIB_ERROR_MEMORY = ENOMEM,
  12. PCILIB_ERROR_INVALID_REQUEST = EBADR,
  13. PCILIB_ERROR_INVALID_ADDRESS = EFAULT,
  14. PCILIB_ERROR_INVALID_BANK = ENOENT,
  15. PCILIB_ERROR_INVALID_DATA = EILSEQ,
  16. PCILIB_ERROR_INVALID_STATE = EBADFD,
  17. PCILIB_ERROR_INVALID_ARGUMENT = EINVAL,
  18. PCILIB_ERROR_TIMEOUT = ETIME,
  19. PCILIB_ERROR_FAILED = EBADE,
  20. PCILIB_ERROR_VERIFY = EREMOTEIO,
  21. PCILIB_ERROR_NOTSUPPORTED = ENOTSUP,
  22. PCILIB_ERROR_NOTFOUND = ESRCH,
  23. PCILIB_ERROR_OUTOFRANGE = ERANGE,
  24. PCILIB_ERROR_NOTAVAILABLE = ENAVAIL,
  25. PCILIB_ERROR_NOTINITIALIZED = EBADFD,
  26. PCILIB_ERROR_NOTPERMITED = EPERM,
  27. PCILIB_ERROR_TOOBIG = EFBIG,
  28. PCILIB_ERROR_OVERWRITTEN = ESTALE,
  29. PCILIB_ERROR_BUSY = EBUSY,
  30. PCILIB_ERROR_EXIST = EEXIST
  31. } pcilib_errot_t;
  32. #ifdef __cplusplus
  33. extern "C" {
  34. #endif
  35. void pcilib_log_message(const char *file, int line, pcilib_log_flags_t flags, pcilib_log_priority_t prio, const char *msg, ...);
  36. void pcilib_log_vmessage(const char *file, int line, pcilib_log_flags_t flags, pcilib_log_priority_t prio, const char *msg, va_list va);
  37. #ifdef __cplusplus
  38. }
  39. #endif
  40. #define pcilib_log(prio, ...) \
  41. pcilib_log_message(__FILE__, __LINE__, PCILIB_LOG_DEFAULT, prio, __VA_ARGS__)
  42. #define pcilib_log_once(prio, ...) \
  43. pcilib_log_message(__FILE__, __LINE__, PCILIB_LOG_ONCE, prio, __VA_ARGS__)
  44. #define pcilib_error(...) pcilib_log(PCILIB_LOG_ERROR, __VA_ARGS__)
  45. #define pcilib_warning(...) pcilib_log(PCILIB_LOG_WARNING, __VA_ARGS__)
  46. #define pcilib_info(...) pcilib_log(PCILIB_LOG_INFO, __VA_ARGS__)
  47. #define pcilib_warning_once(...) pcilib_log_once(PCILIB_LOG_WARNING, __VA_ARGS__)
  48. #define pcilib_info_once(...) pcilib_log_once(PCILIB_LOG_INFO, __VA_ARGS__)
  49. #endif /* _PCILIB_ERROR_H */