3 #include<linux/fat_cvf.h>
6 * MS-DOS file system in-core superblock data
9 struct fat_mount_options
{
12 unsigned short fs_umask
;
13 unsigned short codepage
; /* Codepage for shortname conversions */
14 char *iocharset
; /* Charset used for filename input/display */
15 unsigned char name_check
; /* r = relaxed, n = normal, s = strict */
16 unsigned char conversion
; /* b = binary, t = text, a = auto */
17 unsigned quiet
:1, /* set = fake successful chmods and chowns */
18 showexec
:1, /* set = only set x bit for com/exe/bat */
19 sys_immutable
:1, /* set = system files are immutable */
20 dotsOK
:1, /* set = hidden and system files are named '.filename' */
21 isvfat
:1, /* 0=no vfat long filename support, 1=vfat support */
22 utf8
:1, /* Use of UTF8 character set (Default) */
23 unicode_xlate
:1, /* create escape sequences for unhandled Unicode */
24 posixfs
:1, /* Allow names like makefile and Makefile to coexist */
25 numtail
:1, /* Does first alias have a numeric '~1' type tail? */
26 atari
:1, /* Use Atari GEMDOS variation of MS-DOS fs */
27 fat32
:1; /* Is this a FAT32 partition? */
35 struct msdos_sb_info
{
36 unsigned short cluster_size
; /* sectors/cluster */
37 unsigned char fats
,fat_bits
; /* number of FATs, FAT bits (12 or 16) */
38 unsigned short fat_start
;
39 unsigned long fat_length
; /* FAT start & length (sec.) */
40 unsigned long dir_start
;
41 unsigned short dir_entries
; /* root dir start & entries */
42 unsigned long data_start
; /* first data sector */
43 unsigned long clusters
; /* number of clusters */
44 unsigned long root_cluster
; /* first cluster of the root directory */
45 unsigned long fsinfo_offset
; /* FAT32 fsinfo offset from start of disk */
46 wait_queue_head_t fat_wait
;
47 struct semaphore fat_lock
;
48 int prev_free
; /* previously returned free cluster number */
49 int free_clusters
; /* -1 if undefined */
50 struct fat_mount_options options
;
51 struct nls_table
*nls_disk
; /* Codepage used on disk */
52 struct nls_table
*nls_io
; /* Charset used for input and display */
53 struct cvf_format
* cvf_format
;
54 void *dir_ops
; /* Opaque; default directory operations */
55 void (*put_super_callback
)(struct super_block
*);