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 25extern "C" { 26#endif 27 28extern fssh_DIR* fssh_fs_open_query(fssh_dev_t device, 29 const char *query, uint32_t flags); 30extern 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); 33extern int fssh_fs_close_query(fssh_DIR *d); 34extern struct fssh_dirent* fssh_fs_read_query(fssh_DIR *d); 35 36extern 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