blob: e58d1de41073ccd8768d3cda0ba8c058b17dfa12 [file] [log] [blame]
Christoph Hellwig15aebd22008-02-22 12:39:12 +01001#ifndef _UDF_I_H
2#define _UDF_I_H
Linus Torvalds1da177e2005-04-16 15:20:36 -07003
Christoph Hellwig15aebd22008-02-22 12:39:12 +01004struct udf_inode_info {
5 struct timespec i_crtime;
6 /* Physical address of inode */
Pekka Enberg5ca4e4b2008-10-15 12:28:03 +02007 struct kernel_lb_addr i_location;
Christoph Hellwig15aebd22008-02-22 12:39:12 +01008 __u64 i_unique;
9 __u32 i_lenEAttr;
10 __u32 i_lenAlloc;
11 __u64 i_lenExtents;
12 __u32 i_next_alloc_block;
13 __u32 i_next_alloc_goal;
14 unsigned i_alloc_type : 3;
marcin.slusarz@gmail.comd652eef2008-01-30 22:03:59 +010015 unsigned i_efe : 1; /* extendedFileEntry */
16 unsigned i_use : 1; /* unallocSpaceEntry */
Christoph Hellwig15aebd22008-02-22 12:39:12 +010017 unsigned i_strat4096 : 1;
18 unsigned reserved : 26;
19 union {
Pekka Enberg5ca4e4b2008-10-15 12:28:03 +020020 struct short_ad *i_sad;
21 struct long_ad *i_lad;
Christoph Hellwig15aebd22008-02-22 12:39:12 +010022 __u8 *i_data;
23 } i_ext;
24 struct inode vfs_inode;
25};
26
Linus Torvalds1da177e2005-04-16 15:20:36 -070027static inline struct udf_inode_info *UDF_I(struct inode *inode)
28{
29 return list_entry(inode, struct udf_inode_info, vfs_inode);
30}
31
Christoph Hellwig15aebd22008-02-22 12:39:12 +010032#endif /* _UDF_I_H) */