mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 08:42:12 +02:00
sandbox: Improve/augment memory allocation functions
Implement realloc() and free() for sandbox, by adding a header to each block which contains the block size. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Che-Liang Chiou <clchiou@chromium.org> Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
This commit is contained in:
29
include/os.h
29
include/os.h
@@ -106,6 +106,35 @@ void os_tty_raw(int fd);
|
||||
*/
|
||||
void *os_malloc(size_t length);
|
||||
|
||||
/**
|
||||
* Free memory previous allocated with os_malloc()/os_realloc()
|
||||
*
|
||||
* This returns the memory to the OS.
|
||||
*
|
||||
* \param ptr Pointer to memory block to free
|
||||
*/
|
||||
void *os_free(void *ptr);
|
||||
|
||||
/**
|
||||
* Reallocate previously-allocated memory to increase/decrease space
|
||||
*
|
||||
* This works in a similar way to the C library realloc() function. If
|
||||
* length is 0, then ptr is freed. Otherwise the space used by ptr is
|
||||
* expanded or reduced depending on whether length is larger or smaller
|
||||
* than before.
|
||||
*
|
||||
* If ptr is NULL, then this is similar to calling os_malloc().
|
||||
*
|
||||
* This function may need to move the memory block to make room for any
|
||||
* extra space, in which case the new pointer is returned.
|
||||
*
|
||||
* \param ptr Pointer to memory block to reallocate
|
||||
* \param length New length for memory block
|
||||
* \return pointer to new memory block, or NULL on failure or if length
|
||||
* is 0.
|
||||
*/
|
||||
void *os_realloc(void *ptr, size_t length);
|
||||
|
||||
/**
|
||||
* Access to the usleep function of the os
|
||||
*
|
||||
|
Reference in New Issue
Block a user