udf_fs_i.h
上传用户:szlgq88
上传日期:2009-04-28
资源大小:48287k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  * udf_fs_i.h
  3.  *
  4.  * This file is intended for the Linux kernel/module. 
  5.  *
  6.  * CONTACTS
  7.  * E-mail regarding any portion of the Linux UDF file system should be
  8.  * directed to the development team mailing list (run by majordomo):
  9.  * linux_udf@hpesjro.fc.hp.com
  10.  *
  11.  * COPYRIGHT
  12.  * This file is distributed under the terms of the GNU General Public
  13.  * License (GPL). Copies of the GPL can be obtained from:
  14.  * ftp://prep.ai.mit.edu/pub/gnu/GPL
  15.  * Each contributing author retains all rights to their own work.
  16.  */
  17. #ifndef _UDF_FS_I_H
  18. #define _UDF_FS_I_H 1
  19. #ifdef __KERNEL__
  20. #ifndef _ECMA_167_H
  21. typedef struct
  22. {
  23. __u32 logicalBlockNum;
  24. __u16 partitionReferenceNum;
  25. } __attribute__ ((packed)) lb_addr;
  26. typedef struct
  27. {
  28. __u32 extLength;
  29. __u32 extPosition;
  30. } __attribute__ ((packed)) short_ad;
  31. typedef struct
  32. {
  33. __u32 extLength;
  34. lb_addr extLocation;
  35. __u8 impUse[6];
  36. } __attribute__ ((packed)) long_ad;
  37. #endif
  38. struct udf_inode_info
  39. {
  40. struct timespec i_crtime;
  41. /* Physical address of inode */
  42. kernel_lb_addr i_location;
  43. __u64 i_unique;
  44. __u32 i_lenEAttr;
  45. __u32 i_lenAlloc;
  46. __u64 i_lenExtents;
  47. __u32 i_next_alloc_block;
  48. __u32 i_next_alloc_goal;
  49. unsigned i_alloc_type : 3;
  50. unsigned i_efe : 1;
  51. unsigned i_use : 1;
  52. unsigned i_strat4096 : 1;
  53. unsigned reserved : 26;
  54. union
  55. {
  56. short_ad *i_sad;
  57. long_ad *i_lad;
  58. __u8 *i_data;
  59. } i_ext;
  60. struct inode vfs_inode;
  61. };
  62. #endif
  63. /* exported IOCTLs, we have 'l', 0x40-0x7f */
  64. #define UDF_GETEASIZE   _IOR('l', 0x40, int)
  65. #define UDF_GETEABLOCK  _IOR('l', 0x41, void *)
  66. #define UDF_GETVOLIDENT _IOR('l', 0x42, void *)
  67. #define UDF_RELOCATE_BLOCKS _IOWR('l', 0x43, long)
  68. #endif /* _UDF_FS_I_H */