1#ifndef _LINUX_NTFS_FS_SB_H
2#define _LINUX_NTFS_FS_SB_H
3
4#include <linux/ntfs_fs_i.h>
5
6struct ntfs_sb_info{
7	/* Configuration provided by user at mount time. */
8	ntfs_uid_t uid;
9	ntfs_gid_t gid;
10	ntmode_t umask;
11	void *nls_map;
12	unsigned int ngt;
13	char mft_zone_multiplier;
14	unsigned long mft_data_pos;
15	ntfs_cluster_t mft_zone_pos;
16	ntfs_cluster_t mft_zone_start;
17	ntfs_cluster_t mft_zone_end;
18	ntfs_cluster_t data1_zone_pos;
19	ntfs_cluster_t data2_zone_pos;
20	ntfs_size_t partition_bias;	/* For access to underlying device. */
21	/* Attribute definitions. */
22	ntfs_u32 at_standard_information;
23	ntfs_u32 at_attribute_list;
24	ntfs_u32 at_file_name;
25	ntfs_u32 at_volume_version;
26	ntfs_u32 at_security_descriptor;
27	ntfs_u32 at_volume_name;
28	ntfs_u32 at_volume_information;
29	ntfs_u32 at_data;
30	ntfs_u32 at_index_root;
31	ntfs_u32 at_index_allocation;
32	ntfs_u32 at_bitmap;
33	ntfs_u32 at_symlink; /* aka SYMBOLIC_LINK or REPARSE_POINT */
34	/* Data read / calculated from the boot file. */
35	int sector_size;
36	int cluster_size;
37	int cluster_size_bits;
38	int mft_clusters_per_record;
39	int mft_record_size;
40	int mft_record_size_bits;
41	int index_clusters_per_record;
42	int index_record_size;
43	int index_record_size_bits;
44	ntfs_cluster_t nr_clusters;
45	ntfs_cluster_t mft_lcn;
46	ntfs_cluster_t mft_mirr_lcn;
47	/* Data read from special files. */
48	unsigned char *mft;
49	unsigned short *upcase;
50	unsigned int upcase_length;
51	/* Inodes we always hold onto. */
52	struct ntfs_inode_info *mft_ino;
53	struct ntfs_inode_info *mftmirr;
54	struct ntfs_inode_info *bitmap;
55	struct super_block *sb;
56	unsigned char ino_flags;
57};
58
59#endif
60