#ifndef HOST_TIMERS_H
#define HOST_TIMERS_H

#include "FreeRTOS.h"

struct FakeTimer;
using TimerHandle_t = FakeTimer *;
using TimerCallbackFunction_t = void ( * )( TimerHandle_t );

extern "C" TimerHandle_t xTimerCreateStatic( const char *, TickType_t, BaseType_t,
                                               void *, TimerCallbackFunction_t,
                                               StaticTimer_t * );
extern "C" BaseType_t xTimerStart( TimerHandle_t, TickType_t );
extern "C" BaseType_t xTimerReset( TimerHandle_t, TickType_t );
extern "C" BaseType_t xTimerChangePeriod( TimerHandle_t, TickType_t, TickType_t );
extern "C" BaseType_t xTimerStop( TimerHandle_t, TickType_t );
extern "C" BaseType_t xTimerIsTimerActive( TimerHandle_t );
extern "C" TickType_t xTimerGetPeriod( TimerHandle_t );
extern "C" void * pvTimerGetTimerID( TimerHandle_t );

#endif
