Home | History | Annotate | Line # | Download | only in openssl
      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 
     12 #ifndef OPENSSL_CMP_UTIL_H
     13 # define OPENSSL_CMP_UTIL_H
     14 # pragma once
     15 
     16 # include <openssl/opensslconf.h>
     17 # ifndef OPENSSL_NO_CMP
     18 
     19 #  include <openssl/macros.h>
     20 #  include <openssl/trace.h>
     21 
     22 #  ifdef __cplusplus
     23 extern "C" {
     24 #  endif
     25 
     26 int  OSSL_CMP_log_open(void);
     27 void OSSL_CMP_log_close(void);
     28 #  define OSSL_CMP_LOG_PREFIX "CMP "
     29 
     30 /*
     31  * generalized logging/error callback mirroring the severity levels of syslog.h
     32  */
     33 typedef int OSSL_CMP_severity;
     34 #  define OSSL_CMP_LOG_EMERG   0
     35 #  define OSSL_CMP_LOG_ALERT   1
     36 #  define OSSL_CMP_LOG_CRIT    2
     37 #  define OSSL_CMP_LOG_ERR     3
     38 #  define OSSL_CMP_LOG_WARNING 4
     39 #  define OSSL_CMP_LOG_NOTICE  5
     40 #  define OSSL_CMP_LOG_INFO    6
     41 #  define OSSL_CMP_LOG_DEBUG   7
     42 #  define OSSL_CMP_LOG_TRACE   8
     43 #  define OSSL_CMP_LOG_MAX     OSSL_CMP_LOG_TRACE
     44 typedef int (*OSSL_CMP_log_cb_t)(const char *func, const char *file, int line,
     45                                  OSSL_CMP_severity level, const char *msg);
     46 
     47 int OSSL_CMP_print_to_bio(BIO *bio, const char *component, const char *file,
     48                           int line, OSSL_CMP_severity level, const char *msg);
     49 /* use of the logging callback for outputting error queue */
     50 void OSSL_CMP_print_errors_cb(OSSL_CMP_log_cb_t log_fn);
     51 
     52 #  ifdef  __cplusplus
     53 }
     54 #  endif
     55 # endif /* !defined(OPENSSL_NO_CMP) */
     56 #endif /* !defined(OPENSSL_CMP_UTIL_H) */
     57