libdragon
Loading...
Searching...
No Matches
dragonfs.h
Go to the documentation of this file.
1
8#ifndef __LIBDRAGON_DRAGONFS_H
9#define __LIBDRAGON_DRAGONFS_H
10
56#define DFS_DEFAULT_LOCATION 0
57
63#define MAX_FILENAME_LEN 243
64
68#define MAX_DIRECTORY_DEPTH 100
69
75#define DFS_ESUCCESS 0
77#define DFS_EBADINPUT -1
79#define DFS_ENOFILE -2
81#define DFS_EBADFS -3
83#define DFS_ENFILE -4
85#define DFS_EBADHANDLE -5
89// Deprecated naming
90#define DFS_ENOMEM -4
102#define FILETYPE(x) ((x) & 3)
103
109#define FLAGS_FILE 0x0
111#define FLAGS_DIR 0x1
113#define FLAGS_EOF 0x2
118#ifdef __cplusplus
119extern "C" {
120#endif
121
146int dfs_init(uint32_t base_fs_loc);
147
158int dfs_chdir(const char * const path);
159
173int dfs_dir_findfirst(const char * const path, char *buf);
174
185int dfs_dir_findnext(char *buf);
186
187
200int dfs_open(const char * const path);
201
220int dfs_read(void * const buf, int size, int count, uint32_t handle);
221
234int dfs_seek(uint32_t handle, int offset, int origin);
235
244int dfs_tell(uint32_t handle);
245
254int dfs_close(uint32_t handle);
255
264int dfs_eof(uint32_t handle);
265
274int dfs_size(uint32_t handle);
275
294uint32_t dfs_rom_addr(const char *path);
295
299const char *dfs_strerror(int error);
300
301#ifdef __cplusplus
302}
303#endif
304
305#endif
int dfs_seek(uint32_t handle, int offset, int origin)
Seek to an offset in the file.
Definition dragonfs.c:878
int dfs_size(uint32_t handle)
Return the file size of an open file.
Definition dragonfs.c:1072
int dfs_dir_findfirst(const char *const path, char *buf)
Find the first file or directory in a directory listing.
Definition dragonfs.c:690
int dfs_chdir(const char *const path)
Change directories to the specified path.
Definition dragonfs.c:620
int dfs_open(const char *const path)
Open a file given a path.
Definition dragonfs.c:788
int dfs_read(void *const buf, int size, int count, uint32_t handle)
Read data from a file.
Definition dragonfs.c:982
int dfs_init(uint32_t base_fs_loc)
Initialize the filesystem.
Definition dragonfs.c:1382
uint32_t dfs_rom_addr(const char *path)
Return the physical address of a file (in ROM space)
Definition dragonfs.c:1103
int dfs_dir_findnext(char *buf)
Find the next file or directory in a directory listing.
Definition dragonfs.c:705
int dfs_tell(uint32_t handle)
Return the current offset into a file.
Definition dragonfs.c:951
const char * dfs_strerror(int error)
Convert DFS error code into an error string.
Definition dragonfs.c:1417
int dfs_close(uint32_t handle)
Close an already open file handle.
Definition dragonfs.c:851
int dfs_eof(uint32_t handle)
Return whether the end of file has been reached.
Definition dragonfs.c:1145