- internal_heapalloc
ubyte[] internal_heapalloc(uint sz)
These are the basic hooks to be implemented in C/C++ land. LWDR will call
these hooks depending on what is requested of the runtime by user code.
- rtosbackend_arrayBoundFailure
void rtosbackend_arrayBoundFailure(string file, uint line)
Called when a D array is access incorrectly.
- rtosbackend_assert
void rtosbackend_assert(string file, uint line)
Called when assert(bool exp) fails.
- rtosbackend_assertmsg
void rtosbackend_assertmsg(string msg, string file, uint line)
Called when assert(bool exp, string msg) fails.
- rtosbackend_getTLSPointerCurrThread
void* rtosbackend_getTLSPointerCurrThread(int index)
Get pointer at index in the current thread's TCB (Thread Control Block)
- rtosbackend_globalMutexDestroy
void rtosbackend_globalMutexDestroy(void* )
Destroy LWDR's global mutex. Called on runtime shutdown.
- rtosbackend_globalMutexInit
void* rtosbackend_globalMutexInit()
LWDR stores a single, global mutex for its own implementation. This function creates it. Called on runtime start.
- rtosbackend_heapalloc
void* rtosbackend_heapalloc(uint sz)
Called when LWDR requests heap memory
- rtosbackend_heapfreealloc
void rtosbackend_heapfreealloc(void* ptr)
Called when LWDR wants to free heap memory
- rtosbackend_mutexDestroy
void rtosbackend_mutexDestroy(void* )
Called when LWDR wants to destroy a mutex.
- rtosbackend_mutexInit
void* rtosbackend_mutexInit()
Called when LWDR wants to create a mutex.
- rtosbackend_mutexLock
void rtosbackend_mutexLock(void* )
LWDR wants to lock a mutex (eg, via synchronized).
- rtosbackend_mutexTryLock
int rtosbackend_mutexTryLock(void* )
Attempt to lock a mutex. Returns 0 if couldn't, 1 if locked.
- rtosbackend_mutexUnlock
void rtosbackend_mutexUnlock(void* )
LWDR wants to unlock a mutex (eg, via synchronized).
- rtosbackend_outOfMemory
void rtosbackend_outOfMemory()
Called when LWDR cannot allocate
- rtosbackend_setTLSPointerCurrThread
void rtosbackend_setTLSPointerCurrThread(void* ptr, int index)
Set pointer at index in the current thread's TCB (Thread Control Block)
- rtosbackend_terminate
void rtosbackend_terminate()
Called when LWDR wishes to terminate prematurely.