00001
00023 #ifndef MBEDTLS_MEMORY_BUFFER_ALLOC_H
00024 #define MBEDTLS_MEMORY_BUFFER_ALLOC_H
00025
00026 #if !defined(MBEDTLS_CONFIG_FILE)
00027 #include "config.h"
00028 #else
00029 #include MBEDTLS_CONFIG_FILE
00030 #endif
00031
00032 #include <stddef.h>
00033
00042 #if !defined(MBEDTLS_MEMORY_ALIGN_MULTIPLE)
00043 #define MBEDTLS_MEMORY_ALIGN_MULTIPLE 4
00044 #endif
00045
00046
00047
00048 #define MBEDTLS_MEMORY_VERIFY_NONE 0
00049 #define MBEDTLS_MEMORY_VERIFY_ALLOC (1 << 0)
00050 #define MBEDTLS_MEMORY_VERIFY_FREE (1 << 1)
00051 #define MBEDTLS_MEMORY_VERIFY_ALWAYS (MBEDTLS_MEMORY_VERIFY_ALLOC | MBEDTLS_MEMORY_VERIFY_FREE)
00052
00053 #ifdef __cplusplus
00054 extern "C" {
00055 #endif
00056
00072 void mbedtls_memory_buffer_alloc_init( unsigned char *buf, size_t len );
00073
00077 void mbedtls_memory_buffer_alloc_free( void );
00078
00087 void mbedtls_memory_buffer_set_verify( int verify );
00088
00089 #if defined(MBEDTLS_MEMORY_DEBUG)
00090
00096 void mbedtls_memory_buffer_alloc_status( void );
00097
00106 void mbedtls_memory_buffer_alloc_max_get( size_t *max_used, size_t *max_blocks );
00107
00111 void mbedtls_memory_buffer_alloc_max_reset( void );
00112
00121 void mbedtls_memory_buffer_alloc_cur_get( size_t *cur_used, size_t *cur_blocks );
00122 #endif
00123
00135 int mbedtls_memory_buffer_alloc_verify( void );
00136
00137 #if defined(MBEDTLS_SELF_TEST)
00138
00143 int mbedtls_memory_buffer_alloc_self_test( int verbose );
00144 #endif
00145
00146 #ifdef __cplusplus
00147 }
00148 #endif
00149
00150 #endif