mirror of
https://github.com/DarkStore-3DS/Project_CTR.git
synced 2026-07-03 00:39:14 +00:00
65 lines
1.1 KiB
C
65 lines
1.1 KiB
C
#pragma once
|
|
|
|
#ifdef _WIN32
|
|
#define fs_romfs_char u16
|
|
#define fs_char wchar_t
|
|
#define fs_dirent _wdirent
|
|
#define fs_DIR _WDIR
|
|
#define fs_readdir _wreaddir
|
|
#define fs_chdir _wchdir
|
|
#define fs_opendir _wopendir
|
|
#define fs_closedir _wclosedir
|
|
#else
|
|
#define fs_romfs_char u16
|
|
#define fs_char char
|
|
#define fs_dirent dirent
|
|
#define fs_DIR DIR
|
|
#define fs_readdir readdir
|
|
#define fs_chdir chdir
|
|
#define fs_opendir opendir
|
|
#define fs_closedir closedir
|
|
#endif
|
|
|
|
|
|
struct fs_entry
|
|
{
|
|
bool IsDir;
|
|
fs_char *fs_name;
|
|
fs_romfs_char *name;
|
|
u32 name_len;
|
|
u64 size;
|
|
FILE *fp;
|
|
};
|
|
|
|
struct fs_file
|
|
{
|
|
fs_romfs_char *name;
|
|
u32 name_len;
|
|
u64 size;
|
|
FILE *fp;
|
|
};
|
|
|
|
struct fs_dir
|
|
{
|
|
fs_romfs_char *name;
|
|
u32 name_len;
|
|
|
|
struct fs_dir *dir;
|
|
u32 m_dir;
|
|
u32 u_dir;
|
|
|
|
struct fs_file *file;
|
|
u32 m_file;
|
|
u32 u_file;
|
|
};
|
|
|
|
typedef struct fs_entry fs_entry;
|
|
typedef struct fs_file fs_file;
|
|
typedef struct fs_dir fs_dir;
|
|
|
|
int fs_RomFsStrLen(fs_romfs_char *str);
|
|
|
|
int fs_OpenDir(fs_char *fs_path, fs_romfs_char *path, u32 pathlen, fs_dir *dir);
|
|
void fs_PrintDir(fs_dir *dir, u32 depth);
|
|
void fs_FreeDir(fs_dir *dir);
|
|
void fs_FreeFiles(fs_dir *dir); |