#ifndef RT_FSUITLS_H #define RT_FSUTILS_H /* File system utilities */ #include "runtime.h" #include #ifdef __cplusplus extern "C" { #endif typedef enum { RT_DIRENT_TYPE_FILE, RT_DIRENT_TYPE_DIRECTORY, RT_DIRENT_TYPE_SYMLINK, } rt_dirent_type; typedef struct { char name[260]; rt_dirent_type type; bool is_last; } rt_dirent; typedef struct rt_scandir_handle_s rt_scandir_handle; RT_DLLEXPORT rt_scandir_handle *rtScanDirectory(const char *path); RT_DLLEXPORT rt_dirent rtNextDirectoryEntry(rt_scandir_handle *dir); RT_DLLEXPORT void rtCloseDirectory(rt_scandir_handle *dir); RT_DLLEXPORT bool rtCreateDirectory(const char *path); RT_DLLEXPORT size_t rtGetFileSize(const char *path); RT_DLLEXPORT uint64_t rtGetFileModificationTimestamp(const char *path); /* Does not really fit here, but it is mostly useful for comparison with file timestamps. */ RT_DLLEXPORT uint64_t rtGetCurrentTimestamp(void); #ifdef __cplusplus } #endif #endif