From 9bd603b639d7dd08fbe0af7e8669358bd066b7cd Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Tue, 11 Feb 2020 11:43:25 -0500 Subject: Refactor project structure: * Move prototypes and definitions to respective header files * Renamed strings.h to str.h to avoid collision with standard library header --- include/fs.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 include/fs.h (limited to 'include/fs.h') diff --git a/include/fs.h b/include/fs.h new file mode 100644 index 0000000..7987e33 --- /dev/null +++ b/include/fs.h @@ -0,0 +1,29 @@ +#ifndef SPM_FSTREE_H +#define SPM_FSTREE_H + +#define SPM_FSTREE_FLT_NONE 1 << 0 +#define SPM_FSTREE_FLT_CONTAINS 1 << 1 +#define SPM_FSTREE_FLT_ENDSWITH 1 << 2 +#define SPM_FSTREE_FLT_STARTSWITH 1 << 3 + +typedef struct { + char *root; + char **dirs; + size_t dirs_length; + char **files; + size_t files_length; +} FSTree; + +int _fstree_compare(const FTSENT **a, const FTSENT **b); +void fstree_free(FSTree *fsdata); +FSTree *fstree(const char *_path, char **filter_by, unsigned int filter_mode); +int rmdirs(const char *_path); +long int get_file_size(const char *filename); +int mkdirs(const char *_path, mode_t mode); +char *dirname(const char *_path); +char *basename(char *path); +int rsync(const char *_args, const char *_source, const char *_destination); +char *human_readable_size(uint64_t n); + + +#endif //SPM_FSTREE_H -- cgit