Files
text_editor/src/basic/filesystem.h
2024-07-23 22:33:01 +02:00

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);