xref: /haiku/headers/private/fs_shell/fssh_fs_query.h (revision 02354704729d38c3b078c696adc1bbbd33cbcf72)
1 /* File System attribute queries
2 **
3 ** Distributed under the terms of the MIT License.
4 */
5 #ifndef _FSSH_FS_QUERY_H
6 #define _FSSH_FS_QUERY_H
7 
8 
9 #include "fssh_os.h"
10 #include "fssh_dirent.h"
11 
12 
13 /* Flags for fs_open_[live_]query() */
14 
15 #define FSSH_B_LIVE_QUERY			0x00000001
16 	// Note, if you specify B_LIVE_QUERY, you have to use fs_open_live_query();
17 	// it will be ignored in fs_open_query().
18 #define FSSH_B_QUERY_NON_INDEXED	0x00000002
19 	// Only enable this feature for non time-critical things, it might
20 	// take a long time to proceed.
21 	// Also, not every file system might support this feature.
22 
23 
24 #ifdef  __cplusplus
25 extern "C" {
26 #endif
27 
28 extern fssh_DIR*			fssh_fs_open_query(fssh_dev_t device,
29 									const char *query, uint32_t flags);
30 extern fssh_DIR*			fssh_fs_open_live_query(fssh_dev_t device,
31 									const char *query, uint32_t flags,
32 									fssh_port_id port, int32_t token);
33 extern int					fssh_fs_close_query(fssh_DIR *d);
34 extern struct fssh_dirent*	fssh_fs_read_query(fssh_DIR *d);
35 
36 extern fssh_status_t		fssh_get_path_for_dirent(struct fssh_dirent *dent,
37 								char *buf, fssh_size_t len);
38 
39 #ifdef  __cplusplus
40 }
41 #endif
42 
43 #endif	/* _FSSH_FS_QUERY_H */
44