00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049 #ifndef MBEDTLS_MEMORY_BUFFER_ALLOC_H
00050 #define MBEDTLS_MEMORY_BUFFER_ALLOC_H
00051
00052 #if !defined(MBEDTLS_CONFIG_FILE)
00053 #include "config.h"
00054 #else
00055 #include MBEDTLS_CONFIG_FILE
00056 #endif
00057
00058 #include <stddef.h>
00059
00068 #if !defined(MBEDTLS_MEMORY_ALIGN_MULTIPLE)
00069 #define MBEDTLS_MEMORY_ALIGN_MULTIPLE 4
00070 #endif
00071
00072
00073
00074 #define MBEDTLS_MEMORY_VERIFY_NONE 0
00075 #define MBEDTLS_MEMORY_VERIFY_ALLOC (1 << 0)
00076 #define MBEDTLS_MEMORY_VERIFY_FREE (1 << 1)
00077 #define MBEDTLS_MEMORY_VERIFY_ALWAYS (MBEDTLS_MEMORY_VERIFY_ALLOC | MBEDTLS_MEMORY_VERIFY_FREE)
00078
00079 #ifdef __cplusplus
00080 extern "C" {
00081 #endif
00082
00098 void mbedtls_memory_buffer_alloc_init( unsigned char *buf, size_t len );
00099
00103 void mbedtls_memory_buffer_alloc_free( void );
00104
00113 void mbedtls_memory_buffer_set_verify( int verify );
00114
00115 #if defined(MBEDTLS_MEMORY_DEBUG)
00116
00122 void mbedtls_memory_buffer_alloc_status( void );
00123
00132 void mbedtls_memory_buffer_alloc_max_get( size_t *max_used, size_t *max_blocks );
00133
00137 void mbedtls_memory_buffer_alloc_max_reset( void );
00138
00147 void mbedtls_memory_buffer_alloc_cur_get( size_t *cur_used, size_t *cur_blocks );
00148 #endif
00149
00161 int mbedtls_memory_buffer_alloc_verify( void );
00162
00163 #if defined(MBEDTLS_SELF_TEST)
00164
00169 int mbedtls_memory_buffer_alloc_self_test( int verbose );
00170 #endif
00171
00172 #ifdef __cplusplus
00173 }
00174 #endif
00175
00176 #endif