zcrypt_debug.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*
  2. * Copyright IBM Corp. 2012
  3. * Author(s): Holger Dengler (hd@linux.vnet.ibm.com)
  4. */
  5. #ifndef ZCRYPT_DEBUG_H
  6. #define ZCRYPT_DEBUG_H
  7. #include <asm/debug.h>
  8. #include "zcrypt_api.h"
  9. /* that gives us 15 characters in the text event views */
  10. #define ZCRYPT_DBF_LEN 16
  11. /* sort out low debug levels early to avoid wasted sprints */
  12. static inline int zcrypt_dbf_passes(debug_info_t *dbf_grp, int level)
  13. {
  14. return (level <= dbf_grp->level);
  15. }
  16. #define DBF_ERR 3 /* error conditions */
  17. #define DBF_WARN 4 /* warning conditions */
  18. #define DBF_INFO 6 /* informational */
  19. #define RC2WARN(rc) ((rc) ? DBF_WARN : DBF_INFO)
  20. #define ZCRYPT_DBF_COMMON(level, text...) \
  21. do { \
  22. if (zcrypt_dbf_passes(zcrypt_dbf_common, level)) { \
  23. char debug_buffer[ZCRYPT_DBF_LEN]; \
  24. snprintf(debug_buffer, ZCRYPT_DBF_LEN, text); \
  25. debug_text_event(zcrypt_dbf_common, level, \
  26. debug_buffer); \
  27. } \
  28. } while (0)
  29. #define ZCRYPT_DBF_DEVICES(level, text...) \
  30. do { \
  31. if (zcrypt_dbf_passes(zcrypt_dbf_devices, level)) { \
  32. char debug_buffer[ZCRYPT_DBF_LEN]; \
  33. snprintf(debug_buffer, ZCRYPT_DBF_LEN, text); \
  34. debug_text_event(zcrypt_dbf_devices, level, \
  35. debug_buffer); \
  36. } \
  37. } while (0)
  38. #define ZCRYPT_DBF_DEV(level, device, text...) \
  39. do { \
  40. if (zcrypt_dbf_passes(device->dbf_area, level)) { \
  41. char debug_buffer[ZCRYPT_DBF_LEN]; \
  42. snprintf(debug_buffer, ZCRYPT_DBF_LEN, text); \
  43. debug_text_event(device->dbf_area, level, \
  44. debug_buffer); \
  45. } \
  46. } while (0)
  47. int zcrypt_debug_init(void);
  48. void zcrypt_debug_exit(void);
  49. #endif /* ZCRYPT_DEBUG_H */