msdos_fs_sb.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

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