1
0

herr.h 3.9 KB

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