udf_fs_i.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*
  2. * udf_fs_i.h
  3. *
  4. * This file is intended for the Linux kernel/module.
  5. *
  6. * COPYRIGHT
  7. * This file is distributed under the terms of the GNU General Public
  8. * License (GPL). Copies of the GPL can be obtained from:
  9. * ftp://prep.ai.mit.edu/pub/gnu/GPL
  10. * Each contributing author retains all rights to their own work.
  11. */
  12. #ifndef _UDF_FS_I_H
  13. #define _UDF_FS_I_H 1
  14. #ifdef __KERNEL__
  15. struct udf_inode_info
  16. {
  17. struct timespec i_crtime;
  18. /* Physical address of inode */
  19. kernel_lb_addr i_location;
  20. __u64 i_unique;
  21. __u32 i_lenEAttr;
  22. __u32 i_lenAlloc;
  23. __u64 i_lenExtents;
  24. __u32 i_next_alloc_block;
  25. __u32 i_next_alloc_goal;
  26. unsigned i_alloc_type : 3;
  27. unsigned i_efe : 1;
  28. unsigned i_use : 1;
  29. unsigned i_strat4096 : 1;
  30. unsigned reserved : 26;
  31. union
  32. {
  33. short_ad *i_sad;
  34. long_ad *i_lad;
  35. __u8 *i_data;
  36. } i_ext;
  37. struct inode vfs_inode;
  38. };
  39. #endif
  40. /* exported IOCTLs, we have 'l', 0x40-0x7f */
  41. #define UDF_GETEASIZE _IOR('l', 0x40, int)
  42. #define UDF_GETEABLOCK _IOR('l', 0x41, void *)
  43. #define UDF_GETVOLIDENT _IOR('l', 0x42, void *)
  44. #define UDF_RELOCATE_BLOCKS _IOWR('l', 0x43, long)
  45. #endif /* _UDF_FS_I_H */