Memory Allocation Routines
| Routine | Attributes | Description |
|---|
| _alloc_boxf | reentrant | Allocates a fixed size far block from the specified memory pool. |
| _calloc_boxh | reentrant | Allocates a fixed size huge block from the specified memory pool. |
| _alloc_boxn | reentrant | Allocates a fixed size near block from the specified memory pool. |
| _calloc_boxf | reentrant | Allocates a fixed size far block from the specified memory pool. |
| _calloc_boxh | reentrant | Releases a fixed size block from the specified huge memory pool. |
| _calloc_boxn | reentrant | Allocates a fixed size near block from the specified memory pool. |
| _free_boxf | reentrant | Frees a fixed size block that was allocated using _alloc_boxf or _calloc_boxf. |
| _free_boxh | reentrant | Frees a fixed size block that was allocated using _alloc_boxh or _calloc_boxh. |
| _free_boxn | reentrant | Frees a fixed size block that was allocated using _alloc_boxn or _calloc_boxn. |
| _init_boxf | reentrant | Initializes the location and size of a far fixed block memory pool. |
| _init_boxh | reentrant | Initializes the location and size of a huge fixed block memory pool. |
| _init_boxn | reentrant | Initializes the location and size of a near fixed block memory pool. |
| calloc | | Allocates storage for an array from the memory pool. |
| calloc_b | | Allocates storage for an array from the xhuge memory pool. |
| free | | Frees a memory block that was allocated using calloc, malloc, or realloc. |
| free_b | | Frees a memory block that was allocated using calloc_b, malloc_b, or realloc_b. |
| init_mempool | | Initializes the memory location and size of the memory pool. |
| init_mempool_b | | Initializes the memory location and size of the xhuge memory pool. |
| malloc | | Allocates a block from the memory pool. |
| malloc_b | | Allocates a block from the xhuge memory pool. |
| realloc | | Reallocates a block from the memory pool. |
| realloc_b | | Reallocates a block from the xhuge memory pool. |
The memory allocation functions provide you with a means to specify, allocate, and free blocks of memory from a memory pool. Standard memory allocation functions are implemented as functions and are prototyped in the stdlib.h include file. Fixed block size memory allocation routines are prototyped in membox.h.
Before using any of these functions to allocate memory, you must first specify the size and location of the memory pool using the init_mempool routine or the size, location, and block size using the _init_box? routines. All memory requests are satisfied from the specified memory block.
The calloc, malloc, _alloc_box?, and _calloc_box? routines allocate blocks of memory from the pool. The calloc routine allocates an array with a specified number of elements of a given size and initializes the array to 0. The malloc routine allocates a specified number of bytes. The _alloc_box? and _calloc_box? routines allocate a single fixed-size block from the memory pool.
The realloc routine changes the size of an allocated block. The free and _free_box? routines return a previously allocated memory block to the memory pool.