#ifndef HEAP4_HOST_FREERTOS_H #define HEAP4_HOST_FREERTOS_H #include #include typedef int BaseType_t; typedef uintptr_t portPOINTER_SIZE_TYPE; typedef struct xHeapStats { size_t xAvailableHeapSpaceInBytes; size_t xSizeOfLargestFreeBlockInBytes; size_t xSizeOfSmallestFreeBlockInBytes; size_t xNumberOfFreeBlocks; size_t xMinimumEverFreeBytesRemaining; size_t xNumberOfSuccessfulAllocations; size_t xNumberOfSuccessfulFrees; } HeapStats_t; #define configSUPPORT_DYNAMIC_ALLOCATION 1 #define configTOTAL_HEAP_SIZE ((size_t)4096U) #define configAPPLICATION_ALLOCATED_HEAP 1 #define configUSE_MALLOC_FAILED_HOOK 1 #define configHEAP_CLEAR_MEMORY_ON_FREE 0 #define configENABLE_HEAP_PROTECTOR 0 #define portBYTE_ALIGNMENT 8U #define portBYTE_ALIGNMENT_MASK (portBYTE_ALIGNMENT - 1U) #define portMAX_DELAY (~(size_t)0U) #define PRIVILEGED_DATA #define PRIVILEGED_FUNCTION #define mtCOVERAGE_TEST_MARKER() do { } while (0) #define traceMALLOC(pointer, size) do { (void)(pointer); (void)(size); } while (0) #define traceFREE(pointer, size) do { (void)(pointer); (void)(size); } while (0) #define taskENTER_CRITICAL() do { } while (0) #define taskEXIT_CRITICAL() do { } while (0) void heap4_lab_assert(const char *file, int line); void vApplicationMallocFailedHook(void); void *pvPortMalloc(size_t wanted_size); void vPortFree(void *pointer); size_t xPortGetFreeHeapSize(void); size_t xPortGetMinimumEverFreeHeapSize(void); void vPortGetHeapStats(HeapStats_t *stats); void vPortHeapResetState(void); #define configASSERT(condition) \ do { if (!(condition)) heap4_lab_assert(__FILE__, __LINE__); } while (0) #endif