4
0

sa_error.c 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #include <config.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <stdlib.h>
  5. #include <errno.h>
  6. #include "saAis.h"
  7. const char *sa_error_list[] = {
  8. "OUT_OF_RANGE",
  9. "CS_OK",
  10. "CS_ERR_LIBRARY",
  11. "CS_ERR_VERSION",
  12. "CS_ERR_INIT",
  13. "CS_ERR_TIMEOUT",
  14. "CS_ERR_TRY_AGAIN",
  15. "CS_ERR_INVALID_PARAM",
  16. "CS_ERR_NO_MEMORY",
  17. "CS_ERR_BAD_HANDLE",
  18. "CS_ERR_BUSY",
  19. "CS_ERR_ACCESS",
  20. "CS_ERR_NOT_EXIST",
  21. "CS_ERR_NAME_TOO_LONG",
  22. "CS_ERR_EXIST",
  23. "CS_ERR_NO_SPACE",
  24. "CS_ERR_INTERRUPT",
  25. "CS_ERR_NAME_NOT_FOUND",
  26. "CS_ERR_NO_RESOURCES",
  27. "CS_ERR_NOT_SUPPORTED",
  28. "CS_ERR_BAD_OPERATION",
  29. "CS_ERR_FAILED_OPERATION",
  30. "CS_ERR_MESSAGE_ERROR",
  31. "CS_ERR_QUEUE_FULL",
  32. "CS_ERR_QUEUE_NOT_AVAILABLE",
  33. "CS_ERR_BAD_CHECKPOINT",
  34. "CS_ERR_BAD_FLAGS",
  35. "CS_ERR_NO_SECTIONS",
  36. };
  37. int get_sa_error(cs_error_t error, char *str, int len)
  38. {
  39. if (error < CS_OK ||
  40. error > CS_ERR_NO_SECTIONS ||
  41. len < strlen(sa_error_list[error])) {
  42. errno = EINVAL;
  43. return -1;
  44. }
  45. strncpy(str, sa_error_list[error], len);
  46. if (len > 0) {
  47. str[len - 1] = '\0';
  48. }
  49. return 0;
  50. }
  51. char *get_sa_error_b (cs_error_t error) {
  52. return ((char *)sa_error_list[error]);
  53. }
  54. char *get_test_output (cs_error_t result, cs_error_t expected) {
  55. static char test_result[256];
  56. if (result == expected) {
  57. return ("PASSED");
  58. } else {
  59. snprintf (test_result, sizeof(test_result),
  60. "FAILED expected %s got %s",
  61. get_sa_error_b(expected), get_sa_error_b(result));
  62. return (test_result);
  63. }
  64. }