00001
00027 #ifndef POLARSSL_MEMORY_H
00028 #define POLARSSL_MEMORY_H
00029
00030 #include "config.h"
00031
00032 #include <stdlib.h>
00033
00034 #if !defined(POLARSSL_CONFIG_OPTIONS)
00035 #define POLARSSL_MEMORY_ALIGN_MULTIPLE 4
00037 #define POLARSSL_MEMORY_STDMALLOC malloc
00038 #define POLARSSL_MEMORY_STDFREE free
00039 #endif
00040
00041 #define MEMORY_VERIFY_NONE 0
00042 #define MEMORY_VERIFY_ALLOC (1 << 0)
00043 #define MEMORY_VERIFY_FREE (1 << 1)
00044 #define MEMORY_VERIFY_ALWAYS (MEMORY_VERIFY_ALLOC | MEMORY_VERIFY_FREE)
00045
00046 #ifdef __cplusplus
00047 extern "C" {
00048 #endif
00049
00050
00051
00052
00053 extern void * (*polarssl_malloc)( size_t len );
00054 extern void (*polarssl_free)( void *ptr );
00055
00064 int memory_set_own( void * (*malloc_func)( size_t ),
00065 void (*free_func)( void * ) );
00066
00067 #if defined(POLARSSL_MEMORY_BUFFER_ALLOC_C)
00068
00085 int memory_buffer_alloc_init( unsigned char *buf, size_t len );
00086
00090 void memory_buffer_alloc_free();
00091
00100 void memory_buffer_set_verify( int verify );
00101
00102 #if defined(POLARSSL_MEMORY_DEBUG)
00103
00109 void memory_buffer_alloc_status();
00110 #endif
00111
00123 int memory_buffer_alloc_verify();
00124
00125 #endif
00126
00127 #ifdef __cplusplus
00128 }
00129 #endif
00130
00131 #endif