cmp_util.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. * Copyright 2007-2021 The OpenSSL Project Authors. All Rights Reserved.
  3. * Copyright Nokia 2007-2019
  4. * Copyright Siemens AG 2015-2019
  5. *
  6. * Licensed under the Apache License 2.0 (the "License"). You may not use
  7. * this file except in compliance with the License. You can obtain a copy
  8. * in the file LICENSE in the source distribution or at
  9. * https://www.openssl.org/source/license.html
  10. */
  11. #ifndef OPENSSL_CMP_UTIL_H
  12. #define OPENSSL_CMP_UTIL_H
  13. #pragma once
  14. #include <openssl/opensslconf.h>
  15. #ifndef OPENSSL_NO_CMP
  16. #include <openssl/macros.h>
  17. #include <openssl/trace.h>
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21. int OSSL_CMP_log_open(void);
  22. void OSSL_CMP_log_close(void);
  23. #define OSSL_CMP_LOG_PREFIX "CMP "
  24. /*
  25. * generalized logging/error callback mirroring the severity levels of syslog.h
  26. */
  27. typedef int OSSL_CMP_severity;
  28. #define OSSL_CMP_LOG_EMERG 0
  29. #define OSSL_CMP_LOG_ALERT 1
  30. #define OSSL_CMP_LOG_CRIT 2
  31. #define OSSL_CMP_LOG_ERR 3
  32. #define OSSL_CMP_LOG_WARNING 4
  33. #define OSSL_CMP_LOG_NOTICE 5
  34. #define OSSL_CMP_LOG_INFO 6
  35. #define OSSL_CMP_LOG_DEBUG 7
  36. #define OSSL_CMP_LOG_TRACE 8
  37. #define OSSL_CMP_LOG_MAX OSSL_CMP_LOG_TRACE
  38. typedef int (*OSSL_CMP_log_cb_t)(const char *func, const char *file, int line,
  39. OSSL_CMP_severity level, const char *msg);
  40. int OSSL_CMP_print_to_bio(BIO *bio, const char *component, const char *file,
  41. int line, OSSL_CMP_severity level, const char *msg);
  42. /* use of the logging callback for outputting error queue */
  43. void OSSL_CMP_print_errors_cb(OSSL_CMP_log_cb_t log_fn);
  44. #ifdef __cplusplus
  45. }
  46. #endif
  47. #endif /* !defined(OPENSSL_NO_CMP) */
  48. #endif /* !defined(OPENSSL_CMP_UTIL_H) */