2 * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved.
3 * Copyright Nokia 2007-2019
4 * Copyright Siemens AG 2015-2019
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
12 #ifndef OPENSSL_CMP_UTIL_H
13 # define OPENSSL_CMP_UTIL_H
15 # include <openssl/opensslconf.h>
16 # ifndef OPENSSL_NO_CMP
18 # include <openssl/macros.h>
19 # include <openssl/trace.h>
25 int OSSL_CMP_log_open(void);
26 void OSSL_CMP_log_close(void);
27 # define OSSL_CMP_LOG_PREFIX "CMP "
30 * generalized logging/error callback mirroring the severity levels of syslog.h
32 typedef int OSSL_CMP_severity;
33 # define OSSL_CMP_LOG_EMERG 0
34 # define OSSL_CMP_LOG_ALERT 1
35 # define OSSL_CMP_LOG_CRIT 2
36 # define OSSL_CMP_LOG_ERR 3
37 # define OSSL_CMP_LOG_WARNING 4
38 # define OSSL_CMP_LOG_NOTICE 5
39 # define OSSL_CMP_LOG_INFO 6
40 # define OSSL_CMP_LOG_DEBUG 7
41 typedef int (*OSSL_CMP_log_cb_t)(const char *func, const char *file, int line,
42 OSSL_CMP_severity level, const char *msg);
44 int OSSL_CMP_print_to_bio(BIO *bio, const char *component, const char *file,
45 int line, OSSL_CMP_severity level, const char *msg);
46 /* use of the logging callback for outputting error queue */
47 void OSSL_CMP_print_errors_cb(OSSL_CMP_log_cb_t log_fn);
52 # endif /* !defined(OPENSSL_NO_CMP) */
53 #endif /* !defined(OPENSSL_CMP_UTIL_H) */