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