mbed TLS v1.3.14
memory_buffer_alloc.h
Go to the documentation of this file.
1 
24 #ifndef POLARSSL_MEMORY_BUFFER_ALLOC_H
25 #define POLARSSL_MEMORY_BUFFER_ALLOC_H
26 
27 #if !defined(POLARSSL_CONFIG_FILE)
28 #include "config.h"
29 #else
30 #include POLARSSL_CONFIG_FILE
31 #endif
32 
33 #include <stddef.h>
34 
43 #if !defined(POLARSSL_MEMORY_ALIGN_MULTIPLE)
44 #define POLARSSL_MEMORY_ALIGN_MULTIPLE 4
45 #endif
46 
47 /* \} name SECTION: Module settings */
48 
49 #define MEMORY_VERIFY_NONE 0
50 #define MEMORY_VERIFY_ALLOC (1 << 0)
51 #define MEMORY_VERIFY_FREE (1 << 1)
52 #define MEMORY_VERIFY_ALWAYS (MEMORY_VERIFY_ALLOC | MEMORY_VERIFY_FREE)
53 
54 #ifdef __cplusplus
55 extern "C" {
56 #endif
57 
75 int memory_buffer_alloc_init( unsigned char *buf, size_t len );
76 
80 void memory_buffer_alloc_free( void );
81 
90 void memory_buffer_set_verify( int verify );
91 
92 #if defined(POLARSSL_MEMORY_DEBUG)
93 
99 void memory_buffer_alloc_status( void );
100 
107 void memory_buffer_alloc_max_get( size_t *max_used, size_t *max_blocks );
108 
112 void memory_buffer_alloc_max_reset( void );
113 
120 void memory_buffer_alloc_cur_get( size_t *cur_used, size_t *cur_blocks );
121 #endif /* POLARSSL_MEMORY_DEBUG */
122 
134 int memory_buffer_alloc_verify( void );
135 
136 #if defined(POLARSSL_SELF_TEST)
137 
142 int memory_buffer_alloc_self_test( int verbose );
143 #endif
144 
145 #ifdef __cplusplus
146 }
147 #endif
148 
149 #endif /* memory_buffer_alloc.h */
void memory_buffer_alloc_free(void)
Free the mutex for thread-safety and clear remaining memory.
Configuration options (set of defines)
int memory_buffer_alloc_self_test(int verbose)
Checkup routine.
void memory_buffer_set_verify(int verify)
Determine when the allocator should automatically verify the state of the entire chain of headers / m...
int memory_buffer_alloc_init(unsigned char *buf, size_t len)
Initialize use of stack-based memory allocator.
int memory_buffer_alloc_verify(void)
Verifies that all headers in the memory buffer are correct and contain sane values.