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 13typedef 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 24extern "C" { 25#endif 26 27extern int fssh_fs_create_index(fssh_dev_t device, const char *name, 28 uint32_t type, uint32_t flags); 29extern int fssh_fs_remove_index(fssh_dev_t device, const char *name); 30extern int fssh_fs_stat_index(fssh_dev_t device, const char *name, 31 struct fssh_index_info *indexInfo); 32 33extern fssh_DIR *fssh_fs_open_index_dir(fssh_dev_t device); 34extern int fssh_fs_close_index_dir(fssh_DIR *indexDirectory); 35extern struct fssh_dirent *fssh_fs_read_index_dir(fssh_DIR *indexDirectory); 36extern void fssh_fs_rewind_index_dir(fssh_DIR *indexDirectory); 37 38#ifdef __cplusplus 39} 40#endif 41 42#endif /* _FSSH_FS_INDEX_H */ 43