Blame view
fs/udf/udfdecl.h
8.37 KB
1da177e4c Linux-2.6.12-rc2 |
1 2 |
#ifndef __UDF_DECL_H #define __UDF_DECL_H |
78ace70c4 udf: Convert prin... |
3 |
#define pr_fmt(fmt) "UDF-fs: " fmt |
1da177e4c Linux-2.6.12-rc2 |
4 5 6 7 |
#include "ecma_167.h" #include "osta_udf.h" #include <linux/fs.h> |
1da177e4c Linux-2.6.12-rc2 |
8 |
#include <linux/types.h> |
1da177e4c Linux-2.6.12-rc2 |
9 |
#include <linux/buffer_head.h> |
15aebd286 udf: move headers... |
10 |
#include <linux/udf_fs_i.h> |
1da177e4c Linux-2.6.12-rc2 |
11 |
|
15aebd286 udf: move headers... |
12 |
#include "udf_sb.h" |
1da177e4c Linux-2.6.12-rc2 |
13 |
#include "udfend.h" |
d652eefb7 udf: replace udf_... |
14 |
#include "udf_i.h" |
1da177e4c Linux-2.6.12-rc2 |
15 |
|
15aebd286 udf: move headers... |
16 17 |
#define UDF_PREALLOCATE #define UDF_DEFAULT_PREALLOC_BLOCKS 8 |
34116645d Merge branch 'for... |
18 19 |
extern __printf(3, 4) void _udf_err(struct super_block *sb, const char *function, const char *fmt, ...); |
78ace70c4 udf: Convert prin... |
20 21 |
#define udf_err(sb, fmt, ...) \ _udf_err(sb, __func__, fmt, ##__VA_ARGS__) |
15aebd286 udf: move headers... |
22 |
|
34116645d Merge branch 'for... |
23 24 |
extern __printf(3, 4) void _udf_warn(struct super_block *sb, const char *function, const char *fmt, ...); |
a40ecd7b3 udf: Rename udf_w... |
25 26 |
#define udf_warn(sb, fmt, ...) \ _udf_warn(sb, __func__, fmt, ##__VA_ARGS__) |
7e273e3b4 udf: Promote some... |
27 |
|
78ace70c4 udf: Convert prin... |
28 29 |
#define udf_info(fmt, ...) \ pr_info("INFO " fmt, ##__VA_ARGS__) |
7e273e3b4 udf: Promote some... |
30 |
|
e4f3ec063 udf: restore UDFF... |
31 |
#undef UDFFS_DEBUG |
15aebd286 udf: move headers... |
32 33 |
#ifdef UDFFS_DEBUG |
78ace70c4 udf: Convert prin... |
34 35 36 |
#define udf_debug(fmt, ...) \ printk(KERN_DEBUG pr_fmt("%s:%d:%s: " fmt), \ __FILE__, __LINE__, __func__, ##__VA_ARGS__) |
15aebd286 udf: move headers... |
37 |
#else |
78ace70c4 udf: Convert prin... |
38 39 |
#define udf_debug(fmt, ...) \ no_printk(fmt, ##__VA_ARGS__) |
15aebd286 udf: move headers... |
40 |
#endif |
1da177e4c Linux-2.6.12-rc2 |
41 42 43 44 45 46 47 |
#define udf_fixed_to_variable(x) ( ( ( (x) >> 5 ) * 39 ) + ( (x) & 0x0000001F ) ) #define udf_variable_to_fixed(x) ( ( ( (x) / 39 ) << 5 ) + ( (x) % 39 ) ) #define UDF_EXTENT_LENGTH_MASK 0x3FFFFFFF #define UDF_EXTENT_FLAG_MASK 0xC0000000 #define UDF_NAME_PAD 4 |
9fba70569 udf: Adjust UDF_N... |
48 49 |
#define UDF_NAME_LEN 254 #define UDF_NAME_LEN_CS0 255 |
1da177e4c Linux-2.6.12-rc2 |
50 |
|
d652eefb7 udf: replace udf_... |
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
static inline size_t udf_file_entry_alloc_offset(struct inode *inode) { struct udf_inode_info *iinfo = UDF_I(inode); if (iinfo->i_use) return sizeof(struct unallocSpaceEntry); else if (iinfo->i_efe) return sizeof(struct extendedFileEntry) + iinfo->i_lenEAttr; else return sizeof(struct fileEntry) + iinfo->i_lenEAttr; } static inline size_t udf_ext0_offset(struct inode *inode) { if (UDF_I(inode)->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) return udf_file_entry_alloc_offset(inode); else return 0; } |
1da177e4c Linux-2.6.12-rc2 |
69 |
|
3f2587bb2 udf: create commo... |
70 |
/* computes tag checksum */ |
5ca4e4be8 Remove struct typ... |
71 |
u8 udf_tag_checksum(const struct tag *t); |
3f2587bb2 udf: create commo... |
72 |
|
1da177e4c Linux-2.6.12-rc2 |
73 74 75 76 77 |
struct dentry; struct inode; struct task_struct; struct buffer_head; struct super_block; |
221e583a7 udf: Make udf exp... |
78 |
extern const struct export_operations udf_export_ops; |
c5ef1c42c [PATCH] mark stru... |
79 |
extern const struct inode_operations udf_dir_inode_operations; |
4b6f5d20b [PATCH] Make most... |
80 |
extern const struct file_operations udf_dir_operations; |
c5ef1c42c [PATCH] mark stru... |
81 |
extern const struct inode_operations udf_file_inode_operations; |
4b6f5d20b [PATCH] Make most... |
82 |
extern const struct file_operations udf_file_operations; |
f5e54d6e5 [PATCH] mark addr... |
83 84 85 |
extern const struct address_space_operations udf_aops; extern const struct address_space_operations udf_adinicb_aops; extern const struct address_space_operations udf_symlink_aops; |
1da177e4c Linux-2.6.12-rc2 |
86 |
|
cb00ea352 UDF: coding style... |
87 |
struct udf_fileident_bh { |
1da177e4c Linux-2.6.12-rc2 |
88 89 90 91 92 |
struct buffer_head *sbh; struct buffer_head *ebh; int soffset; int eoffset; }; |
cb00ea352 UDF: coding style... |
93 |
struct udf_vds_record { |
1da177e4c Linux-2.6.12-rc2 |
94 95 96 |
uint32_t block; uint32_t volDescSeqNum; }; |
cb00ea352 UDF: coding style... |
97 |
struct generic_desc { |
5ca4e4be8 Remove struct typ... |
98 |
struct tag descTag; |
28de7948a UDF: coding style... |
99 |
__le32 volDescSeqNum; |
1da177e4c Linux-2.6.12-rc2 |
100 |
}; |
ff116fc8d UDF: introduce st... |
101 |
|
1da177e4c Linux-2.6.12-rc2 |
102 |
/* super.c */ |
fab3c8581 fs/udf: Add print... |
103 |
|
146bca72c udf: Don't write ... |
104 105 106 107 108 109 110 111 |
static inline void udf_updated_lvid(struct super_block *sb) { struct buffer_head *bh = UDF_SB(sb)->s_lvid_bh; BUG_ON(!bh); WARN_ON_ONCE(((struct logicalVolIntegrityDesc *) bh->b_data)->integrityType != cpu_to_le32(LVID_INTEGRITY_TYPE_OPEN)); |
146bca72c udf: Don't write ... |
112 113 |
UDF_SB(sb)->s_lvid_dirty = 1; } |
d664b6af6 udf: Move handlin... |
114 |
extern u64 lvid_get_unique_id(struct super_block *sb); |
3080a74ea udf: Skip mirror ... |
115 116 |
struct inode *udf_find_metadata_inode_efe(struct super_block *sb, u32 meta_file_loc, u32 partition_num); |
1da177e4c Linux-2.6.12-rc2 |
117 118 |
/* namei.c */ |
cb00ea352 UDF: coding style... |
119 120 121 |
extern int udf_write_fi(struct inode *inode, struct fileIdentDesc *, struct fileIdentDesc *, struct udf_fileident_bh *, uint8_t *, uint8_t *); |
1da177e4c Linux-2.6.12-rc2 |
122 123 |
/* file.c */ |
2f07a88b3 udf: BKL ioctl pu... |
124 |
extern long udf_ioctl(struct file *, unsigned int, unsigned long); |
1da177e4c Linux-2.6.12-rc2 |
125 |
/* inode.c */ |
6174c2eb8 udf: Fix loading ... |
126 127 128 129 130 131 132 133 134 135 136 137 |
extern struct inode *__udf_iget(struct super_block *, struct kernel_lb_addr *, bool hidden_inode); static inline struct inode *udf_iget_special(struct super_block *sb, struct kernel_lb_addr *ino) { return __udf_iget(sb, ino, true); } static inline struct inode *udf_iget(struct super_block *sb, struct kernel_lb_addr *ino) { return __udf_iget(sb, ino, false); } |
7e49b6f24 udf: Convert UDF ... |
138 |
extern int udf_expand_file_adinicb(struct inode *); |
cb00ea352 UDF: coding style... |
139 140 |
extern struct buffer_head *udf_expand_dir_adinicb(struct inode *, int *, int *); extern struct buffer_head *udf_bread(struct inode *, int, int, int *); |
7e49b6f24 udf: Convert UDF ... |
141 |
extern int udf_setsize(struct inode *, loff_t); |
3aac2b62e switch udf to ->e... |
142 |
extern void udf_evict_inode(struct inode *); |
a9185b41a pass writeback_co... |
143 |
extern int udf_write_inode(struct inode *, struct writeback_control *wbc); |
60448b1d6 udf: use sector_t... |
144 |
extern long udf_block_map(struct inode *, sector_t); |
cb00ea352 UDF: coding style... |
145 |
extern int8_t inode_bmap(struct inode *, sector_t, struct extent_position *, |
5ca4e4be8 Remove struct typ... |
146 |
struct kernel_lb_addr *, uint32_t *, sector_t *); |
fcea62bab udf: Factor out c... |
147 148 149 150 |
extern int udf_setup_indirect_aext(struct inode *inode, int block, struct extent_position *epos); extern int __udf_add_aext(struct inode *inode, struct extent_position *epos, struct kernel_lb_addr *eloc, uint32_t elen, int inc); |
7e49b6f24 udf: Convert UDF ... |
151 152 153 |
extern int udf_add_aext(struct inode *, struct extent_position *, struct kernel_lb_addr *, uint32_t, int); extern void udf_write_aext(struct inode *, struct extent_position *, |
97e961fdb Fix the udf code ... |
154 |
struct kernel_lb_addr *, uint32_t, int); |
cb00ea352 UDF: coding style... |
155 |
extern int8_t udf_delete_aext(struct inode *, struct extent_position, |
5ca4e4be8 Remove struct typ... |
156 |
struct kernel_lb_addr, uint32_t); |
cb00ea352 UDF: coding style... |
157 |
extern int8_t udf_next_aext(struct inode *, struct extent_position *, |
5ca4e4be8 Remove struct typ... |
158 |
struct kernel_lb_addr *, uint32_t *, int); |
cb00ea352 UDF: coding style... |
159 |
extern int8_t udf_current_aext(struct inode *, struct extent_position *, |
5ca4e4be8 Remove struct typ... |
160 |
struct kernel_lb_addr *, uint32_t *, int); |
1da177e4c Linux-2.6.12-rc2 |
161 162 163 164 |
/* misc.c */ extern struct buffer_head *udf_tgetblk(struct super_block *, int); extern struct buffer_head *udf_tread(struct super_block *, int); |
cb00ea352 UDF: coding style... |
165 166 167 168 169 170 171 |
extern struct genericFormat *udf_add_extendedattr(struct inode *, uint32_t, uint32_t, uint8_t); extern struct genericFormat *udf_get_extendedattr(struct inode *, uint32_t, uint8_t); extern struct buffer_head *udf_read_tagged(struct super_block *, uint32_t, uint32_t, uint16_t *); extern struct buffer_head *udf_read_ptagged(struct super_block *, |
97e961fdb Fix the udf code ... |
172 |
struct kernel_lb_addr *, uint32_t, |
cb00ea352 UDF: coding style... |
173 |
uint16_t *); |
1da177e4c Linux-2.6.12-rc2 |
174 175 176 177 178 179 180 181 |
extern void udf_update_tag(char *, int); extern void udf_new_tag(char *, uint16_t, uint16_t, uint16_t, uint32_t, int); /* lowlevel.c */ extern unsigned int udf_get_last_session(struct super_block *); extern unsigned long udf_get_last_block(struct super_block *); /* partition.c */ |
cb00ea352 UDF: coding style... |
182 183 184 185 186 187 188 189 |
extern uint32_t udf_get_pblock(struct super_block *, uint32_t, uint16_t, uint32_t); extern uint32_t udf_get_pblock_virt15(struct super_block *, uint32_t, uint16_t, uint32_t); extern uint32_t udf_get_pblock_virt20(struct super_block *, uint32_t, uint16_t, uint32_t); extern uint32_t udf_get_pblock_spar15(struct super_block *, uint32_t, uint16_t, uint32_t); |
bfb257a59 udf: Add read-onl... |
190 191 |
extern uint32_t udf_get_pblock_meta25(struct super_block *, uint32_t, uint16_t, uint32_t); |
1da177e4c Linux-2.6.12-rc2 |
192 |
extern int udf_relocate_blocks(struct super_block *, long, long *); |
97e961fdb Fix the udf code ... |
193 194 195 196 197 198 199 |
static inline uint32_t udf_get_lb_pblock(struct super_block *sb, struct kernel_lb_addr *loc, uint32_t offset) { return udf_get_pblock(sb, loc->logicalBlockNum, loc->partitionReferenceNum, offset); } |
1da177e4c Linux-2.6.12-rc2 |
200 |
/* unicode.c */ |
9293fcfbc udf: Remove struc... |
201 202 |
extern int udf_get_filename(struct super_block *, const uint8_t *, int, uint8_t *, int); |
525e2c56c udf: Parameterize... |
203 204 |
extern int udf_put_filename(struct super_block *, const uint8_t *, int, uint8_t *, int); |
c26f6c615 udf: Fix conversi... |
205 |
extern int udf_dstrCS0toUTF8(uint8_t *, int, const uint8_t *, int); |
1da177e4c Linux-2.6.12-rc2 |
206 207 208 |
/* ialloc.c */ extern void udf_free_inode(struct inode *); |
0b93a92be udf: saner callin... |
209 |
extern struct inode *udf_new_inode(struct inode *, umode_t); |
1da177e4c Linux-2.6.12-rc2 |
210 211 |
/* truncate.c */ |
74584ae50 udf: fix possible... |
212 |
extern void udf_truncate_tail_extent(struct inode *); |
1da177e4c Linux-2.6.12-rc2 |
213 214 215 216 |
extern void udf_discard_prealloc(struct inode *); extern void udf_truncate_extents(struct inode *); /* balloc.c */ |
cb00ea352 UDF: coding style... |
217 |
extern void udf_free_blocks(struct super_block *, struct inode *, |
97e961fdb Fix the udf code ... |
218 |
struct kernel_lb_addr *, uint32_t, uint32_t); |
cb00ea352 UDF: coding style... |
219 220 221 222 |
extern int udf_prealloc_blocks(struct super_block *, struct inode *, uint16_t, uint32_t, uint32_t); extern int udf_new_block(struct super_block *, struct inode *, uint16_t, uint32_t, int *); |
1da177e4c Linux-2.6.12-rc2 |
223 |
|
1da177e4c Linux-2.6.12-rc2 |
224 |
/* directory.c */ |
cb00ea352 UDF: coding style... |
225 226 227 228 |
extern struct fileIdentDesc *udf_fileident_read(struct inode *, loff_t *, struct udf_fileident_bh *, struct fileIdentDesc *, struct extent_position *, |
5ca4e4be8 Remove struct typ... |
229 |
struct kernel_lb_addr *, uint32_t *, |
cb00ea352 UDF: coding style... |
230 231 232 |
sector_t *); extern struct fileIdentDesc *udf_get_fileident(void *buffer, int bufsize, int *offset); |
5ca4e4be8 Remove struct typ... |
233 234 |
extern struct long_ad *udf_get_filelongad(uint8_t *, int, uint32_t *, int); extern struct short_ad *udf_get_fileshortad(uint8_t *, int, uint32_t *, int); |
1da177e4c Linux-2.6.12-rc2 |
235 |
|
1da177e4c Linux-2.6.12-rc2 |
236 |
/* udftime.c */ |
56774805d udf: convert udf_... |
237 |
extern struct timespec *udf_disk_stamp_to_time(struct timespec *dest, |
5ca4e4be8 Remove struct typ... |
238 239 |
struct timestamp src); extern struct timestamp *udf_time_to_disk_stamp(struct timestamp *dest, struct timespec src); |
1da177e4c Linux-2.6.12-rc2 |
240 |
|
cb00ea352 UDF: coding style... |
241 |
#endif /* __UDF_DECL_H */ |