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