1 #ifndef _HPFS_FS_SB
2 #define _HPFS_FS_SB
3 
4 struct hpfs_sb_info {
5 	ino_t sb_root;			/* inode number of root dir */
6 	unsigned sb_fs_size;		/* file system size, sectors */
7 	unsigned sb_bitmaps;		/* sector number of bitmap list */
8 	unsigned sb_dirband_start;	/* directory band start sector */
9 	unsigned sb_dirband_size;	/* directory band size, dnodes */
10 	unsigned sb_dmap;		/* sector number of dnode bit map */
11 	unsigned sb_n_free;		/* free blocks for statfs, or -1 */
12 	unsigned sb_n_free_dnodes;	/* free dnodes for statfs, or -1 */
13 	uid_t sb_uid;			/* uid from mount options */
14 	gid_t sb_gid;			/* gid from mount options */
15 	umode_t sb_mode;		/* mode from mount options */
16 	unsigned sb_conv : 2;		/* crlf->newline hackery */
17 	unsigned sb_eas : 2;		/* eas: 0-ignore, 1-ro, 2-rw */
18 	unsigned sb_err : 2;		/* on errs: 0-cont, 1-ro, 2-panic */
19 	unsigned sb_chk : 2;		/* checks: 0-no, 1-normal, 2-strict */
20 	unsigned sb_lowercase : 1;	/* downcase filenames hackery */
21 	unsigned sb_was_error : 1;	/* there was an error, set dirty flag */
22 	unsigned sb_chkdsk : 2;		/* chkdsk: 0-no, 1-on errs, 2-allways */
23 	unsigned sb_rd_fnode : 2;	/* read fnode 0-no 1-dirs 2-all */
24 	unsigned sb_rd_inode : 2;	/* lookup tells read_inode: 1-read fnode
25 					   2-don't read fnode, file
26 					   3-don't read fnode, direcotry */
27 	wait_queue_head_t sb_iget_q;
28 	unsigned char *sb_cp_table;	/* code page tables: */
29 					/* 	128 bytes uppercasing table & */
30 					/*	128 bytes lowercasing table */
31 	unsigned *sb_bmp_dir;		/* main bitmap directory */
32 	unsigned sb_c_bitmap;		/* current bitmap */
33 	unsigned sb_max_fwd_alloc;	/* max forwad allocation */
34 	wait_queue_head_t sb_creation_de;/* when creating dirents, nobody else
35 					   can alloc blocks */
36 	unsigned sb_creation_de_lock : 1;
37 	/*unsigned sb_mounting : 1;*/
38 	int sb_timeshift;
39 };
40 
41 #define s_hpfs_root u.hpfs_sb.sb_root
42 #define s_hpfs_fs_size u.hpfs_sb.sb_fs_size
43 #define s_hpfs_bitmaps u.hpfs_sb.sb_bitmaps
44 #define s_hpfs_dirband_start u.hpfs_sb.sb_dirband_start
45 #define s_hpfs_dirband_size u.hpfs_sb.sb_dirband_size
46 #define s_hpfs_dmap u.hpfs_sb.sb_dmap
47 #define s_hpfs_uid u.hpfs_sb.sb_uid
48 #define s_hpfs_gid u.hpfs_sb.sb_gid
49 #define s_hpfs_mode u.hpfs_sb.sb_mode
50 #define s_hpfs_n_free u.hpfs_sb.sb_n_free
51 #define s_hpfs_n_free_dnodes u.hpfs_sb.sb_n_free_dnodes
52 #define s_hpfs_lowercase u.hpfs_sb.sb_lowercase
53 #define s_hpfs_conv u.hpfs_sb.sb_conv
54 #define s_hpfs_eas u.hpfs_sb.sb_eas
55 #define s_hpfs_err u.hpfs_sb.sb_err
56 #define s_hpfs_chk u.hpfs_sb.sb_chk
57 #define s_hpfs_was_error u.hpfs_sb.sb_was_error
58 #define s_hpfs_chkdsk u.hpfs_sb.sb_chkdsk
59 /*#define s_hpfs_rd_fnode u.hpfs_sb.sb_rd_fnode*/
60 #define s_hpfs_rd_inode u.hpfs_sb.sb_rd_inode
61 #define s_hpfs_cp_table u.hpfs_sb.sb_cp_table
62 #define s_hpfs_bmp_dir u.hpfs_sb.sb_bmp_dir
63 #define s_hpfs_c_bitmap u.hpfs_sb.sb_c_bitmap
64 #define s_hpfs_max_fwd_alloc u.hpfs_sb.sb_max_fwd_alloc
65 #define s_hpfs_creation_de u.hpfs_sb.sb_creation_de
66 #define s_hpfs_creation_de_lock u.hpfs_sb.sb_creation_de_lock
67 #define s_hpfs_iget_q u.hpfs_sb.sb_iget_q
68 /*#define s_hpfs_mounting u.hpfs_sb.sb_mounting*/
69 #define s_hpfs_timeshift u.hpfs_sb.sb_timeshift
70 
71 #endif
72