Files
djstdlib/os.h
2025-11-25 23:14:26 +01:00

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