1 /* File System indices 2 ** 3 ** Distributed under the terms of the MIT License. 4 */ 5 #ifndef _FSSH_FS_INDEX_H 6 #define _FSSH_FS_INDEX_H 7 8 9 #include "fssh_defs.h" 10 #include "fssh_dirent.h" 11 12 13 typedef struct fssh_index_info { 14 uint32_t type; 15 fssh_off_t size; 16 fssh_time_t modification_time; 17 fssh_time_t creation_time; 18 fssh_uid_t uid; 19 fssh_gid_t gid; 20 } fssh_index_info; 21 22 23 #ifdef __cplusplus 24 extern "C" { 25 #endif 26 27 extern int fssh_fs_create_index(fssh_dev_t device, const char *name, 28 uint32_t type, uint32_t flags); 29 extern int fssh_fs_remove_index(fssh_dev_t device, const char *name); 30 extern int fssh_fs_stat_index(fssh_dev_t device, const char *name, 31 struct fssh_index_info *indexInfo); 32 33 extern fssh_DIR *fssh_fs_open_index_dir(fssh_dev_t device); 34 extern int fssh_fs_close_index_dir(fssh_DIR *indexDirectory); 35 extern struct fssh_dirent *fssh_fs_read_index_dir(fssh_DIR *indexDirectory); 36 extern void fssh_fs_rewind_index_dir(fssh_DIR *indexDirectory); 37 38 #ifdef __cplusplus 39 } 40 #endif 41 42 #endif /* _FSSH_FS_INDEX_H */ 43