#ifndef OS_H #define OS_H #include "core.h" // ### Memory ### void *os_alloc(size_t capacity); void os_reserve(void *ptr); void os_decommit(void *ptr); void os_free(void *ptr, size_t freeSize); // ### File IO ### string os_readEntireFile(Arena *arena, string filename); bool os_writeEntireFile(Arena *arena, string filename, const byte *contents, size_t contentsLength); bool os_fileAppend(Arena *arena, string filename, const byte *contents, size_t contentsLength); // ### Standard IO ### void os_print(StdStream target, const char *fmt, va_list argList); // ### Multithreading ### typedef struct OS_Thread OS_Thread; struct OS_Thread { uint64 id; }; OS_Thread os_createThread(void *(*entry)(void *ctx), void *ctx); #endif