1 #ifndef _LINUX_NTFS_FS_SB_H
2 #define _LINUX_NTFS_FS_SB_H
3 
4 #include <linux/ntfs_fs_i.h>
5 
6 struct 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 	/* Configuration provided by user with the ntfstools.
21 	 * FIXME: This is no longer possible. What is this good for? (AIA) */
22 	ntfs_size_t partition_bias;	/* For access to underlying device. */
23 	/* Attribute definitions. */
24 	ntfs_u32 at_standard_information;
25 	ntfs_u32 at_attribute_list;
26 	ntfs_u32 at_file_name;
27 	ntfs_u32 at_volume_version;
28 	ntfs_u32 at_security_descriptor;
29 	ntfs_u32 at_volume_name;
30 	ntfs_u32 at_volume_information;
31 	ntfs_u32 at_data;
32 	ntfs_u32 at_index_root;
33 	ntfs_u32 at_index_allocation;
34 	ntfs_u32 at_bitmap;
35 	ntfs_u32 at_symlink; /* aka SYMBOLIC_LINK or REPARSE_POINT */
36 	/* Data read / calculated from the boot file. */
37 	int sector_size;
38 	int cluster_size;
39 	int cluster_size_bits;
40 	int mft_clusters_per_record;
41 	int mft_record_size;
42 	int mft_record_size_bits;
43 	int index_clusters_per_record;
44 	int index_record_size;
45 	int index_record_size_bits;
46 	ntfs_cluster_t nr_clusters;
47 	ntfs_cluster_t mft_lcn;
48 	ntfs_cluster_t mft_mirr_lcn;
49 	/* Data read from special files. */
50 	unsigned char *mft;
51 	unsigned short *upcase;
52 	unsigned int upcase_length;
53 	/* Inodes we always hold onto. */
54 	struct ntfs_inode_info *mft_ino;
55 	struct ntfs_inode_info *mftmirr;
56 	struct ntfs_inode_info *bitmap;
57 	struct super_block *sb;
58 	unsigned char ino_flags;
59 };
60 
61 #endif
62