xref: /haiku/headers/private/fs_shell/fssh_fs_index.h (revision b6f76ebe7153b94820cf35f8db4facc158841abb)
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