ntfs_attr
typedef CObjectDeleter<ntfs_attr, void, ntfs_attr_close> NtfsAttrCloser;
ntfs_attr* na = ntfs_attr_open(ni, AT_DATA, AT_UNNAMED, 0);
ntfs_attr* na = ntfs_attr_open(ni, AT_DATA, AT_UNNAMED, 0);
ntfs_attr* na = ntfs_attr_open(ni, AT_DATA, AT_UNNAMED, 0);
static void NAttrClearFlag(ntfs_attr *na, FILE_ATTR_FLAGS flag)
int NAttr##func_name(ntfs_attr *na) { return NAttrFlag (na, flag); } \
void NAttrSet##func_name(ntfs_attr *na) { NAttrSetFlag (na, flag); } \
void NAttrClear##func_name(ntfs_attr *na){ NAttrClearFlag(na, flag); }
s64 ntfs_attr_pread(ntfs_attr *na, const s64 pos, s64 count, void *b)
static int ntfs_attr_fill_zero(ntfs_attr *na, s64 pos, s64 count)
static int ntfs_attr_fill_hole(ntfs_attr *na, s64 count, s64 *ofs,
static int stuff_hole(ntfs_attr *na, const s64 pos);
static int split_compressed_hole(ntfs_attr *na, runlist_element **prl,
static int borrow_from_hole(ntfs_attr *na, runlist_element **prl,
static int ntfs_attr_truncate_i(ntfs_attr *na, const s64 newsize,
static s64 ntfs_attr_pwrite_i(ntfs_attr *na, const s64 pos, s64 count,
s64 ntfs_attr_pwrite(ntfs_attr *na, const s64 pos, s64 count, const void *b)
int ntfs_attr_pclose(ntfs_attr *na)
s64 ntfs_attr_mst_pread(ntfs_attr *na, const s64 pos, const s64 bk_cnt,
s64 ntfs_attr_mst_pwrite(ntfs_attr *na, const s64 pos, s64 bk_cnt,
static void __ntfs_attr_init(ntfs_attr *na, ntfs_inode *ni,
void ntfs_attr_init(ntfs_attr *na, const BOOL non_resident,
ntfs_attr *ntfs_attr_open(ntfs_inode *ni, const ATTR_TYPES type,
ntfs_attr *na = NULL;
na = ntfs_calloc(sizeof(ntfs_attr));
ntfs_attr *na;
int ntfs_attr_rm(ntfs_attr *na)
int ntfs_attr_make_non_resident(ntfs_attr *na,
static int ntfs_resident_attr_resize(ntfs_attr *na, const s64 newsize);
static int ntfs_resident_attr_resize_i(ntfs_attr *na, const s64 newsize,
ntfs_attr *tna;
static int ntfs_resident_attr_resize(ntfs_attr *na, const s64 newsize)
int ntfs_attr_force_non_resident(ntfs_attr *na)
static int ntfs_attr_make_resident(ntfs_attr *na, ntfs_attr_search_ctx *ctx)
static int ntfs_attr_update_meta(ATTR_RECORD *a, ntfs_attr *na, MFT_RECORD *m,
void ntfs_attr_close(ntfs_attr *na)
static int ntfs_attr_update_mapping_pairs_i(ntfs_attr *na, VCN from_vcn,
int ntfs_attr_map_runlist(ntfs_attr *na, VCN vcn)
int ntfs_attr_update_mapping_pairs(ntfs_attr *na, VCN from_vcn)
static int ntfs_non_resident_attr_shrink(ntfs_attr *na, const s64 newsize)
static int ntfs_non_resident_attr_expand_i(ntfs_attr *na, const s64 newsize,
static int ntfs_attr_map_partial_runlist(ntfs_attr *na, VCN vcn)
static int ntfs_non_resident_attr_expand(ntfs_attr *na, const s64 newsize,
static int ntfs_attr_truncate_i(ntfs_attr *na, const s64 newsize,
int ntfs_attr_truncate(ntfs_attr *na, const s64 newsize)
int ntfs_attr_truncate_solid(ntfs_attr *na, const s64 newsize)
static int stuff_hole(ntfs_attr *na, const s64 pos)
ntfs_attr *na;
ntfs_attr *na = NULL;
ntfs_attr *na = NULL;
ntfs_attr *na;
s64 ntfs_attr_get_free_bits(ntfs_attr *na)
int ntfs_attr_map_whole_runlist(ntfs_attr *na)
static int NAttrFlag(ntfs_attr *na, FILE_ATTR_FLAGS flag)
LCN ntfs_attr_vcn_to_lcn(ntfs_attr *na, const VCN vcn)
runlist_element *ntfs_attr_find_vcn(ntfs_attr *na, const VCN vcn)
static void NAttrSetFlag(ntfs_attr *na, FILE_ATTR_FLAGS flag)
static s64 ntfs_attr_pread_i(ntfs_attr *na, const s64 pos, s64 count, void *b)
extern int NAttr##func_name(ntfs_attr *na); \
extern void NAttrSet##func_name(ntfs_attr *na); \
extern void NAttrClear##func_name(ntfs_attr *na);
extern void ntfs_attr_init(ntfs_attr *na, const BOOL non_resident,
extern ntfs_attr *ntfs_attr_open(ntfs_inode *ni, const ATTR_TYPES type,
extern void ntfs_attr_close(ntfs_attr *na);
extern s64 ntfs_attr_pread(ntfs_attr *na, const s64 pos, s64 count,
extern s64 ntfs_attr_pwrite(ntfs_attr *na, const s64 pos, s64 count,
extern int ntfs_attr_pclose(ntfs_attr *na);
extern s64 ntfs_attr_mst_pread(ntfs_attr *na, const s64 pos,
extern s64 ntfs_attr_mst_pwrite(ntfs_attr *na, const s64 pos,
extern int ntfs_attr_map_runlist(ntfs_attr *na, VCN vcn);
extern int ntfs_attr_map_whole_runlist(ntfs_attr *na);
extern LCN ntfs_attr_vcn_to_lcn(ntfs_attr *na, const VCN vcn);
extern runlist_element *ntfs_attr_find_vcn(ntfs_attr *na, const VCN vcn);
int ntfs_attr_make_non_resident(ntfs_attr *na,
int ntfs_attr_force_non_resident(ntfs_attr *na);
extern int ntfs_attr_rm(ntfs_attr *na);
extern int ntfs_attr_update_mapping_pairs(ntfs_attr *na, VCN from_vcn);
extern int ntfs_attr_truncate(ntfs_attr *na, const s64 newsize);
extern int ntfs_attr_truncate_solid(ntfs_attr *na, const s64 newsize);
extern s64 ntfs_attr_get_free_bits(ntfs_attr *na);
ntfs_attr *na = NULL;
ntfs_attr *na;
static int ntfs_bitmap_set_bits_in_run(ntfs_attr *na, s64 start_bit,
int ntfs_bitmap_set_run(ntfs_attr *na, s64 start_bit, s64 count)
int ntfs_bitmap_clear_run(ntfs_attr *na, s64 start_bit, s64 count)
extern int ntfs_bitmap_set_run(ntfs_attr *na, s64 start_bit, s64 count);
extern int ntfs_bitmap_clear_run(ntfs_attr *na, s64 start_bit, s64 count);
static __inline__ int ntfs_bitmap_set_bit(ntfs_attr *na, s64 bit)
static __inline__ int ntfs_bitmap_clear_bit(ntfs_attr *na, s64 bit)
static s32 ntfs_comp_set(ntfs_attr *na, runlist_element *rl,
static BOOL valid_compressed_run(ntfs_attr *na, runlist_element *rl,
static int ntfs_compress_overwr_free(ntfs_attr *na, runlist_element *rl,
static int ntfs_compress_free(ntfs_attr *na, runlist_element *rl,
static int ntfs_read_append(ntfs_attr *na, const runlist_element *rl,
static s32 ntfs_flush(ntfs_attr *na, runlist_element *rl, s64 offs,
s64 ntfs_compressed_pwrite(ntfs_attr *na, runlist_element *wrl, s64 wpos,
int ntfs_compressed_close(ntfs_attr *na, runlist_element *wrl, s64 offs,
static BOOL ntfs_is_cb_compressed(ntfs_attr *na, runlist_element *rl,
s64 ntfs_compressed_attr_pread(ntfs_attr *na, s64 pos, s64 count, void *b)
extern s64 ntfs_compressed_attr_pread(ntfs_attr *na, s64 pos, s64 count,
extern s64 ntfs_compressed_pwrite(ntfs_attr *na, runlist_element *brl, s64 wpos,
extern int ntfs_compressed_close(ntfs_attr *na, runlist_element *brl,
ntfs_attr *ia_na, *bmp_na = NULL;
ntfs_attr *na;
ntfs_attr *ia_na;
ntfs_attr *na;
static void restore_ea_info(ntfs_attr *nai, const EA_INFORMATION *old_ea_info)
ntfs_attr *na;
ntfs_attr *nai;
ntfs_attr *na;
ntfs_attr *nai;
ntfs_attr *na;
ntfs_attr *na;
int ntfs_efs_fixup_attribute(ntfs_attr_search_ctx *ctx, ntfs_attr *na)
int ntfs_efs_fixup_attribute(ntfs_attr_search_ctx *ctx, ntfs_attr *na);
ntfs_attr *na;
ntfs_attr *na;
static ntfs_attr *ntfs_ia_open(ntfs_index_context *icx, ntfs_inode *ni)
ntfs_attr *na;
ntfs_attr *ia_na;
ntfs_attr *na;
ntfs_attr *na;
int ntfs_cluster_free(ntfs_volume *vol, ntfs_attr *na, VCN start_vcn, s64 count)
extern int ntfs_cluster_free(ntfs_volume *vol, ntfs_attr *na, VCN start_vcn,
static int ntfs_check_and_load_restart_page(ntfs_attr *log_na,
BOOL ntfs_check_logfile(ntfs_attr *log_na, RESTART_PAGE_HEADER **rp)
BOOL ntfs_is_logfile_clean(ntfs_attr *log_na, RESTART_PAGE_HEADER *rp)
int ntfs_empty_logfile(ntfs_attr *na)
extern BOOL ntfs_check_logfile(ntfs_attr *log_na, RESTART_PAGE_HEADER **rp);
extern BOOL ntfs_is_logfile_clean(ntfs_attr *log_na, RESTART_PAGE_HEADER *rp);
extern int ntfs_empty_logfile(ntfs_attr *na);
ntfs_attr *mft_na;
ntfs_attr *mft_na;
ntfs_attr *mft_na;
ntfs_attr *mft_na, *mftbmp_na;
ntfs_attr *mft_na, *mftbmp_na;
ntfs_attr *mftbmp_na;
static int ntfs_mft_attr_extend(ntfs_attr *na)
ntfs_attr *mftbmp_na;
ntfs_attr *mftbmp_na;
static int remove_object_id_index(ntfs_attr *na, ntfs_index_context *xo,
ntfs_attr *na;
ntfs_attr *na;
ntfs_attr *na;
ntfs_attr *na;
ntfs_attr *na;
ntfs_attr *na;
static int remove_reparse_index(ntfs_attr *na, ntfs_index_context *xr,
runlist_element *ntfs_rl_extend(ntfs_attr *na, runlist_element *rl,
extern runlist_element *ntfs_rl_extend(ntfs_attr *na, runlist_element *rl,
ntfs_attr *na;
ntfs_attr *na;
ntfs_attr *na;
static void ntfs_attr_free(ntfs_attr **na)
ntfs_attr *na;
ntfs_attr *na;
ntfs_attr *na;
ntfs_attr *na = NULL;
ntfs_attr *na = NULL;
ntfs_attr *na;
ntfs_attr *na;
ntfs_attr *lcnbmp_na; /* ntfs_attr structure for the data attribute
ntfs_attr *mft_na; /* ntfs_attr structure for the data attribute
ntfs_attr *mftbmp_na; /* ntfs_attr structure for the bitmap attribute
ntfs_attr *mftmirr_na; /* ntfs_attr structure for the data attribute
ntfs_attr *na = NULL;
ntfs_attr *na;
ntfs_attr *na = NULL;
ntfs_attr *na = NULL;
ntfs_attr *na = NULL;
ntfs_attr *mft;
ntfs_attr *attr;