Subversion Repositories shark

Rev

Rev 422 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
422 giacomo 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
 
18
#ifndef _UDF_FS_I_H
19
#define _UDF_FS_I_H 1
20
 
21
#ifdef __KERNEL__
22
 
23
#ifndef _ECMA_167_H
24
typedef struct
25
{
26
        __u32                   logicalBlockNum;
27
        __u16                   partitionReferenceNum;
28
} __attribute__ ((packed)) lb_addr;
29
 
30
typedef struct
31
{
32
        __u32                   extLength;
33
        __u32                   extPosition;
34
} __attribute__ ((packed)) short_ad;
35
 
36
typedef struct
37
{
38
        __u32                   extLength;
39
        lb_addr                 extLocation;
40
        __u8                    impUse[6];
41
} __attribute__ ((packed)) long_ad;
42
#endif
43
 
44
struct udf_inode_info
45
{
46
        struct timespec         i_crtime;
47
        /* Physical address of inode */
48
        lb_addr                 i_location;
49
        __u64                   i_unique;
50
        __u32                   i_lenEAttr;
51
        __u32                   i_lenAlloc;
52
        __u64                   i_lenExtents;
53
        __u32                   i_next_alloc_block;
54
        __u32                   i_next_alloc_goal;
55
        unsigned                i_alloc_type : 3;
56
        unsigned                i_efe : 1;
57
        unsigned                i_use : 1;
58
        unsigned                i_strat4096 : 1;
59
        unsigned                reserved : 26;
60
        union
61
        {
62
                short_ad        *i_sad;
63
                long_ad         *i_lad;
64
                __u8            *i_data;
65
        } i_ext;
66
        struct inode vfs_inode;
67
};
68
 
69
#endif
70
 
71
/* exported IOCTLs, we have 'l', 0x40-0x7f */
72
 
73
#define UDF_GETEASIZE   _IOR('l', 0x40, int)
74
#define UDF_GETEABLOCK  _IOR('l', 0x41, void *)
75
#define UDF_GETVOLIDENT _IOR('l', 0x42, void *)
76
#define UDF_RELOCATE_BLOCKS _IOWR('l', 0x43, long)
77
 
78
#endif /* _UDF_FS_I_H */