- Stephen Rothwell: APM updates
[davej-history.git] / include / linux / udf_fs_sb.h
blob99cd246e9e7d7047a55ec71b0fb0b896b2b33f90
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@hootie.lvld.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 #if !defined(_LINUX_UDF_FS_SB_H)
19 #define _LINUX_UDF_FS_SB_H
21 #pragma pack(1)
23 #define UDF_MAX_BLOCK_LOADED 8
25 #define UDF_TYPE1_MAP15 0x1511U
26 #define UDF_VIRTUAL_MAP15 0x1512U
27 #define UDF_VIRTUAL_MAP20 0x2012U
28 #define UDF_SPARABLE_MAP15 0x1522U
30 struct udf_sparing_data
32 __u32 s_spar_loc[4];
33 __u8 s_spar_pshift;
34 __u8 s_spar_indexsize;
35 __u32 *s_spar_map;
36 union
38 __u8 *s_spar_remap8;
39 __u16 *s_spar_remap16;
40 __u32 *s_spar_remap32;
41 } s_spar_remap;
44 struct udf_virtual_data
46 __u32 s_num_entries;
47 __u16 s_start_offset;
50 struct udf_part_map
52 union
54 __u32 bitmap;
55 struct inode *table;
56 } s_uspace;
57 union
59 __u32 bitmap;
60 struct inode *table;
61 } s_fspace;
62 __u32 s_partition_root;
63 __u32 s_partition_len;
64 __u16 s_partition_type;
65 __u16 s_partition_num;
66 union
68 struct udf_sparing_data s_sparing;
69 struct udf_virtual_data s_virtual;
70 } s_type_specific;
71 __u32 (*s_partition_func)(struct super_block *, __u32, __u16, __u32);
72 __u16 s_volumeseqnum;
73 __u16 s_partition_flags;
76 #pragma pack()
78 struct udf_sb_info
80 struct udf_part_map *s_partmaps;
81 __u8 s_volident[32];
83 /* Overall info */
84 __u16 s_partitions;
85 __u16 s_partition;
87 /* Sector headers */
88 __u32 s_session;
89 __u32 s_anchor[4];
90 __u32 s_lastblock;
92 struct buffer_head *s_lvidbh;
94 __u16 s_loaded_block_bitmaps;
95 __u32 s_block_bitmap_number[UDF_MAX_BLOCK_LOADED];
96 struct buffer_head *s_block_bitmap[UDF_MAX_BLOCK_LOADED];
98 /* Default permissions */
99 mode_t s_umask;
100 gid_t s_gid;
101 uid_t s_uid;
103 /* Root Info */
104 time_t s_recordtime;
106 /* Fileset Info */
107 __u16 s_serialnum;
109 /* highest UDF revision we have recorded to this media */
110 __u16 s_udfrev;
112 /* Miscellaneous flags */
113 __u32 s_flags;
115 /* VAT inode */
116 struct inode *s_vat;
119 #endif /* !defined(_LINUX_UDF_FS_SB_H) */