zephyr::raw

Function k_heap_alloc

source
pub unsafe extern "C" fn k_heap_alloc(
    h: *mut k_heap,
    bytes: usize,
    timeout: k_timeout_t,
) -> *mut c_void
Expand description

@brief Allocate memory from a k_heap

Allocates and returns a memory buffer from the memory region owned by the heap. If no memory is available immediately, the call will block for the specified timeout (constructed via the standard timeout API, or K_NO_WAIT or K_FOREVER) waiting for memory to be freed. If the allocation cannot be performed by the expiration of the timeout, NULL will be returned. Allocated memory is aligned on a multiple of pointer sizes.

@note @a timeout must be set to K_NO_WAIT if called from ISR. @note When CONFIG_MULTITHREADING=n any @a timeout is treated as K_NO_WAIT.

@funcprops \isr_ok

@param h Heap from which to allocate @param bytes Desired size of block to allocate @param timeout How long to wait, or K_NO_WAIT @return A pointer to valid heap memory, or NULL