debug.h
mbedtls/build_info.h
mbedtls/ssl.h
mbedtls/ecp.h
inttypes.h
mbedtls/asn1.h
mbedtls/bignum.h
mbedtls/build_info.h
mbedtls/ccm.h
mbedtls/chacha20.h
mbedtls/chachapoly.h
mbedtls/check_config.h
mbedtls/cipher.h
mbedtls/cmac.h
mbedtls/config_adjust_legacy_crypto.h
mbedtls/config_adjust_psa_from_legacy.h
mbedtls/config_adjust_psa_superset_legacy.h
mbedtls/config_adjust_ssl.h
mbedtls/config_adjust_x509.h
mbedtls/config_psa.h
debug.h
mbedtls/dhm.h
mbedtls/ecdh.h
mbedtls/ecdsa.h
mbedtls/ecjpake.h
mbedtls/ecp.h
mbedtls/gcm.h
mbedtls/mbedtls_config.h
mbedtls/md.h
mbedtls/md5.h
mbedtls/pk.h
mbedtls/platform_time.h
mbedtls/platform_util.h
mbedtls/poly1305.h
mbedtls/private_access.h
mbedtls/ripemd160.h
mbedtls/rsa.h
mbedtls/sha1.h
mbedtls/sha256.h
mbedtls/sha3.h
mbedtls/sha512.h
mbedtls/ssl.h
mbedtls/ssl_ciphersuites.h
mbedtls/threading.h
mbedtls/x509.h
mbedtls/x509_crl.h
mbedtls/x509_crt.h
psa/build_info.h
psa/crypto.h
psa/crypto_adjust_auto_enabled.h
psa/crypto_adjust_config_dependencies.h
psa/crypto_adjust_config_key_pair_types.h
psa/crypto_adjust_config_synonyms.h
psa/crypto_builtin_composites.h
psa/crypto_builtin_key_derivation.h
psa/crypto_builtin_primitives.h
crypto_compat.h
psa/crypto_driver_common.h
psa/crypto_driver_contexts_composites.h
psa/crypto_driver_contexts_key_derivation.h
psa/crypto_driver_contexts_primitives.h
crypto_extra.h
psa/crypto_legacy.h
crypto_platform.h
crypto_sizes.h
crypto_struct.h
crypto_types.h
crypto_values.h
inttypes.h
limits.h
pthread.h
stddef.h
stdint.h
stdio.h
stdlib.h
time.h
MBEDTLS_DEBUG_STRIP_PARENS
...
__VA_ARGS__
MBEDTLS_SSL_DEBUG_MSG
level
args
mbedtls_debug_print_msg(ssl, level, __FILE__, __LINE__, \ MBEDTLS_DEBUG_STRIP_PARENS args)
MBEDTLS_SSL_DEBUG_RET
level
text
ret
mbedtls_debug_print_ret(ssl, level, __FILE__, __LINE__, text, ret)
MBEDTLS_SSL_DEBUG_BUF
level
text
buf
len
mbedtls_debug_print_buf(ssl, level, __FILE__, __LINE__, text, buf, len)
MBEDTLS_SSL_DEBUG_MPI
level
text
X
mbedtls_debug_print_mpi(ssl, level, __FILE__, __LINE__, text, X)
MBEDTLS_SSL_DEBUG_ECP
level
text
X
mbedtls_debug_print_ecp(ssl, level, __FILE__, __LINE__, text, X)
MBEDTLS_SSL_DEBUG_CRT
level
text
crt
mbedtls_debug_print_crt(ssl, level, __FILE__, __LINE__, text, crt)
MBEDTLS_SSL_DEBUG_ECDH
level
ecdh
attr
mbedtls_debug_printf_ecdh(ssl, level, __FILE__, __LINE__, ecdh, attr)
MBEDTLS_PRINTF_ATTRIBUTE
string_index
first_to_check

Mark a function as having printf attributes, and thus enable checking via -wFormat and other flags. This does nothing on builds with compilers that do not support the format attribute

Module: library/debug.c Caller:

This module provides debugging functions.

MBEDTLS_PRINTF_SIZET
"zu"

MBEDTLS_PRINTF_xxx: Due to issues with older window compilers and MinGW we need to define the printf specifier for size_t and long long per platform.

Module: library/debug.c Caller:

This module provides debugging functions.

MBEDTLS_PRINTF_LONGLONG
"lld"
MBEDTLS_PRINTF_MS_TIME
MBEDTLS_PRINTF_LONGLONG
void void mbedtls_debug_set_threshold (int threshold) mbedtls_debug_set_threshold int threshold

Set the threshold error level to handle globally all debug output. Debug messages that have a level over the threshold value are discarded. (Default value: 0 = No debug ).

threshold

threshold level of messages to filter on. Messages at a higher level will be discarded.

- Debug levels

  - 0 No debug

  - 1 Error

  - 2 State change

  - 3 Informational

  - 4 Verbose

