1 #pragma once
2 #include <wiiu/types.h>
3 #include "thread.h"
4 #include "time.h"
5 
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 
10 typedef void *OSDynLoadModule;
11 typedef int (*OSDynLoadAllocFn)(int size, int align, void **outAddr);
12 typedef void (*OSDynLoadFreeFn)(void *addr);
13 
14 int32_t OSDynLoad_SetAllocator(OSDynLoadAllocFn allocFn, OSDynLoadFreeFn freeFn);
15 int32_t OSDynLoad_GetAllocator(OSDynLoadAllocFn *outAllocFn, OSDynLoadFreeFn *outFreeFn);
16 int32_t OSDynLoad_Acquire(char const *name, OSDynLoadModule *outModule);
17 int32_t OSDynLoad_FindExport(OSDynLoadModule module, int32_t isData, char const *name, void **outAddr);
18 void OSDynLoad_Release(OSDynLoadModule module);
19 
20 #ifdef __cplusplus
21 }
22 #endif
23