#include <linux/fs.h>
#include "debug.h"
#include "ntfs.h"
#include "ntfs_fs.h"
static inline int compare_attr(const struct ATTRIB *left, enum ATTR_TYPE type,
const __le16 *name, u8 name_len,
const u16 *upcase)
{ … }
static __le16 mi_new_attt_id(struct mft_inode *mi)
{ … }
int mi_get(struct ntfs_sb_info *sbi, CLST rno, struct mft_inode **mi)
{ … }
void mi_put(struct mft_inode *mi)
{ … }
int mi_init(struct mft_inode *mi, struct ntfs_sb_info *sbi, CLST rno)
{ … }
int mi_read(struct mft_inode *mi, bool is_mft)
{ … }
struct ATTRIB *mi_enum_attr(struct mft_inode *mi, struct ATTRIB *attr)
{ … }
struct ATTRIB *mi_find_attr(struct mft_inode *mi, struct ATTRIB *attr,
enum ATTR_TYPE type, const __le16 *name,
u8 name_len, const __le16 *id)
{ … }
int mi_write(struct mft_inode *mi, int wait)
{ … }
int mi_format_new(struct mft_inode *mi, struct ntfs_sb_info *sbi, CLST rno,
__le16 flags, bool is_mft)
{ … }
struct ATTRIB *mi_insert_attr(struct mft_inode *mi, enum ATTR_TYPE type,
const __le16 *name, u8 name_len, u32 asize,
u16 name_off)
{ … }
bool mi_remove_attr(struct ntfs_inode *ni, struct mft_inode *mi,
struct ATTRIB *attr)
{ … }
bool mi_resize_attr(struct mft_inode *mi, struct ATTRIB *attr, int bytes)
{ … }
int mi_pack_runs(struct mft_inode *mi, struct ATTRIB *attr,
struct runs_tree *run, CLST len)
{ … }