| /* |
| * Copyright 2007-2021 The OpenSSL Project Authors. All Rights Reserved. |
| * Copyright Nokia 2007-2019 |
| * Copyright Siemens AG 2015-2019 |
| * |
| * Licensed under the Apache License 2.0 (the "License"). You may not use |
| * this file except in compliance with the License. You can obtain a copy |
| * in the file LICENSE in the source distribution or at |
| * https://www.openssl.org/source/license.html |
| */ |
| |
| #ifndef OPENSSL_CMP_UTIL_H |
| # define OPENSSL_CMP_UTIL_H |
| # pragma once |
| |
| # include <openssl/opensslconf.h> |
| # ifndef OPENSSL_NO_CMP |
| |
| # include <openssl/macros.h> |
| # include <openssl/trace.h> |
| |
| # ifdef __cplusplus |
| extern "C" { |
| # endif |
| |
| int OSSL_CMP_log_open(void); |
| void OSSL_CMP_log_close(void); |
| # define OSSL_CMP_LOG_PREFIX "CMP " |
| |
| /* |
| * generalized logging/error callback mirroring the severity levels of syslog.h |
| */ |
| typedef int OSSL_CMP_severity; |
| # define OSSL_CMP_LOG_EMERG 0 |
| # define OSSL_CMP_LOG_ALERT 1 |
| # define OSSL_CMP_LOG_CRIT 2 |
| # define OSSL_CMP_LOG_ERR 3 |
| # define OSSL_CMP_LOG_WARNING 4 |
| # define OSSL_CMP_LOG_NOTICE 5 |
| # define OSSL_CMP_LOG_INFO 6 |
| # define OSSL_CMP_LOG_DEBUG 7 |
| # define OSSL_CMP_LOG_TRACE 8 |
| # define OSSL_CMP_LOG_MAX OSSL_CMP_LOG_TRACE |
| typedef int (*OSSL_CMP_log_cb_t)(const char *func, const char *file, int line, |
| OSSL_CMP_severity level, const char *msg); |
| |
| int OSSL_CMP_print_to_bio(BIO *bio, const char *component, const char *file, |
| int line, OSSL_CMP_severity level, const char *msg); |
| /* use of the logging callback for outputting error queue */ |
| void OSSL_CMP_print_errors_cb(OSSL_CMP_log_cb_t log_fn); |
| |
| # ifdef __cplusplus |
| } |
| # endif |
| # endif /* !defined(OPENSSL_NO_CMP) */ |
| #endif /* !defined(OPENSSL_CMP_UTIL_H) */ |