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