42 lines
1022 B
C
42 lines
1022 B
C
#pragma once
|
|
#include "../basic/basic.h"
|
|
|
|
struct FileIter {
|
|
bool is_valid;
|
|
bool is_directory;
|
|
String absolute_path;
|
|
String relative_path;
|
|
String filename;
|
|
|
|
String path;
|
|
Allocator allocator;
|
|
Arena *arena;
|
|
TempArena temp;
|
|
union {
|
|
struct Win32_FileIter *w32;
|
|
void *dir;
|
|
};
|
|
};
|
|
|
|
String ReadFile(Allocator arena, String path);
|
|
bool WriteFile(String path, String data);
|
|
String GetAbsolutePath(Allocator arena, String relative);
|
|
bool IsValid(const FileIter &it);
|
|
void Advance(FileIter *it);
|
|
FileIter IterateFiles(Allocator allocator, String path);
|
|
bool InitOS();
|
|
|
|
String GetExePath(Allocator allocator);
|
|
String GetExeDir(Allocator allocator);
|
|
bool FileExists(String path);
|
|
bool IsDir(String path);
|
|
bool IsFile(String path);
|
|
|
|
struct Process {
|
|
bool is_valid;
|
|
String error_message;
|
|
char platform[32];
|
|
};
|
|
|
|
Process RunEx(String cmd);
|
|
int Wait(Process *process); |