affs_fs_sb.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. #ifndef _AFFS_FS_SB
  2. #define _AFFS_FS_SB
  3. /*
  4.  * super-block data in memory
  5.  *
  6.  * Block numbers are adjusted for their actual size
  7.  *
  8.  */
  9. struct affs_bm_info {
  10. u32 bm_key; /* Disk block number */
  11. u32 bm_free; /* Free blocks in here */
  12. };
  13. struct affs_sb_info {
  14. int s_partition_size; /* Partition size in blocks. */
  15. int s_reserved; /* Number of reserved blocks. */
  16. //u32 s_blksize; /* Initial device blksize */
  17. u32 s_data_blksize; /* size of the data block w/o header */
  18. u32 s_root_block; /* FFS root block number. */
  19. int s_hashsize; /* Size of hash table. */
  20. unsigned long s_flags; /* See below. */
  21. uid_t s_uid; /* uid to override */
  22. gid_t s_gid; /* gid to override */
  23. umode_t s_mode; /* mode to override */
  24. struct buffer_head *s_root_bh; /* Cached root block. */
  25. struct semaphore s_bmlock; /* Protects bitmap access. */
  26. struct affs_bm_info *s_bitmap; /* Bitmap infos. */
  27. u32 s_bmap_count; /* # of bitmap blocks. */
  28. u32 s_bmap_bits; /* # of bits in one bitmap blocks */
  29. u32 s_last_bmap;
  30. struct buffer_head *s_bmap_bh;
  31. char *s_prefix; /* Prefix for volumes and assigns. */
  32. int s_prefix_len; /* Length of prefix. */
  33. char s_volume[32]; /* Volume prefix for absolute symlinks. */
  34. };
  35. #define SF_INTL 0x0001 /* International filesystem. */
  36. #define SF_BM_VALID 0x0002 /* Bitmap is valid. */
  37. #define SF_IMMUTABLE 0x0004 /* Protection bits cannot be changed */
  38. #define SF_QUIET 0x0008 /* chmod errors will be not reported */
  39. #define SF_SETUID 0x0010 /* Ignore Amiga uid */
  40. #define SF_SETGID 0x0020 /* Ignore Amiga gid */
  41. #define SF_SETMODE 0x0040 /* Ignore Amiga protection bits */
  42. #define SF_MUFS 0x0100 /* Use MUFS uid/gid mapping */
  43. #define SF_OFS 0x0200 /* Old filesystem */
  44. #define SF_PREFIX 0x0400 /* Buffer for prefix is allocated */
  45. #define SF_VERBOSE 0x0800 /* Talk about fs when mounting */
  46. #define SF_READONLY 0x1000 /* Don't allow to remount rw */
  47. /* short cut to get to the affs specific sb data */
  48. #define AFFS_SB (&sb->u.affs_sb)
  49. #endif