Rtos API example
memory_buffer_alloc.h File Reference
Buffer-based memory allocator. More...
Go to the source code of this file.
Functions | |
void | mbedtls_memory_buffer_alloc_init (unsigned char *buf, size_t len) |
Initialize use of stack-based memory allocator. | |
void | mbedtls_memory_buffer_alloc_free (void) |
Free the mutex for thread-safety and clear remaining memory. | |
void | mbedtls_memory_buffer_set_verify (int verify) |
Determine when the allocator should automatically verify the state of the entire chain of headers / meta-data. | |
void | mbedtls_memory_buffer_alloc_status (void) |
Print out the status of the allocated memory (primarily for use after a program should have de-allocated all memory) Prints out a list of 'still allocated' blocks and their stack trace if MBEDTLS_MEMORY_BACKTRACE is defined. | |
void | mbedtls_memory_buffer_alloc_max_get (size_t *max_used, size_t *max_blocks) |
Get the peak heap usage so far. | |
void | mbedtls_memory_buffer_alloc_max_reset (void) |
Reset peak statistics. | |
void | mbedtls_memory_buffer_alloc_cur_get (size_t *cur_used, size_t *cur_blocks) |
Get the current heap usage. | |
int | mbedtls_memory_buffer_alloc_verify (void) |
Verifies that all headers in the memory buffer are correct and contain sane values. | |
int | mbedtls_memory_buffer_alloc_self_test (int verbose) |
Checkup routine. |
Detailed Description
Buffer-based memory allocator.
Copyright (C) 2006-2015, ARM Limited, All Rights Reserved SPDX-License-Identifier: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
This file is part of mbed TLS (https://tls.mbed.org)
Definition in file memory_buffer_alloc.h.
Function Documentation
void mbedtls_memory_buffer_alloc_cur_get | ( | size_t * | cur_used, |
size_t * | cur_blocks | ||
) |
Get the current heap usage.
- Parameters:
-
cur_used Current number of bytes in use or committed. This includes bytes in allocated blocks too small to split into smaller blocks but larger than the requested size. cur_blocks Current number of blocks in use, including free and used
Definition at line 541 of file memory_buffer_alloc.c.
void mbedtls_memory_buffer_alloc_free | ( | void | ) |
Free the mutex for thread-safety and clear remaining memory.
Definition at line 603 of file memory_buffer_alloc.c.
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 inside the presented buffer and does not call calloc() and free(). It sets the global mbedtls_calloc() and mbedtls_free() pointers to its own functions. (Provided mbedtls_calloc() and mbedtls_free() are thread-safe if MBEDTLS_THREADING_C is defined)
- Note:
- This code is not optimized and provides a straight-forward implementation of a stack-based memory allocator.
- Parameters:
-
buf buffer to use as heap len size of the buffer
Definition at line 571 of file memory_buffer_alloc.c.
void mbedtls_memory_buffer_alloc_max_get | ( | size_t * | max_used, |
size_t * | max_blocks | ||
) |
Get the peak heap usage so far.
- Parameters:
-
max_used Peak number of bytes in use or committed. This includes bytes in allocated blocks too small to split into smaller blocks but larger than the requested size. max_blocks Peak number of blocks in use, including free and used
Definition at line 529 of file memory_buffer_alloc.c.
void mbedtls_memory_buffer_alloc_max_reset | ( | void | ) |
Reset peak statistics.
Definition at line 535 of file memory_buffer_alloc.c.
int mbedtls_memory_buffer_alloc_self_test | ( | int | verbose ) |
Checkup routine.
- Returns:
- 0 if successful, or 1 if a test failed
Definition at line 648 of file memory_buffer_alloc.c.
void mbedtls_memory_buffer_alloc_status | ( | void | ) |
Print out the status of the allocated memory (primarily for use after a program should have de-allocated all memory) Prints out a list of 'still allocated' blocks and their stack trace if MBEDTLS_MEMORY_BACKTRACE is defined.
Definition at line 509 of file memory_buffer_alloc.c.
int mbedtls_memory_buffer_alloc_verify | ( | void | ) |
Verifies that all headers in the memory buffer are correct and contain sane values.
Helps debug buffer-overflow errors.
Prints out first failure if MBEDTLS_MEMORY_DEBUG is defined. Prints out full header information if MBEDTLS_MEMORY_DEBUG is defined. (Includes stack trace information for each block if MBEDTLS_MEMORY_BACKTRACE is defined as well).
- Returns:
- 0 if verified, 1 otherwise
Definition at line 503 of file memory_buffer_alloc.c.
void mbedtls_memory_buffer_set_verify | ( | int | verify ) |
Determine when the allocator should automatically verify the state of the entire chain of headers / meta-data.
(Default: MBEDTLS_MEMORY_VERIFY_NONE)
- Parameters:
-
verify One of MBEDTLS_MEMORY_VERIFY_NONE, MBEDTLS_MEMORY_VERIFY_ALLOC, MBEDTLS_MEMORY_VERIFY_FREE or MBEDTLS_MEMORY_VERIFY_ALWAYS
Definition at line 498 of file memory_buffer_alloc.c.
Generated on Sun Jul 17 2022 08:25:35 by 1.7.2