Functions for controlling and providing debug output from the library.

    /*
    *CopyrightTheMbedTLSContributors
    *SPDX-License-Identifier:Apache-2.0ORGPL-2.0-or-later
    */
    #ifndefMBEDTLS_DEBUG_H
    #defineMBEDTLS_DEBUG_H

    #include"mbedtls/build_info.h"

    #include"mbedtls/ssl.h"

    #ifdefined(MBEDTLS_ECP_C)
    #include"mbedtls/ecp.h"
    #endif

    #ifdefined(MBEDTLS_DEBUG_C)

    #defineMBEDTLS_DEBUG_STRIP_PARENS(...)__VA_ARGS__

    #defineMBEDTLS_SSL_DEBUG_MSG(level,args)\
    mbedtls_debug_print_msg(ssl,level,__FILE__,__LINE__,\
    MBEDTLS_DEBUG_STRIP_PARENSargs)

    #defineMBEDTLS_SSL_DEBUG_RET(level,text,ret)\
    mbedtls_debug_print_ret(ssl,level,__FILE__,__LINE__,text,ret)

    #defineMBEDTLS_SSL_DEBUG_BUF(level,text,buf,len)\
    mbedtls_debug_print_buf(ssl,level,__FILE__,__LINE__,text,buf,len)

    #ifdefined(MBEDTLS_BIGNUM_C)
    #defineMBEDTLS_SSL_DEBUG_MPI(level,text,X)\
    mbedtls_debug_print_mpi(ssl,level,__FILE__,__LINE__,text,X)
    #endif

    #ifdefined(MBEDTLS_ECP_C)
    #defineMBEDTLS_SSL_DEBUG_ECP(level,text,X)\
    mbedtls_debug_print_ecp(ssl,level,__FILE__,__LINE__,text,X)
    #endif

    #ifdefined(MBEDTLS_X509_CRT_PARSE_C)
    #if!defined(MBEDTLS_X509_REMOVE_INFO)
    #defineMBEDTLS_SSL_DEBUG_CRT(level,text,crt)\
    mbedtls_debug_print_crt(ssl,level,__FILE__,__LINE__,text,crt)
    #else
    #defineMBEDTLS_SSL_DEBUG_CRT(level,text,crt)do{}while(0)
    #endif/*MBEDTLS_X509_REMOVE_INFO*/
    #endif/*MBEDTLS_X509_CRT_PARSE_C*/

    #ifdefined(MBEDTLS_ECDH_C)
    #defineMBEDTLS_SSL_DEBUG_ECDH(level,ecdh,attr)\
    mbedtls_debug_printf_ecdh(ssl,level,__FILE__,__LINE__,ecdh,attr)
    #endif

    #else/*MBEDTLS_DEBUG_C*/

    #defineMBEDTLS_SSL_DEBUG_MSG(level,args)do{}while(0)
    #defineMBEDTLS_SSL_DEBUG_RET(level,text,ret)do{}while(0)
    #defineMBEDTLS_SSL_DEBUG_BUF(level,text,buf,len)do{}while(0)
    #defineMBEDTLS_SSL_DEBUG_MPI(level,text,X)do{}while(0)
    #defineMBEDTLS_SSL_DEBUG_ECP(level,text,X)do{}while(0)
    #defineMBEDTLS_SSL_DEBUG_CRT(level,text,crt)do{}while(0)
    #defineMBEDTLS_SSL_DEBUG_ECDH(level,ecdh,attr)do{}while(0)

    #endif/*MBEDTLS_DEBUG_C*/

    #ifdefined(__has_attribute)
    #if__has_attribute(format)
    #ifdefined(__MINGW32__)&&__USE_MINGW_ANSI_STDIO==1
    #defineMBEDTLS_PRINTF_ATTRIBUTE(string_index,first_to_check)\
    __attribute__((__format__(gnu_printf,string_index,first_to_check)))
    #else/*defined(__MINGW32__)&&__USE_MINGW_ANSI_STDIO==1*/
    #defineMBEDTLS_PRINTF_ATTRIBUTE(string_index,first_to_check)\
    __attribute__((format(printf,string_index,first_to_check)))
    #endif
    #else/*__has_attribute(format)*/
    #defineMBEDTLS_PRINTF_ATTRIBUTE(string_index,first_to_check)
    #endif/*__has_attribute(format)*/
    #else/*defined(__has_attribute)*/
    #defineMBEDTLS_PRINTF_ATTRIBUTE(string_index,first_to_check)
    #endif

    #ifdefined(__MINGW32__)||(defined(_MSC_VER)&&_MSC_VER<1900)
    #include<inttypes.h>
    #defineMBEDTLS_PRINTF_SIZETPRIuPTR
    #defineMBEDTLS_PRINTF_LONGLONG"I64d"
    #else\
    /*defined(__MINGW32__)||(defined(_MSC_VER)&&_MSC_VER<1900)*/
    #defineMBEDTLS_PRINTF_SIZET"zu"
    #defineMBEDTLS_PRINTF_LONGLONG"lld"
    #endif\
    /*defined(__MINGW32__)||(defined(_MSC_VER)&&_MSC_VER<1900)*/

    #if!defined(MBEDTLS_PRINTF_MS_TIME)
    #include<inttypes.h>
    #if!defined(PRId64)
    #defineMBEDTLS_PRINTF_MS_TIMEMBEDTLS_PRINTF_LONGLONG
    #else
    #defineMBEDTLS_PRINTF_MS_TIMEPRId64
    #endif
    #endif/*MBEDTLS_PRINTF_MS_TIME*/

    #ifdef__cplusplus
    extern"C"{
    #endif

    voidmbedtls_debug_set_threshold(intthreshold);

    #ifdef__cplusplus
    }
    #endif

    #endif/*MBEDTLS_DEBUG_H*/