Mbed TLS v3.6.0
memory_buffer_alloc.h
Go to the documentation of this file.
1 
6 /*
7  * Copyright The Mbed TLS Contributors
8  * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
9  */
10 #ifndef MBEDTLS_MEMORY_BUFFER_ALLOC_H
11 #define MBEDTLS_MEMORY_BUFFER_ALLOC_H
12 
13 #include "mbedtls/build_info.h"
14 
15 #include <stddef.h>
16 
25 #if !defined(MBEDTLS_MEMORY_ALIGN_MULTIPLE)
26 #define MBEDTLS_MEMORY_ALIGN_MULTIPLE 4
27 #endif
28 
31 #define MBEDTLS_MEMORY_VERIFY_NONE 0
32 #define MBEDTLS_MEMORY_VERIFY_ALLOC (1 << 0)
33 #define MBEDTLS_MEMORY_VERIFY_FREE (1 << 1)
34 #define MBEDTLS_MEMORY_VERIFY_ALWAYS (MBEDTLS_MEMORY_VERIFY_ALLOC | \
35  MBEDTLS_MEMORY_VERIFY_FREE)
36 
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
56 void mbedtls_memory_buffer_alloc_init(unsigned char *buf, size_t len);
57 
62 
72 
73 #if defined(MBEDTLS_MEMORY_DEBUG)
80 void mbedtls_memory_buffer_alloc_status(void);
81 
88 void mbedtls_memory_buffer_alloc_count_get(size_t *alloc_count, size_t *free_count);
89 
98 void mbedtls_memory_buffer_alloc_max_get(size_t *max_used, size_t *max_blocks);
99 
103 void mbedtls_memory_buffer_alloc_max_reset(void);
104 
113 void mbedtls_memory_buffer_alloc_cur_get(size_t *cur_used, size_t *cur_blocks);
114 #endif /* MBEDTLS_MEMORY_DEBUG */
115 
128 
129 #if defined(MBEDTLS_SELF_TEST)
136 #endif
137 
138 #ifdef __cplusplus
139 }
140 #endif
141 
142 #endif /* memory_buffer_alloc.h */
Build-time configuration info.
int mbedtls_memory_buffer_alloc_verify(void)
Verifies that all headers in the memory buffer are correct and contain sane values....
void mbedtls_memory_buffer_set_verify(int verify)
Determine when the allocator should automatically verify the state of the entire chain of headers / m...
int mbedtls_memory_buffer_alloc_self_test(int verbose)
Checkup routine.
void mbedtls_memory_buffer_alloc_init(unsigned char *buf, size_t len)
Initialize use of stack-based memory allocator. The stack-based allocator does memory management insi...
void mbedtls_memory_buffer_alloc_free(void)
Free the mutex for thread-safety and clear remaining memory.