udf_sb.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef __LINUX_UDF_SB_H
  2. #define __LINUX_UDF_SB_H
  3. /* Since UDF 2.01 is ISO 13346 based... */
  4. #define UDF_SUPER_MAGIC 0x15013346
  5. #define UDF_MAX_READ_VERSION 0x0201
  6. #define UDF_MAX_WRITE_VERSION 0x0201
  7. #define UDF_FLAG_USE_EXTENDED_FE 0
  8. #define UDF_VERS_USE_EXTENDED_FE 0x0200
  9. #define UDF_FLAG_USE_STREAMS 1
  10. #define UDF_VERS_USE_STREAMS 0x0200
  11. #define UDF_FLAG_USE_SHORT_AD 2
  12. #define UDF_FLAG_USE_AD_IN_ICB 3
  13. #define UDF_FLAG_USE_FILE_CTIME_EA 4
  14. #define UDF_FLAG_STRICT 5
  15. #define UDF_FLAG_UNDELETE 6
  16. #define UDF_FLAG_UNHIDE 7
  17. #define UDF_FLAG_VARCONV 8
  18. #define UDF_FLAG_NLS_MAP 9
  19. #define UDF_FLAG_UTF8 10
  20. #define UDF_FLAG_UID_FORGET 11 /* save -1 for uid to disk */
  21. #define UDF_FLAG_UID_IGNORE 12 /* use sb uid instead of on disk uid */
  22. #define UDF_FLAG_GID_FORGET 13
  23. #define UDF_FLAG_GID_IGNORE 14
  24. #define UDF_FLAG_UID_SET 15
  25. #define UDF_FLAG_GID_SET 16
  26. #define UDF_PART_FLAG_UNALLOC_BITMAP 0x0001
  27. #define UDF_PART_FLAG_UNALLOC_TABLE 0x0002
  28. #define UDF_PART_FLAG_FREED_BITMAP 0x0004
  29. #define UDF_PART_FLAG_FREED_TABLE 0x0008
  30. #define UDF_PART_FLAG_READ_ONLY 0x0010
  31. #define UDF_PART_FLAG_WRITE_ONCE 0x0020
  32. #define UDF_PART_FLAG_REWRITABLE 0x0040
  33. #define UDF_PART_FLAG_OVERWRITABLE 0x0080
  34. static inline struct udf_sb_info *UDF_SB(struct super_block *sb)
  35. {
  36. return sb->s_fs_info;
  37. }
  38. struct logicalVolIntegrityDescImpUse *udf_sb_lvidiu(struct udf_sb_info *sbi);
  39. int udf_compute_nr_groups(struct super_block *sb, u32 partition);
  40. #define UDF_QUERY_FLAG(X,Y) ( UDF_SB(X)->s_flags & ( 1 << (Y) ) )
  41. #define UDF_SET_FLAG(X,Y) ( UDF_SB(X)->s_flags |= ( 1 << (Y) ) )
  42. #define UDF_CLEAR_FLAG(X,Y) ( UDF_SB(X)->s_flags &= ~( 1 << (Y) ) )
  43. #endif /* __LINUX_UDF_SB_H */