Merge master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6
[sfrench/cifs-2.6.git] / include / linux / udf_fs_i.h
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
13 #ifndef _UDF_FS_I_H
14 #define _UDF_FS_I_H 1
15
16 #ifdef __KERNEL__
17
18 struct udf_inode_info
19 {
20         struct timespec         i_crtime;
21         /* Physical address of inode */
22         kernel_lb_addr          i_location;
23         __u64                   i_unique;
24         __u32                   i_lenEAttr;
25         __u32                   i_lenAlloc;
26         __u64                   i_lenExtents;
27         __u32                   i_next_alloc_block;
28         __u32                   i_next_alloc_goal;
29         unsigned                i_alloc_type : 3;
30         unsigned                i_efe : 1;
31         unsigned                i_use : 1;
32         unsigned                i_strat4096 : 1;
33         unsigned                reserved : 26;
34         union
35         {
36                 short_ad        *i_sad;
37                 long_ad         *i_lad;
38                 __u8            *i_data;
39         } i_ext;
40         struct inode vfs_inode;
41 };
42
43 #endif
44
45 /* exported IOCTLs, we have 'l', 0x40-0x7f */
46
47 #define UDF_GETEASIZE   _IOR('l', 0x40, int)
48 #define UDF_GETEABLOCK  _IOR('l', 0x41, void *)
49 #define UDF_GETVOLIDENT _IOR('l', 0x42, void *)
50 #define UDF_RELOCATE_BLOCKS _IOWR('l', 0x43, long)
51
52 #endif /* _UDF_FS_I_H */