50 lines
1.2 KiB
C
50 lines
1.2 KiB
C
#pragma once
|
|
|
|
struct FileIter {
|
|
bool is_valid;
|
|
bool is_directory;
|
|
String absolute_path;
|
|
String relative_path;
|
|
String filename;
|
|
|
|
String path;
|
|
Allocator allocator;
|
|
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);
|
|
void InitOS(void (*error_proc)(const char *, ...));
|
|
|
|
bool DeleteFile(String path);
|
|
String GetExePath(Allocator allocator);
|
|
String GetExeDir(Allocator allocator);
|
|
bool FileExists(String path);
|
|
bool IsDir(String path);
|
|
bool IsFile(String path);
|
|
String GetWorkingDir(Allocator arena);
|
|
bool IsAbsolute(String path);
|
|
int64_t GetFileModTime(String file);
|
|
String WriteTempFile(Allocator allocator, String data);
|
|
|
|
|
|
|
|
|
|
double GetTimeMicros(void);
|
|
|
|
enum MakeDirResult {
|
|
MakeDirResult_Success,
|
|
MakeDirResult_Exists,
|
|
MakeDirResult_NotFound,
|
|
MakeDirResult_ErrorOther,
|
|
};
|
|
|
|
MakeDirResult MakeDir(String path);
|