aboutsummaryrefslogtreecommitdiffstats
path: root/fs/udf/udfdecl.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/udf/udfdecl.h')
-rw-r--r--fs/udf/udfdecl.h106
1 files changed, 65 insertions, 41 deletions
diff --git a/fs/udf/udfdecl.h b/fs/udf/udfdecl.h
index f581f2f69c0f..76f2b82a39dc 100644
--- a/fs/udf/udfdecl.h
+++ b/fs/udf/udfdecl.h
@@ -50,30 +50,26 @@ extern const struct address_space_operations udf_aops;
50extern const struct address_space_operations udf_adinicb_aops; 50extern const struct address_space_operations udf_adinicb_aops;
51extern const struct address_space_operations udf_symlink_aops; 51extern const struct address_space_operations udf_symlink_aops;
52 52
53struct udf_fileident_bh 53struct udf_fileident_bh {
54{
55 struct buffer_head *sbh; 54 struct buffer_head *sbh;
56 struct buffer_head *ebh; 55 struct buffer_head *ebh;
57 int soffset; 56 int soffset;
58 int eoffset; 57 int eoffset;
59}; 58};
60 59
61struct udf_vds_record 60struct udf_vds_record {
62{
63 uint32_t block; 61 uint32_t block;
64 uint32_t volDescSeqNum; 62 uint32_t volDescSeqNum;
65}; 63};
66 64
67struct generic_desc 65struct generic_desc {
68{ 66 tag descTag;
69 tag descTag; 67 __le32 volDescSeqNum;
70 __le32 volDescSeqNum;
71}; 68};
72 69
73struct ustr 70struct ustr {
74{
75 uint8_t u_cmpID; 71 uint8_t u_cmpID;
76 uint8_t u_name[UDF_NAME_LEN-2]; 72 uint8_t u_name[UDF_NAME_LEN - 2];
77 uint8_t u_len; 73 uint8_t u_len;
78}; 74};
79 75
@@ -83,44 +79,58 @@ struct extent_position {
83 kernel_lb_addr block; 79 kernel_lb_addr block;
84}; 80};
85 81
86
87/* super.c */ 82/* super.c */
88extern void udf_error(struct super_block *, const char *, const char *, ...); 83extern void udf_error(struct super_block *, const char *, const char *, ...);
89extern void udf_warning(struct super_block *, const char *, const char *, ...); 84extern void udf_warning(struct super_block *, const char *, const char *, ...);
90 85
91/* namei.c */ 86/* namei.c */
92extern int udf_write_fi(struct inode *inode, struct fileIdentDesc *, struct fileIdentDesc *, struct udf_fileident_bh *, uint8_t *, uint8_t *); 87extern int udf_write_fi(struct inode *inode, struct fileIdentDesc *,
88 struct fileIdentDesc *, struct udf_fileident_bh *,
89 uint8_t *, uint8_t *);
93 90
94/* file.c */ 91/* file.c */
95extern int udf_ioctl(struct inode *, struct file *, unsigned int, unsigned long); 92extern int udf_ioctl(struct inode *, struct file *, unsigned int,
93 unsigned long);
96 94
97/* inode.c */ 95/* inode.c */
98extern struct inode *udf_iget(struct super_block *, kernel_lb_addr); 96extern struct inode *udf_iget(struct super_block *, kernel_lb_addr);
99extern int udf_sync_inode(struct inode *); 97extern int udf_sync_inode(struct inode *);
100extern void udf_expand_file_adinicb(struct inode *, int, int *); 98extern void udf_expand_file_adinicb(struct inode *, int, int *);
101extern struct buffer_head * udf_expand_dir_adinicb(struct inode *, int *, int *); 99extern struct buffer_head *udf_expand_dir_adinicb(struct inode *, int *, int *);
102extern struct buffer_head * udf_bread(struct inode *, int, int, int *); 100extern struct buffer_head *udf_bread(struct inode *, int, int, int *);
103extern void udf_truncate(struct inode *); 101extern void udf_truncate(struct inode *);
104extern void udf_read_inode(struct inode *); 102extern void udf_read_inode(struct inode *);
105extern void udf_delete_inode(struct inode *); 103extern void udf_delete_inode(struct inode *);
106extern void udf_clear_inode(struct inode *); 104extern void udf_clear_inode(struct inode *);
107extern int udf_write_inode(struct inode *, int); 105extern int udf_write_inode(struct inode *, int);
108extern long udf_block_map(struct inode *, sector_t); 106extern long udf_block_map(struct inode *, sector_t);
109extern int udf_extend_file(struct inode *, struct extent_position *, kernel_long_ad *, sector_t); 107extern int udf_extend_file(struct inode *, struct extent_position *,
110extern int8_t inode_bmap(struct inode *, sector_t, struct extent_position *, kernel_lb_addr *, uint32_t *, sector_t *); 108 kernel_long_ad *, sector_t);
111extern int8_t udf_add_aext(struct inode *, struct extent_position *, kernel_lb_addr, uint32_t, int); 109extern int8_t inode_bmap(struct inode *, sector_t, struct extent_position *,
112extern int8_t udf_write_aext(struct inode *, struct extent_position *, kernel_lb_addr, uint32_t, int); 110 kernel_lb_addr *, uint32_t *, sector_t *);
113extern int8_t udf_delete_aext(struct inode *, struct extent_position, kernel_lb_addr, uint32_t); 111extern int8_t udf_add_aext(struct inode *, struct extent_position *,
114extern int8_t udf_next_aext(struct inode *, struct extent_position *, kernel_lb_addr *, uint32_t *, int); 112 kernel_lb_addr, uint32_t, int);
115extern int8_t udf_current_aext(struct inode *, struct extent_position *, kernel_lb_addr *, uint32_t *, int); 113extern int8_t udf_write_aext(struct inode *, struct extent_position *,
114 kernel_lb_addr, uint32_t, int);
115extern int8_t udf_delete_aext(struct inode *, struct extent_position,
116 kernel_lb_addr, uint32_t);
117extern int8_t udf_next_aext(struct inode *, struct extent_position *,
118 kernel_lb_addr *, uint32_t *, int);
119extern int8_t udf_current_aext(struct inode *, struct extent_position *,
120 kernel_lb_addr *, uint32_t *, int);
116 121
117/* misc.c */ 122/* misc.c */
118extern struct buffer_head *udf_tgetblk(struct super_block *, int); 123extern struct buffer_head *udf_tgetblk(struct super_block *, int);
119extern struct buffer_head *udf_tread(struct super_block *, int); 124extern struct buffer_head *udf_tread(struct super_block *, int);
120extern struct genericFormat *udf_add_extendedattr(struct inode *, uint32_t, uint32_t, uint8_t); 125extern struct genericFormat *udf_add_extendedattr(struct inode *, uint32_t,
121extern struct genericFormat *udf_get_extendedattr(struct inode *, uint32_t, uint8_t); 126 uint32_t, uint8_t);
122extern struct buffer_head *udf_read_tagged(struct super_block *, uint32_t, uint32_t, uint16_t *); 127extern struct genericFormat *udf_get_extendedattr(struct inode *, uint32_t,
123extern struct buffer_head *udf_read_ptagged(struct super_block *, kernel_lb_addr, uint32_t, uint16_t *); 128 uint8_t);
129extern struct buffer_head *udf_read_tagged(struct super_block *, uint32_t,
130 uint32_t, uint16_t *);
131extern struct buffer_head *udf_read_ptagged(struct super_block *,
132 kernel_lb_addr, uint32_t,
133 uint16_t *);
124extern void udf_update_tag(char *, int); 134extern void udf_update_tag(char *, int);
125extern void udf_new_tag(char *, uint16_t, uint16_t, uint16_t, uint32_t, int); 135extern void udf_new_tag(char *, uint16_t, uint16_t, uint16_t, uint32_t, int);
126 136
@@ -129,21 +139,26 @@ extern unsigned int udf_get_last_session(struct super_block *);
129extern unsigned long udf_get_last_block(struct super_block *); 139extern unsigned long udf_get_last_block(struct super_block *);
130 140
131/* partition.c */ 141/* partition.c */
132extern uint32_t udf_get_pblock(struct super_block *, uint32_t, uint16_t, uint32_t); 142extern uint32_t udf_get_pblock(struct super_block *, uint32_t, uint16_t,
133extern uint32_t udf_get_pblock_virt15(struct super_block *, uint32_t, uint16_t, uint32_t); 143 uint32_t);
134extern uint32_t udf_get_pblock_virt20(struct super_block *, uint32_t, uint16_t, uint32_t); 144extern uint32_t udf_get_pblock_virt15(struct super_block *, uint32_t, uint16_t,
135extern uint32_t udf_get_pblock_spar15(struct super_block *, uint32_t, uint16_t, uint32_t); 145 uint32_t);
146extern uint32_t udf_get_pblock_virt20(struct super_block *, uint32_t, uint16_t,
147 uint32_t);
148extern uint32_t udf_get_pblock_spar15(struct super_block *, uint32_t, uint16_t,
149 uint32_t);
136extern int udf_relocate_blocks(struct super_block *, long, long *); 150extern int udf_relocate_blocks(struct super_block *, long, long *);
137 151
138/* unicode.c */ 152/* unicode.c */
139extern int udf_get_filename(struct super_block *, uint8_t *, uint8_t *, int); 153extern int udf_get_filename(struct super_block *, uint8_t *, uint8_t *, int);
140extern int udf_put_filename(struct super_block *, const uint8_t *, uint8_t *, int); 154extern int udf_put_filename(struct super_block *, const uint8_t *, uint8_t *,
155 int);
141extern int udf_build_ustr(struct ustr *, dstring *, int); 156extern int udf_build_ustr(struct ustr *, dstring *, int);
142extern int udf_CS0toUTF8(struct ustr *, struct ustr *); 157extern int udf_CS0toUTF8(struct ustr *, struct ustr *);
143 158
144/* ialloc.c */ 159/* ialloc.c */
145extern void udf_free_inode(struct inode *); 160extern void udf_free_inode(struct inode *);
146extern struct inode * udf_new_inode (struct inode *, int, int *); 161extern struct inode *udf_new_inode(struct inode *, int, int *);
147 162
148/* truncate.c */ 163/* truncate.c */
149extern void udf_truncate_tail_extent(struct inode *); 164extern void udf_truncate_tail_extent(struct inode *);
@@ -151,18 +166,27 @@ extern void udf_discard_prealloc(struct inode *);
151extern void udf_truncate_extents(struct inode *); 166extern void udf_truncate_extents(struct inode *);
152 167
153/* balloc.c */ 168/* balloc.c */
154extern void udf_free_blocks(struct super_block *, struct inode *, kernel_lb_addr, uint32_t, uint32_t); 169extern void udf_free_blocks(struct super_block *, struct inode *,
155extern int udf_prealloc_blocks(struct super_block *, struct inode *, uint16_t, uint32_t, uint32_t); 170 kernel_lb_addr, uint32_t, uint32_t);
156extern int udf_new_block(struct super_block *, struct inode *, uint16_t, uint32_t, int *); 171extern int udf_prealloc_blocks(struct super_block *, struct inode *, uint16_t,
172 uint32_t, uint32_t);
173extern int udf_new_block(struct super_block *, struct inode *, uint16_t,
174 uint32_t, int *);
157 175
158/* fsync.c */ 176/* fsync.c */
159extern int udf_fsync_file(struct file *, struct dentry *, int); 177extern int udf_fsync_file(struct file *, struct dentry *, int);
160 178
161/* directory.c */ 179/* directory.c */
162extern struct fileIdentDesc * udf_fileident_read(struct inode *, loff_t *, struct udf_fileident_bh *, struct fileIdentDesc *, struct extent_position *, kernel_lb_addr *, uint32_t *, sector_t *); 180extern struct fileIdentDesc *udf_fileident_read(struct inode *, loff_t *,
163extern struct fileIdentDesc * udf_get_fileident(void * buffer, int bufsize, int * offset); 181 struct udf_fileident_bh *,
164extern long_ad * udf_get_filelongad(uint8_t *, int, int *, int); 182 struct fileIdentDesc *,
165extern short_ad * udf_get_fileshortad(uint8_t *, int, int *, int); 183 struct extent_position *,
184 kernel_lb_addr *, uint32_t *,
185 sector_t *);
186extern struct fileIdentDesc *udf_get_fileident(void *buffer, int bufsize,
187 int *offset);
188extern long_ad *udf_get_filelongad(uint8_t *, int, int *, int);
189extern short_ad *udf_get_fileshortad(uint8_t *, int, int *, int);
166 190
167/* crc.c */ 191/* crc.c */
168extern uint16_t udf_crc(uint8_t *, uint32_t, uint16_t); 192extern uint16_t udf_crc(uint8_t *, uint32_t, uint16_t);
@@ -171,4 +195,4 @@ extern uint16_t udf_crc(uint8_t *, uint32_t, uint16_t);
171extern time_t *udf_stamp_to_time(time_t *, long *, kernel_timestamp); 195extern time_t *udf_stamp_to_time(time_t *, long *, kernel_timestamp);
172extern kernel_timestamp *udf_time_to_stamp(kernel_timestamp *, struct timespec); 196extern kernel_timestamp *udf_time_to_stamp(kernel_timestamp *, struct timespec);
173 197
174#endif /* __UDF_DECL_H */ 198#endif /* __UDF_DECL_H */