herr.h 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #ifndef HW_ERR_H_
  2. #define HW_ERR_H_
  3. #include <errno.h>
  4. // F(macro, errcode, errmsg)
  5. #define FOREACH_ERR_COMMON(F) \
  6. F(ERR_OK, 0, "ok") \
  7. F(ERR_UNKNOWN, 1000, "unknown error") \
  8. F(ERR_NULL_PARAM, 1001, "null param") \
  9. F(ERR_NULL_POINTER, 1002, "null pointer") \
  10. F(ERR_NULL_DATA, 1003, "null data") \
  11. \
  12. F(ERR_INVALID_PARAM, 1010, "invalid param") \
  13. F(ERR_INVALID_HANDLE, 1011, "invalid handle") \
  14. F(ERR_INVALID_JSON, 1012, "invalid json") \
  15. F(ERR_INVALID_XML, 1013, "invalid xml") \
  16. F(ERR_INVALID_FMT, 1014, "invalid format") \
  17. \
  18. F(ERR_MISMATCH, 1020, "mismatch") \
  19. F(ERR_REQUEST, 1021, "error request") \
  20. F(ERR_RESPONSE, 1022, "error response") \
  21. F(ERR_PARSE, 1023, "parse failed") \
  22. \
  23. F(ERR_MALLOC, 1030, "malloc failed") \
  24. F(ERR_FREE, 1031, "free failed") \
  25. \
  26. F(ERR_TASK_TIMEOUT, 1100, "task timeout") \
  27. F(ERR_TASK_DEQUE_FULL, 1101, "task deque full") \
  28. F(ERR_TASK_NOT_CREATE, 1102, "task not create") \
  29. \
  30. F(ERR_OPEN_FILE, 1200, "open file failed") \
  31. F(ERR_SAVE_FILE, 1201, "save file failed") \
  32. \
  33. F(ERR_OUT_OF_RANGE, 1300, "out of range") \
  34. F(ERR_OVER_LIMIT, 1301, "over limit")
  35. #define FOREACH_ERR_NETWORK(F) \
  36. F(ERR_ADAPTER_NOT_FOUND, 2001, "adapter not found") \
  37. F(ERR_SERVER_NOT_FOUND, 2002, "server not found") \
  38. F(ERR_SERVER_UNREACHEABLE, 2003, "server unreacheable") \
  39. F(ERR_SERVER_DISCONNECT, 2004, "server disconnect") \
  40. F(ERR_CONNECT_TIMEOUT, 2005, "connect timeout") \
  41. F(ERR_INVALID_PACKAGE, 2006, "invalid package") \
  42. F(ERR_SERVER_NOT_STARTUP, 2007, "server not startup") \
  43. F(ERR_CLIENT_DISCONNECT, 2008, "client disconnect")
  44. #define FOREACH_ERR_SERVICE(F) \
  45. F(ERR_RESOURCE_NOT_FOUND, 3000, "resource not found") \
  46. F(ERR_GROUP_NOT_FOUND, 3001, "group not found") \
  47. F(ERR_PERSON_NOT_FOUND, 3002, "person not found") \
  48. F(ERR_FACE_NOT_FOUND, 3003, "face not found") \
  49. F(ERR_DEVICE_NOT_FOUND, 3004, "device not found") \
  50. F(ERR_DEVICE_DISABLE, 3005, "device disable")
  51. #define FOREACH_ERR_GRPC(F) \
  52. F(ERR_GRPC_FIRST, 4000, "grpc error") \
  53. F(ERR_GRPC_STATUS_CANCELLED,4001, "grpc status cancelled") \
  54. F(ERR_GRPC_STATUS_UNKNOWN, 4002, "grpc status unknown") \
  55. F(ERR_GRPC_STATUS_INVALID_ARGUMENT, 4003, "grpc status invalid argument") \
  56. F(ERR_GRPC_STATUS_DEADLINE, 4004, "grpc status deadline") \
  57. F(ERR_GRPC_STATUS_NOT_FOUND, 4005, "grpc status not found") \
  58. F(ERR_GRPC_STATUS_ALREADY_EXISTS, 4006, "grpc status already exists") \
  59. F(ERR_GRPC_STATUS_PERMISSION_DENIED, 4007, "grpc status permission denied") \
  60. F(ERR_GRPC_STATUS_RESOURCE_EXHAUSTED, 4008, "grpc status resource exhausted") \
  61. F(ERR_GRPC_STATUS_FAILED_PRECONDITION, 4009, "grpc status failed precondition") \
  62. F(ERR_GRPC_STATUS_ABORTED, 4010, "grpc status aborted") \
  63. F(ERR_GRPC_STATUS_OUT_OF_RANGE, 4011, "grpc status out of range") \
  64. F(ERR_GRPC_STATUS_UNIMPLEMENTED, 4012, "grpc status unimplemented") \
  65. F(ERR_GRPC_STATUS_INTERNAL, 4013, "grpc status internal") \
  66. F(ERR_GRPC_STATUS_UNAVAILABLE, 4014, "grpc service unavailable") \
  67. F(ERR_GRPC_STATUS_DATA_LOSS, 4015, "grpc status data loss")
  68. #define FOREACH_ERR(F) \
  69. FOREACH_ERR_COMMON(F) \
  70. FOREACH_ERR_NETWORK(F) \
  71. FOREACH_ERR_SERVICE(F) \
  72. FOREACH_ERR_GRPC(F)
  73. #define ENUM_ERR(macro, errcode, _) macro = errcode,
  74. enum E_ERR{
  75. FOREACH_ERR(ENUM_ERR)
  76. ERR_LAST
  77. };
  78. #undef ENUM_ERR
  79. // id => errcode
  80. void set_id_errcode(int id, int errcode);
  81. int get_id_errcode(int id);
  82. // id = gettid()
  83. void set_last_errcode(int errcode);
  84. int get_last_errcode();
  85. // errcode => errmsg
  86. const char* get_errmsg(int errcode);
  87. #endif // HW_ERR_H_