diff options
Diffstat (limited to 'include/linux/udf_fs_sb.h')
-rw-r--r-- | include/linux/udf_fs_sb.h | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/include/linux/udf_fs_sb.h b/include/linux/udf_fs_sb.h new file mode 100644 index 000000000000..1966a6dbb4b6 --- /dev/null +++ b/include/linux/udf_fs_sb.h | |||
@@ -0,0 +1,122 @@ | |||
1 | /* | ||
2 | * udf_fs_sb.h | ||
3 | * | ||
4 | * This include file is 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_SB_H | ||
19 | #define _UDF_FS_SB_H 1 | ||
20 | |||
21 | #include <asm/semaphore.h> | ||
22 | |||
23 | #pragma pack(1) | ||
24 | |||
25 | #define UDF_MAX_BLOCK_LOADED 8 | ||
26 | |||
27 | #define UDF_TYPE1_MAP15 0x1511U | ||
28 | #define UDF_VIRTUAL_MAP15 0x1512U | ||
29 | #define UDF_VIRTUAL_MAP20 0x2012U | ||
30 | #define UDF_SPARABLE_MAP15 0x1522U | ||
31 | |||
32 | struct udf_sparing_data | ||
33 | { | ||
34 | __u16 s_packet_len; | ||
35 | struct buffer_head *s_spar_map[4]; | ||
36 | }; | ||
37 | |||
38 | struct udf_virtual_data | ||
39 | { | ||
40 | __u32 s_num_entries; | ||
41 | __u16 s_start_offset; | ||
42 | }; | ||
43 | |||
44 | struct udf_bitmap | ||
45 | { | ||
46 | __u32 s_extLength; | ||
47 | __u32 s_extPosition; | ||
48 | __u16 s_nr_groups; | ||
49 | struct buffer_head **s_block_bitmap; | ||
50 | }; | ||
51 | |||
52 | struct udf_part_map | ||
53 | { | ||
54 | union | ||
55 | { | ||
56 | struct udf_bitmap *s_bitmap; | ||
57 | struct inode *s_table; | ||
58 | } s_uspace; | ||
59 | union | ||
60 | { | ||
61 | struct udf_bitmap *s_bitmap; | ||
62 | struct inode *s_table; | ||
63 | } s_fspace; | ||
64 | __u32 s_partition_root; | ||
65 | __u32 s_partition_len; | ||
66 | __u16 s_partition_type; | ||
67 | __u16 s_partition_num; | ||
68 | union | ||
69 | { | ||
70 | struct udf_sparing_data s_sparing; | ||
71 | struct udf_virtual_data s_virtual; | ||
72 | } s_type_specific; | ||
73 | __u32 (*s_partition_func)(struct super_block *, __u32, __u16, __u32); | ||
74 | __u16 s_volumeseqnum; | ||
75 | __u16 s_partition_flags; | ||
76 | }; | ||
77 | |||
78 | #pragma pack() | ||
79 | |||
80 | struct udf_sb_info | ||
81 | { | ||
82 | struct udf_part_map *s_partmaps; | ||
83 | __u8 s_volident[32]; | ||
84 | |||
85 | /* Overall info */ | ||
86 | __u16 s_partitions; | ||
87 | __u16 s_partition; | ||
88 | |||
89 | /* Sector headers */ | ||
90 | __s32 s_session; | ||
91 | __u32 s_anchor[4]; | ||
92 | __u32 s_lastblock; | ||
93 | |||
94 | struct buffer_head *s_lvidbh; | ||
95 | |||
96 | /* Default permissions */ | ||
97 | mode_t s_umask; | ||
98 | gid_t s_gid; | ||
99 | uid_t s_uid; | ||
100 | |||
101 | /* Root Info */ | ||
102 | struct timespec s_recordtime; | ||
103 | |||
104 | /* Fileset Info */ | ||
105 | __u16 s_serialnum; | ||
106 | |||
107 | /* highest UDF revision we have recorded to this media */ | ||
108 | __u16 s_udfrev; | ||
109 | |||
110 | /* Miscellaneous flags */ | ||
111 | __u32 s_flags; | ||
112 | |||
113 | /* Encoding info */ | ||
114 | struct nls_table *s_nls_map; | ||
115 | |||
116 | /* VAT inode */ | ||
117 | struct inode *s_vat; | ||
118 | |||
119 | struct semaphore s_alloc_sem; | ||
120 | }; | ||
121 | |||
122 | #endif /* _UDF_FS_SB_H */ | ||