177 const char *
const restrict str
194 const void *
const restrict data,
217 char *
const restrict buf,
236 void *
const restrict buf,
f_result_t
File system operation result codes.
Definition fs_utils.h:58
f_result_t file_readline(file_t *const file, char *const restrict buf, size_t n)
Read a newline-terminated string from an open file.
Definition fs_utils.c:167
f_result_t file_remove(const char *path)
Remove a file from the file system.
Definition fs_utils.c:135
f_result_t file_open(file_t **const file, const char *path, f_mode_t mode)
Open a file with the specified mode and initilize a file descriptor.
Definition fs_utils.c:81
f_result_t file_read(file_t *const file, void *const restrict buf, size_t sz, size_t n)
Read raw data from an open file.
Definition fs_utils.c:216
f_mode_t
File access and operation modes.
Definition fs_utils.h:71
bool dir_exists(const char *path)
Check whether a directory exists.
Definition fs_utils.c:35
f_result_t file_writeline(file_t *const file, const char *const restrict str)
Write a null-terminated string to an open file.
Definition fs_utils.c:151
bool path_exists(const char *path)
Check whether a path exists.
Definition fs_utils.c:29
FILE file_t
File handle type.
Definition fs_utils.h:52
f_result_t dir_list(const char *path)
List contents of a directory.
Definition fs_utils.c:49
bool file_exists(const char *path)
Check whether a file exists.
Definition fs_utils.c:42
f_result_t file_close(file_t **file)
Close an open file from its descriptor.
Definition fs_utils.c:121
f_result_t file_write(file_t *const file, const void *const restrict data, size_t sz, size_t n)
Write raw data to an open file.
Definition fs_utils.c:193
@ FR_INVALID_PARAM
Invalid parameter.
Definition fs_utils.h:64
@ FR_OK
Operation successful.
Definition fs_utils.h:59
@ FR_BUFFER_TOO_SMALL
Provided buffer too small.
Definition fs_utils.h:63
@ FR_NO_FILE
File or directory not found.
Definition fs_utils.h:62
@ FR_DISK_ERR
I/O or disk error.
Definition fs_utils.h:61
@ FR_EOF
End of file reached.
Definition fs_utils.h:60
@ BWRITE_OVERWRITE
Open binary file for overwrite.
Definition fs_utils.h:75
@ WRITE_OVERWRITE
Open text file for overwrite.
Definition fs_utils.h:72
@ WRITE_APPEND
Open text file for append.
Definition fs_utils.h:73
@ BREAD
Open binary file for reading.
Definition fs_utils.h:77
@ BWRITE_APPEND
Open binary file for append.
Definition fs_utils.h:76
@ READ
Open text file for reading.
Definition fs_utils.h:74