summaryrefslogtreecommitdiff
path: root/prb_windows.h
diff options
context:
space:
mode:
Diffstat (limited to 'prb_windows.h')
-rw-r--r--prb_windows.h86
1 files changed, 0 insertions, 86 deletions
diff --git a/prb_windows.h b/prb_windows.h
deleted file mode 100644
index 9514c75..0000000
--- a/prb_windows.h
+++ /dev/null
@@ -1,86 +0,0 @@
-void *sys_alloc(u64 length)
-{
- assert(length);
- void *result = VirtualAlloc(0, length, MEM_COMMIT|MEM_RESERVE, PAGE_READWRITE);
- return result;
-}
-
-void sys_free(void *memory, u64 length)
-{
- assert(memory);
- assert(length);
- assert(VirtualFree(memory, 0, MEM_RELEASE));
-}
-
-void die(const char *error_string, ...)
-{
- va_list args;
- va_start(args, error_string);
- printf("error: ");
- vprintf(error_string, args);
- printf("\n");
- va_end(args);
- exit(1);
-}
-
-u64 sys_read_file(arena_t *arena, char **buffer, const char *filename)
-{
- *buffer = 0;
-
- HANDLE file = CreateFile(filename, GENERIC_READ, FILE_SHARE_READ,
- 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
- if (file == INVALID_HANDLE_VALUE) {
- printf("error: failed to open file \"%s\"\n", filename);
- return 0;
- }
-
- LARGE_INTEGER lisize;
- if (!GetFileSizeEx(file, &lisize)) {
- printf("error: failed to get size of the file \"%s\"", filename);
- CloseHandle(file);
- return 0;
- }
-
- u64 size = lisize.QuadPart;
- if (!size) {
- printf("error: file \"%s\" is empty", filename);
- CloseHandle(file);
- return 0;
- }
-
- *buffer = push_arena(arena, size + 1);
-
- DWORD bytes_read;
- if (!ReadFile(file, *buffer, size, &bytes_read, 0)) {
- CloseHandle(file);
- pop_arena(arena, size);
- printf("error: failed to read file \"%s\", bytes read: %lu\n", filename, bytes_read);
- return 0;
- }
- CloseHandle(file);
-
- *(*buffer + size) = 0;
-
- return size + 1;
-}
-
-char *sys_getbindir(arena_t *arena)
-{
- char path[MAX_PATH];
- u32 len = GetModuleFileName(0, path, MAX_PATH);
- if (!len) {
- printf("error: failed to get file path\n");
- return 0;
- }
-
- char *dir = strrchr(path, '\\');
- assert(dir);
- assert(dir > path);
-
- len = dir - path;
- dir = push_arena(arena, len + 1);
- prb_memmove(dir, path, len);
- dir[len] = 0;
-
- return dir;
-}