first draft of mft search contexts

(Logical change 1.199)
This commit is contained in:
flatcap.org!ntfs
2003-10-11 15:31:25 +00:00
parent a4f7f86a7b
commit ecbe65ac6b
2 changed files with 178 additions and 0 deletions

View File

@@ -81,4 +81,33 @@ s64 utc2ntfs (time_t time);
ATTR_RECORD * find_attribute (const ATTR_TYPES type, ntfs_attr_search_ctx *ctx);
ATTR_RECORD * find_first_attribute (const ATTR_TYPES type, MFT_RECORD *mft);
/**
* defines...
* if *not in use* then the other flags are ignored?
*/
#define FEMR_IN_USE 1 << 0
#define FEMR_NOT_IN_USE 1 << 1
#define FEMR_FILE 1 << 2 // $DATA
#define FEMR_DIR 1 << 3 // $INDEX_ROOT, "$I30"
#define FEMR_METADATA 1 << 4
#define FEMR_NOT_METADATA 1 << 5
#define FEMR_BASE_RECORD 1 << 6
#define FEMR_NOT_BASE_RECORD 1 << 7
#define FEMR_ALL_RECORDS 0xFF
/**
* struct mft_search_ctx
*/
struct mft_search_ctx {
int flags_search;
int flags_match;
ntfs_inode *inode;
u64 mft_num;
ntfs_volume *vol;
};
struct mft_search_ctx * mft_get_search_ctx (ntfs_volume *vol);
void mft_put_search_ctx (struct mft_search_ctx *ctx);
int mft_next_record (struct mft_search_ctx *ctx);
#endif /* _NTFS_UTILS_H_ */