29 lines
735 B
C
29 lines
735 B
C
#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
|