Linux v2.6.15-rc6
[pohmelfs.git] / include / linux / udf_fs_sb.h
blob1966a6dbb4b6f70301470e381d845d7efe4b824e
1 /*
2 * udf_fs_sb.h
3 *
4 * This include file is for the Linux kernel/module.
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
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.
18 #ifndef _UDF_FS_SB_H
19 #define _UDF_FS_SB_H 1
21 #include <asm/semaphore.h>
23 #pragma pack(1)
25 #define UDF_MAX_BLOCK_LOADED 8
27 #define UDF_TYPE1_MAP15 0x1511U
28 #define UDF_VIRTUAL_MAP15 0x1512U
29 #define UDF_VIRTUAL_MAP20 0x2012U
30 #define UDF_SPARABLE_MAP15 0x1522U
32 struct udf_sparing_data
34 __u16 s_packet_len;
35 struct buffer_head *s_spar_map[4];
38 struct udf_virtual_data
40 __u32 s_num_entries;
41 __u16 s_start_offset;
44 struct udf_bitmap
46 __u32 s_extLength;
47 __u32 s_extPosition;
48 __u16 s_nr_groups;
49 struct buffer_head **s_block_bitmap;
52 struct udf_part_map
54 union
56 struct udf_bitmap *s_bitmap;
57 struct inode *s_table;
58 } s_uspace;
59 union
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
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;
78 #pragma pack()
80 struct udf_sb_info
82 struct udf_part_map *s_partmaps;
83 __u8 s_volident[32];
85 /* Overall info */
86 __u16 s_partitions;
87 __u16 s_partition;
89 /* Sector headers */
90 __s32 s_session;
91 __u32 s_anchor[4];
92 __u32 s_lastblock;
94 struct buffer_head *s_lvidbh;
96 /* Default permissions */
97 mode_t s_umask;
98 gid_t s_gid;
99 uid_t s_uid;
101 /* Root Info */
102 struct timespec s_recordtime;
104 /* Fileset Info */
105 __u16 s_serialnum;
107 /* highest UDF revision we have recorded to this media */
108 __u16 s_udfrev;
110 /* Miscellaneous flags */
111 __u32 s_flags;
113 /* Encoding info */
114 struct nls_table *s_nls_map;
116 /* VAT inode */
117 struct inode *s_vat;
119 struct semaphore s_alloc_sem;
122 #endif /* _UDF_FS_SB_H */