sa_error.c 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #include <string.h>
  2. #include <errno.h>
  3. #include "ais_types.h"
  4. const char *sa_error_list[] = {
  5. "OUT_OF_RANGE",
  6. "SA_AIS_OK",
  7. "SA_AIS_ERR_LIBRARY",
  8. "SA_AIS_ERR_VERSION",
  9. "SA_AIS_ERR_INIT",
  10. "SA_AIS_ERR_TIMEOUT",
  11. "SA_AIS_ERR_TRY_AGAIN",
  12. "SA_AIS_ERR_INVALID_PARAM",
  13. "SA_AIS_ERR_NO_MEMORY",
  14. "SA_AIS_ERR_BAD_HANDLE",
  15. "SA_AIS_ERR_BUSY",
  16. "SA_AIS_ERR_ACCESS",
  17. "SA_AIS_ERR_NOT_EXIST",
  18. "SA_AIS_ERR_NAME_TOO_LONG",
  19. "SA_AIS_ERR_EXIST",
  20. "SA_AIS_ERR_NO_SPACE",
  21. "SA_AIS_ERR_INTERRUPT",
  22. "SA_AIS_ERR_NAME_NOT_FOUND",
  23. "SA_AIS_ERR_NO_RESOURCES",
  24. "SA_AIS_ERR_NOT_SUPPORTED",
  25. "SA_AIS_ERR_BAD_OPERATION",
  26. "SA_AIS_ERR_FAILED_OPERATION",
  27. "SA_AIS_ERR_MESSAGE_ERROR",
  28. "SA_AIS_ERR_QUEUE_FULL",
  29. "SA_AIS_ERR_QUEUE_NOT_AVAILABLE",
  30. "SA_AIS_ERR_BAD_CHECKPOINT",
  31. "SA_AIS_ERR_BAD_FLAGS",
  32. "SA_AIS_ERR_NO_SECTIONS",
  33. };
  34. int get_sa_error(SaErrorT error, char *str, int len)
  35. {
  36. if (error < SA_AIS_OK ||
  37. error > SA_AIS_ERR_NO_SECTIONS ||
  38. len < strlen(sa_error_list[error])) {
  39. errno = EINVAL;
  40. return -1;
  41. }
  42. strncpy(str, sa_error_list[error], len);
  43. return 0;
  44. }