13#ifndef DA20B33A_06DF_4AB0_8B0A_B8874A623312
14#define DA20B33A_06DF_4AB0_8B0A_B8874A623312
31#define _WIN32_WINNT 0x0400
34#define PATH_SEP_STR "\\"
39#include <sys/random.h>
47#define PATH_SEP_STR "/"
68 WIN32_FIND_DATAW find_data;
69 char name_buf[MAX_PATH];
125int dir_remove(
const char* path,
bool recursive);
137int dir_rename(
const char* oldpath,
const char* newpath);
159WARN_UNUSED_RESULT
char**
dir_list(
const char* path,
size_t* count);
179bool is_dir(
const char* path);
319WARN_UNUSED_RESULT
char*
get_cwd(
void);
445WARN_UNUSED_RESULT
char*
filepath_join(
const char* path1,
const char* path2);
457bool filepath_join_buf(
const char* path1,
const char* path2,
char* abspath,
size_t len);
Cross-platform file handling API with synchronous and asynchronous I/O support.
bool is_dir(const char *path)
void filepath_extension(const char *path, char *ext, size_t size)
void filepath_dirname(const char *path, char *dirname, size_t size)
bool is_file(const char *path)
WalkDirOption(* WalkDirCallback)(const FileAttributes *attr, const char *path, const char *name, void *data)
void filepath_nameonly(const char *path, char *name, size_t size)
int filepath_rename(const char *oldpath, const char *newpath)
WARN_UNUSED_RESULT char * make_tempfile(void)
int dir_create(const char *path)
int dir_chdir(const char *path)
WARN_UNUSED_RESULT Directory * dir_open(const char *path)
bool filepath_join_buf(const char *path1, const char *path2, char *abspath, size_t len)
bool path_exists(const char *path)
int filepath_remove(const char *path)
int dir_rename(const char *oldpath, const char *newpath)
const char * user_home_dir(void)
void dir_list_with_callback(const char *path, void(*callback)(const char *name))
WARN_UNUSED_RESULT char * filepath_absolute(const char *path)
WARN_UNUSED_RESULT char * get_cwd(void)
WARN_UNUSED_RESULT char ** dir_list(const char *path, size_t *count)
void filepath_basename(const char *path, char *basename, size_t size)
bool filepath_makedirs(const char *path)
WARN_UNUSED_RESULT char * filepath_join(const char *path1, const char *path2)
ssize_t dir_size(const char *path)
WARN_UNUSED_RESULT char * dir_next(Directory *dir)
WARN_UNUSED_RESULT char * make_tempdir(void)
void dir_close(Directory *dir)
void filepath_split(const char *path, char *dir, char *name, size_t dir_size, size_t name_size)
bool is_symlink(const char *path)
WARN_UNUSED_RESULT char * filepath_expanduser(const char *path)
int dir_walk(const char *path, WalkDirCallback callback, void *data)
WARN_UNUSED_RESULT char * get_tempdir(void)
int dir_walk_depth_first(const char *path, WalkDirCallback callback, void *data)
bool filepath_expanduser_buf(const char *path, char *expanded, size_t len)
int dir_remove(const char *path, bool recursive)
Collection of utility macros for assertions, memory management, math, and debugging.
Windows directory entry compatibility for POSIX dirent.h.