]>
Commit | Line | Data |
---|---|---|
583a1ce5 TT |
1 | Extended 2 filesystem structure definitions for ext2ed. |
2 | ||
3 | Most of this file is just copied from the ext2 main include file. | |
4 | ||
5 | My parser is very primitive - It only searches for the struct keywords, | |
6 | and uses the variables in there. The rest of the file is just ignored. | |
7 | ||
8 | You will find at the end a few additional types which are not aviable in | |
9 | the original include file, such as the types "file" and "dir". They have | |
10 | no variables, but are necessary due to the way ext2ed binds C commands | |
11 | to specific types. | |
12 | ||
13 | Gadi Oxman, 7/95 | |
14 | ||
15 | Here is the original copyright: | |
16 | ||
17 | /* | |
18 | * linux/include/linux/ext2_fs.h | |
19 | * | |
20 | * Copyright (C) 1992, 1993, 1994 Remy Card (card@masi.ibp.fr) | |
21 | * Laboratoire MASI - Institut Blaise Pascal | |
22 | * Universite Pierre et Marie Curie (Paris VI) | |
23 | * | |
24 | * from | |
25 | * | |
26 | * linux/include/linux/minix_fs.h | |
27 | * | |
28 | * Copyright (C) 1991, 1992 Linus Torvalds | |
29 | */ | |
30 | ||
31 | ||
32 | /* | |
33 | * ACL structures | |
34 | */ | |
35 | struct ext2_acl_header /* Header of Access Control Lists */ | |
36 | { | |
37 | unsigned long aclh_size; | |
38 | unsigned long aclh_file_count; | |
39 | unsigned long aclh_acle_count; | |
40 | unsigned long aclh_first_acle; | |
41 | }; | |
42 | ||
43 | struct ext2_acl_entry /* Access Control List Entry */ | |
44 | { | |
45 | unsigned long acle_size; | |
46 | unsigned short acle_perms; /* Access permissions */ | |
47 | unsigned short acle_type; /* Type of entry */ | |
48 | unsigned short acle_tag; /* User or group identity */ | |
49 | unsigned short acle_pad1; | |
50 | unsigned long acle_next; /* Pointer on next entry for the */ | |
51 | /* same inode or on next free entry */ | |
52 | }; | |
53 | ||
54 | /* | |
55 | * Structure of a blocks group descriptor | |
56 | */ | |
57 | ||
58 | struct ext2_group_desc | |
59 | { | |
7c36779a TT |
60 | __u32 bg_block_bitmap; /* Blocks bitmap block */ |
61 | __u32 bg_inode_bitmap; /* Inodes bitmap block */ | |
62 | __u32 bg_inode_table; /* Inodes table block */ | |
63 | __u16 bg_free_blocks_count; /* Free blocks count */ | |
64 | __u16 bg_free_inodes_count; /* Free inodes count */ | |
65 | __u16 bg_used_dirs_count; /* Directories count */ | |
66 | __u16 bg_pad; | |
67 | __u32 bg_reserved[0]; | |
68 | __u32 bg_reserved[1]; | |
69 | __u32 bg_reserved[2]; | |
583a1ce5 TT |
70 | }; |
71 | ||
72 | /* | |
73 | * Structure of an inode on the disk | |
74 | */ | |
75 | struct ext2_inode { | |
7c36779a TT |
76 | __u16 i_mode; /* File mode */ |
77 | __u16 i_uid; /* Owner Uid */ | |
78 | __u32 i_size; /* Size in bytes */ | |
79 | __u32 i_atime; /* Access time */ | |
80 | __u32 i_ctime; /* Creation time */ | |
81 | __u32 i_mtime; /* Modification time */ | |
82 | __u32 i_dtime; /* Deletion Time */ | |
83 | __u16 i_gid; /* Group Id */ | |
84 | __u16 i_links_count; /* Links count */ | |
85 | __u32 i_blocks; /* Blocks count */ | |
86 | __u32 i_flags; /* File flags */ | |
87 | __u32 l_i_reserved1; | |
88 | __u32 i_block[0]; /* Pointers to blocks */ | |
89 | __u32 i_block[1]; /* Pointers to blocks */ | |
90 | __u32 i_block[2]; /* Pointers to blocks */ | |
91 | __u32 i_block[3]; /* Pointers to blocks */ | |
92 | __u32 i_block[4]; /* Pointers to blocks */ | |
93 | __u32 i_block[5]; /* Pointers to blocks */ | |
94 | __u32 i_block[6]; /* Pointers to blocks */ | |
95 | __u32 i_block[7]; /* Pointers to blocks */ | |
96 | __u32 i_block[8]; /* Pointers to blocks */ | |
97 | __u32 i_block[9]; /* Pointers to blocks */ | |
98 | __u32 i_block[10]; /* Pointers to blocks */ | |
99 | __u32 i_block[11]; /* Pointers to blocks */ | |
100 | __u32 i_block[12]; /* Pointers to blocks */ | |
101 | __u32 i_block[13]; /* Pointers to blocks */ | |
102 | __u32 i_block[14]; /* Pointers to blocks */ | |
103 | __u32 i_version; /* File version (for NFS) */ | |
104 | __u32 i_file_acl; /* File ACL */ | |
105 | __u32 i_dir_acl; /* Directory ACL */ | |
106 | __u32 i_faddr; /* Fragment address */ | |
107 | __u8 l_i_frag; /* Fragment number */ | |
108 | __u8 l_i_fsize; /* Fragment size */ | |
109 | __u16 i_pad1; | |
110 | __u16 l_i_uid_high; /* these 2 fields */ | |
111 | __u16 l_i_gid_high; /* were reserved2[0] */ | |
112 | __u32 l_i_reserved2; | |
583a1ce5 TT |
113 | }; |
114 | ||
115 | /* | |
116 | * Structure of the super block | |
117 | */ | |
118 | struct ext2_super_block { | |
7c36779a TT |
119 | __u32 s_inodes_count; /* Inodes count */ |
120 | __u32 s_blocks_count; /* Blocks count */ | |
121 | __u32 s_r_blocks_count; /* Reserved blocks count */ | |
122 | __u32 s_free_blocks_count; /* Free blocks count */ | |
123 | __u32 s_free_inodes_count; /* Free inodes count */ | |
124 | __u32 s_first_data_block; /* First Data Block */ | |
125 | __u32 s_log_block_size; /* Block size */ | |
126 | __s32 s_log_frag_size; /* Fragment size */ | |
127 | __u32 s_blocks_per_group; /* # Blocks per group */ | |
128 | __u32 s_frags_per_group; /* # Fragments per group */ | |
129 | __u32 s_inodes_per_group; /* # Inodes per group */ | |
130 | __u32 s_mtime; /* Mount time */ | |
131 | __u32 s_wtime; /* Write time */ | |
132 | __u16 s_mnt_count; /* Mount count */ | |
133 | __s16 s_max_mnt_count; /* Maximal mount count */ | |
134 | __u16 s_magic; /* Magic signature */ | |
135 | __u16 s_state; /* File system state */ | |
136 | __u16 s_errors; /* Behaviour when detecting errors */ | |
137 | __u16 s_minor_rev_level; /* minor revision level */ | |
138 | __u32 s_lastcheck; /* time of last check */ | |
139 | __u32 s_checkinterval; /* max. time between checks */ | |
140 | __u32 s_creator_os; /* OS */ | |
141 | __u32 s_rev_level; /* Revision level */ | |
142 | __u16 s_def_resuid; /* Default uid for reserved blocks */ | |
143 | __u16 s_def_resgid; /* Default gid for reserved blocks */ | |
144 | __u32 s_first_ino; /* First non-reserved inode */ | |
145 | __u16 s_inode_size; /* size of inode structure */ | |
146 | __u16 s_block_group_nr; /* block group # of this superblock */ | |
147 | __u32 s_feature_compat; /* compatible feature set */ | |
148 | __u32 s_feature_incompat; /* incompatible feature set */ | |
149 | __u32 s_feature_ro_compat; /* readonly-compatible feature set */ | |
150 | char[16] s_uuid; /* 128-bit uuid for volume */ | |
151 | char[16] s_volume_name; /* volume name */ | |
152 | char[64] s_last_mounted; /* directory where last mounted */ | |
153 | __u32 s_algorithm_usage_bitmap; /* For compression */ | |
154 | /* | |
155 | * Performance hints. Directory preallocation should only | |
156 | * happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on. | |
157 | */ | |
158 | __u8 s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ | |
159 | __u8 s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ | |
160 | __u16 s_padding1; | |
161 | /* | |
162 | * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set. | |
163 | */ | |
164 | char[16] s_journal_uuid; /* uuid of journal superblock */ | |
165 | __u32 s_journal_inum; /* inode number of journal file */ | |
166 | __u32 s_journal_dev; /* device number of journal file */ | |
167 | __u32 s_last_orphan; /* start of list of inodes to delete */ | |
583a1ce5 | 168 | |
7c36779a TT |
169 | |
170 | __u32 s_reserved[0]; /* Padding to the end of the block */ | |
171 | __u32 s_reserved[1]; | |
172 | __u32 s_reserved[2]; | |
173 | __u32 s_reserved[3]; | |
174 | __u32 s_reserved[4]; | |
175 | __u32 s_reserved[5]; | |
176 | __u32 s_reserved[6]; | |
177 | __u32 s_reserved[7]; | |
178 | __u32 s_reserved[8]; | |
179 | __u32 s_reserved[9]; | |
180 | __u32 s_reserved[10]; | |
181 | __u32 s_reserved[11]; | |
182 | __u32 s_reserved[12]; | |
183 | __u32 s_reserved[13]; | |
184 | __u32 s_reserved[14]; | |
185 | __u32 s_reserved[15]; | |
186 | __u32 s_reserved[16]; | |
187 | __u32 s_reserved[17]; | |
188 | __u32 s_reserved[18]; | |
189 | __u32 s_reserved[19]; | |
190 | __u32 s_reserved[20]; | |
191 | __u32 s_reserved[21]; | |
192 | __u32 s_reserved[22]; | |
193 | __u32 s_reserved[23]; | |
194 | __u32 s_reserved[24]; | |
195 | __u32 s_reserved[25]; | |
196 | __u32 s_reserved[26]; | |
197 | __u32 s_reserved[27]; | |
198 | __u32 s_reserved[28]; | |
199 | __u32 s_reserved[29]; | |
200 | __u32 s_reserved[30]; | |
201 | __u32 s_reserved[31]; | |
202 | __u32 s_reserved[32]; | |
203 | __u32 s_reserved[33]; | |
204 | __u32 s_reserved[34]; | |
205 | __u32 s_reserved[35]; | |
206 | __u32 s_reserved[36]; | |
207 | __u32 s_reserved[37]; | |
208 | __u32 s_reserved[38]; | |
209 | __u32 s_reserved[39]; | |
210 | __u32 s_reserved[40]; | |
211 | __u32 s_reserved[41]; | |
212 | __u32 s_reserved[42]; | |
213 | __u32 s_reserved[43]; | |
214 | __u32 s_reserved[44]; | |
215 | __u32 s_reserved[45]; | |
216 | __u32 s_reserved[46]; | |
217 | __u32 s_reserved[47]; | |
218 | __u32 s_reserved[48]; | |
219 | __u32 s_reserved[49]; | |
220 | __u32 s_reserved[50]; | |
221 | __u32 s_reserved[51]; | |
222 | __u32 s_reserved[52]; | |
223 | __u32 s_reserved[53]; | |
224 | __u32 s_reserved[54]; | |
225 | __u32 s_reserved[55]; | |
226 | __u32 s_reserved[56]; | |
227 | __u32 s_reserved[57]; | |
228 | __u32 s_reserved[58]; | |
229 | __u32 s_reserved[59]; | |
230 | __u32 s_reserved[60]; | |
231 | __u32 s_reserved[61]; | |
232 | __u32 s_reserved[62]; | |
233 | __u32 s_reserved[63]; | |
234 | __u32 s_reserved[64]; | |
235 | __u32 s_reserved[65]; | |
236 | __u32 s_reserved[66]; | |
237 | __u32 s_reserved[67]; | |
238 | __u32 s_reserved[68]; | |
239 | __u32 s_reserved[69]; | |
240 | __u32 s_reserved[70]; | |
241 | __u32 s_reserved[71]; | |
242 | __u32 s_reserved[72]; | |
243 | __u32 s_reserved[73]; | |
244 | __u32 s_reserved[74]; | |
245 | __u32 s_reserved[75]; | |
246 | __u32 s_reserved[76]; | |
247 | __u32 s_reserved[77]; | |
248 | __u32 s_reserved[78]; | |
249 | __u32 s_reserved[79]; | |
250 | __u32 s_reserved[80]; | |
251 | __u32 s_reserved[81]; | |
252 | __u32 s_reserved[82]; | |
253 | __u32 s_reserved[83]; | |
254 | __u32 s_reserved[84]; | |
255 | __u32 s_reserved[85]; | |
256 | __u32 s_reserved[86]; | |
257 | __u32 s_reserved[87]; | |
258 | __u32 s_reserved[88]; | |
259 | __u32 s_reserved[89]; | |
260 | __u32 s_reserved[90]; | |
261 | __u32 s_reserved[91]; | |
262 | __u32 s_reserved[92]; | |
263 | __u32 s_reserved[93]; | |
264 | __u32 s_reserved[94]; | |
265 | __u32 s_reserved[95]; | |
266 | __u32 s_reserved[96]; | |
267 | __u32 s_reserved[97]; | |
268 | __u32 s_reserved[98]; | |
269 | __u32 s_reserved[99]; | |
270 | __u32 s_reserved[100]; | |
271 | __u32 s_reserved[101]; | |
272 | __u32 s_reserved[102]; | |
273 | __u32 s_reserved[103]; | |
274 | __u32 s_reserved[104]; | |
275 | __u32 s_reserved[105]; | |
276 | __u32 s_reserved[106]; | |
277 | __u32 s_reserved[107]; | |
278 | __u32 s_reserved[108]; | |
279 | __u32 s_reserved[109]; | |
280 | __u32 s_reserved[110]; | |
281 | __u32 s_reserved[111]; | |
282 | __u32 s_reserved[112]; | |
283 | __u32 s_reserved[113]; | |
284 | __u32 s_reserved[114]; | |
285 | __u32 s_reserved[115]; | |
286 | __u32 s_reserved[116]; | |
287 | __u32 s_reserved[117]; | |
288 | __u32 s_reserved[118]; | |
289 | __u32 s_reserved[119]; | |
290 | __u32 s_reserved[120]; | |
291 | __u32 s_reserved[121]; | |
292 | __u32 s_reserved[122]; | |
293 | __u32 s_reserved[123]; | |
294 | __u32 s_reserved[124]; | |
295 | __u32 s_reserved[125]; | |
296 | __u32 s_reserved[126]; | |
297 | __u32 s_reserved[127]; | |
298 | __u32 s_reserved[128]; | |
299 | __u32 s_reserved[129]; | |
300 | __u32 s_reserved[130]; | |
301 | __u32 s_reserved[131]; | |
302 | __u32 s_reserved[132]; | |
303 | __u32 s_reserved[133]; | |
304 | __u32 s_reserved[134]; | |
305 | __u32 s_reserved[135]; | |
306 | __u32 s_reserved[136]; | |
307 | __u32 s_reserved[137]; | |
308 | __u32 s_reserved[138]; | |
309 | __u32 s_reserved[139]; | |
310 | __u32 s_reserved[140]; | |
311 | __u32 s_reserved[141]; | |
312 | __u32 s_reserved[142]; | |
313 | __u32 s_reserved[143]; | |
314 | __u32 s_reserved[144]; | |
315 | __u32 s_reserved[145]; | |
316 | __u32 s_reserved[146]; | |
317 | __u32 s_reserved[147]; | |
318 | __u32 s_reserved[148]; | |
319 | __u32 s_reserved[149]; | |
320 | __u32 s_reserved[150]; | |
321 | __u32 s_reserved[151]; | |
322 | __u32 s_reserved[152]; | |
323 | __u32 s_reserved[153]; | |
324 | __u32 s_reserved[154]; | |
325 | __u32 s_reserved[155]; | |
326 | __u32 s_reserved[156]; | |
327 | __u32 s_reserved[157]; | |
328 | __u32 s_reserved[158]; | |
329 | __u32 s_reserved[159]; | |
330 | __u32 s_reserved[160]; | |
331 | __u32 s_reserved[161]; | |
332 | __u32 s_reserved[162]; | |
333 | __u32 s_reserved[163]; | |
334 | __u32 s_reserved[164]; | |
335 | __u32 s_reserved[165]; | |
336 | __u32 s_reserved[166]; | |
337 | __u32 s_reserved[167]; | |
338 | __u32 s_reserved[168]; | |
339 | __u32 s_reserved[169]; | |
340 | __u32 s_reserved[170]; | |
341 | __u32 s_reserved[171]; | |
342 | __u32 s_reserved[172]; | |
343 | __u32 s_reserved[173]; | |
344 | __u32 s_reserved[174]; | |
345 | __u32 s_reserved[175]; | |
346 | __u32 s_reserved[176]; | |
347 | __u32 s_reserved[177]; | |
348 | __u32 s_reserved[178]; | |
349 | __u32 s_reserved[179]; | |
350 | __u32 s_reserved[180]; | |
351 | __u32 s_reserved[181]; | |
352 | __u32 s_reserved[182]; | |
353 | __u32 s_reserved[183]; | |
354 | __u32 s_reserved[184]; | |
355 | __u32 s_reserved[185]; | |
356 | __u32 s_reserved[186]; | |
357 | __u32 s_reserved[187]; | |
358 | __u32 s_reserved[188]; | |
359 | __u32 s_reserved[189]; | |
360 | __u32 s_reserved[190]; | |
361 | __u32 s_reserved[191]; | |
362 | __u32 s_reserved[192]; | |
363 | __u32 s_reserved[193]; | |
364 | __u32 s_reserved[194]; | |
365 | __u32 s_reserved[195]; | |
366 | __u32 s_reserved[196]; | |
583a1ce5 TT |
367 | }; |
368 | ||
369 | The following is actually not used, due to the variable length of the | |
370 | name field. EXT2ED handles directories through the type "dir" below. | |
371 | ||
372 | /* | |
373 | * Structure of a directory entry | |
374 | */ | |
375 | ||
376 | /* struct ext2_dir_entry { */ | |
377 | /* | |
7c36779a TT |
378 | __u32 inode; /* Inode number */ |
379 | __u16 rec_len; /* Directory entry length */ | |
380 | __u16 name_len; /* Name length */ | |
583a1ce5 TT |
381 | char name[EXT2_NAME_LEN]; /* File name */ |
382 | }; | |
383 | */ | |
384 | ||
385 | struct file { | |
386 | }; | |
387 | ||
388 | struct dir { | |
389 | }; | |
390 | ||
391 | struct block_bitmap { | |
392 | }; | |
393 | ||
394 | struct inode_bitmap { | |
395 | }; | |
7c36779a TT |
396 | |
397 | struct ext2_dx_root_node { | |
398 | __u32 dot_inode; | |
399 | __u16 dot_rec_len; | |
400 | __u8 dot_name_len; | |
401 | __u8 dot_file_type; | |
402 | char[4] dot_name; | |
403 | __u32 dot_dot_inode; | |
404 | __u16 dot_dot_rec_len; | |
405 | __u8 dot_dot_name_len; | |
406 | __u8 dot_dot_file_type; | |
407 | char[4] dot_dot_name; | |
408 | __u32 reserved_zero; | |
409 | __u8 hash_version; /* 0 now, 1 at release */ | |
410 | __u8 info_length; /* 8 */ | |
411 | __u8 indirect_levels; | |
412 | __u8 unused_flags; | |
413 | __u16 limit; | |
414 | __u16 count; | |
415 | __u32 block[0]; | |
416 | __u32 hash[1]; | |
417 | __u32 block[1]; | |
418 | __u32 hash[2]; | |
419 | __u32 block[2]; | |
420 | __u32 hash[3]; | |
421 | __u32 block[3]; | |
422 | __u32 hash[4]; | |
423 | __u32 block[4]; | |
424 | __u32 hash[5]; | |
425 | __u32 block[5]; | |
426 | __u32 hash[6]; | |
427 | __u32 block[6]; | |
428 | __u32 hash[7]; | |
429 | __u32 block[7]; | |
430 | __u32 hash[8]; | |
431 | __u32 block[8]; | |
432 | __u32 hash[9]; | |
433 | __u32 block[9]; | |
434 | __u32 hash[10]; | |
435 | __u32 block[10]; | |
436 | __u32 hash[11]; | |
437 | __u32 block[11]; | |
438 | __u32 hash[12]; | |
439 | __u32 block[12]; | |
440 | __u32 hash[13]; | |
441 | __u32 block[13]; | |
442 | __u32 hash[14]; | |
443 | __u32 block[14]; | |
444 | __u32 hash[15]; | |
445 | __u32 block[15]; | |
446 | __u32 hash[16]; | |
447 | __u32 block[16]; | |
448 | __u32 hash[17]; | |
449 | __u32 block[17]; | |
450 | __u32 hash[18]; | |
451 | __u32 block[18]; | |
452 | __u32 hash[19]; | |
453 | __u32 block[19]; | |
454 | __u32 hash[20]; | |
455 | __u32 block[20]; | |
456 | __u32 hash[21]; | |
457 | __u32 block[21]; | |
458 | __u32 hash[22]; | |
459 | __u32 block[22]; | |
460 | __u32 hash[23]; | |
461 | __u32 block[23]; | |
462 | __u32 hash[24]; | |
463 | __u32 block[24]; | |
464 | __u32 hash[25]; | |
465 | __u32 block[25]; | |
466 | __u32 hash[26]; | |
467 | __u32 block[26]; | |
468 | __u32 hash[27]; | |
469 | __u32 block[27]; | |
470 | __u32 hash[28]; | |
471 | __u32 block[28]; | |
472 | __u32 hash[29]; | |
473 | __u32 block[29]; | |
474 | __u32 hash[30]; | |
475 | __u32 block[30]; | |
476 | __u32 hash[31]; | |
477 | __u32 block[31]; | |
478 | __u32 hash[32]; | |
479 | __u32 block[32]; | |
480 | __u32 hash[33]; | |
481 | __u32 block[33]; | |
482 | __u32 hash[34]; | |
483 | __u32 block[34]; | |
484 | __u32 hash[35]; | |
485 | __u32 block[35]; | |
486 | __u32 hash[36]; | |
487 | __u32 block[36]; | |
488 | __u32 hash[37]; | |
489 | __u32 block[37]; | |
490 | __u32 hash[38]; | |
491 | __u32 block[38]; | |
492 | __u32 hash[39]; | |
493 | __u32 block[39]; | |
494 | __u32 hash[40]; | |
495 | __u32 block[40]; | |
496 | __u32 hash[41]; | |
497 | __u32 block[41]; | |
498 | __u32 hash[42]; | |
499 | __u32 block[42]; | |
500 | __u32 hash[43]; | |
501 | __u32 block[43]; | |
502 | __u32 hash[44]; | |
503 | __u32 block[44]; | |
504 | __u32 hash[45]; | |
505 | __u32 block[45]; | |
506 | __u32 hash[46]; | |
507 | __u32 block[46]; | |
508 | __u32 hash[47]; | |
509 | __u32 block[47]; | |
510 | __u32 hash[48]; | |
511 | __u32 block[48]; | |
512 | __u32 hash[49]; | |
513 | __u32 block[49]; | |
514 | __u32 hash[50]; | |
515 | __u32 block[50]; | |
516 | __u32 hash[51]; | |
517 | __u32 block[51]; | |
518 | __u32 hash[52]; | |
519 | __u32 block[52]; | |
520 | __u32 hash[53]; | |
521 | __u32 block[53]; | |
522 | __u32 hash[54]; | |
523 | __u32 block[54]; | |
524 | __u32 hash[55]; | |
525 | __u32 block[55]; | |
526 | __u32 hash[56]; | |
527 | __u32 block[56]; | |
528 | __u32 hash[57]; | |
529 | __u32 block[57]; | |
530 | __u32 hash[58]; | |
531 | __u32 block[58]; | |
532 | __u32 hash[59]; | |
533 | __u32 block[59]; | |
534 | __u32 hash[60]; | |
535 | __u32 block[60]; | |
536 | __u32 hash[61]; | |
537 | __u32 block[61]; | |
538 | __u32 hash[62]; | |
539 | __u32 block[62]; | |
540 | __u32 hash[63]; | |
541 | __u32 block[63]; | |
542 | __u32 hash[64]; | |
543 | __u32 block[64]; | |
544 | __u32 hash[65]; | |
545 | __u32 block[65]; | |
546 | __u32 hash[66]; | |
547 | __u32 block[66]; | |
548 | __u32 hash[67]; | |
549 | __u32 block[67]; | |
550 | __u32 hash[68]; | |
551 | __u32 block[68]; | |
552 | __u32 hash[69]; | |
553 | __u32 block[69]; | |
554 | __u32 hash[70]; | |
555 | __u32 block[70]; | |
556 | __u32 hash[71]; | |
557 | __u32 block[71]; | |
558 | __u32 hash[72]; | |
559 | __u32 block[72]; | |
560 | __u32 hash[73]; | |
561 | __u32 block[73]; | |
562 | __u32 hash[74]; | |
563 | __u32 block[74]; | |
564 | __u32 hash[75]; | |
565 | __u32 block[75]; | |
566 | __u32 hash[76]; | |
567 | __u32 block[76]; | |
568 | __u32 hash[77]; | |
569 | __u32 block[77]; | |
570 | __u32 hash[78]; | |
571 | __u32 block[78]; | |
572 | __u32 hash[79]; | |
573 | __u32 block[79]; | |
574 | __u32 hash[80]; | |
575 | __u32 block[80]; | |
576 | __u32 hash[81]; | |
577 | __u32 block[81]; | |
578 | __u32 hash[82]; | |
579 | __u32 block[82]; | |
580 | __u32 hash[83]; | |
581 | __u32 block[83]; | |
582 | __u32 hash[84]; | |
583 | __u32 block[84]; | |
584 | __u32 hash[85]; | |
585 | __u32 block[85]; | |
586 | __u32 hash[86]; | |
587 | __u32 block[86]; | |
588 | __u32 hash[87]; | |
589 | __u32 block[87]; | |
590 | __u32 hash[88]; | |
591 | __u32 block[88]; | |
592 | __u32 hash[89]; | |
593 | __u32 block[89]; | |
594 | __u32 hash[80]; | |
595 | __u32 block[80]; | |
596 | __u32 hash[81]; | |
597 | __u32 block[81]; | |
598 | __u32 hash[82]; | |
599 | __u32 block[82]; | |
600 | __u32 hash[83]; | |
601 | __u32 block[83]; | |
602 | __u32 hash[84]; | |
603 | __u32 block[84]; | |
604 | __u32 hash[85]; | |
605 | __u32 block[85]; | |
606 | __u32 hash[86]; | |
607 | __u32 block[86]; | |
608 | __u32 hash[87]; | |
609 | __u32 block[87]; | |
610 | __u32 hash[88]; | |
611 | __u32 block[88]; | |
612 | __u32 hash[89]; | |
613 | __u32 block[89]; | |
614 | __u32 hash[90]; | |
615 | __u32 block[90]; | |
616 | __u32 hash[91]; | |
617 | __u32 block[91]; | |
618 | __u32 hash[92]; | |
619 | __u32 block[92]; | |
620 | __u32 hash[93]; | |
621 | __u32 block[93]; | |
622 | __u32 hash[94]; | |
623 | __u32 block[94]; | |
624 | __u32 hash[95]; | |
625 | __u32 block[95]; | |
626 | __u32 hash[96]; | |
627 | __u32 block[96]; | |
628 | __u32 hash[97]; | |
629 | __u32 block[97]; | |
630 | __u32 hash[98]; | |
631 | __u32 block[98]; | |
632 | __u32 hash[99]; | |
633 | __u32 block[99]; | |
634 | __u32 hash[100]; | |
635 | __u32 block[100]; | |
636 | __u32 hash[101]; | |
637 | __u32 block[101]; | |
638 | __u32 hash[102]; | |
639 | __u32 block[102]; | |
640 | __u32 hash[103]; | |
641 | __u32 block[103]; | |
642 | __u32 hash[104]; | |
643 | __u32 block[104]; | |
644 | __u32 hash[105]; | |
645 | __u32 block[105]; | |
646 | __u32 hash[106]; | |
647 | __u32 block[106]; | |
648 | __u32 hash[107]; | |
649 | __u32 block[107]; | |
650 | __u32 hash[108]; | |
651 | __u32 block[108]; | |
652 | __u32 hash[109]; | |
653 | __u32 block[109]; | |
654 | __u32 hash[110]; | |
655 | __u32 block[110]; | |
656 | __u32 hash[111]; | |
657 | __u32 block[111]; | |
658 | __u32 hash[112]; | |
659 | __u32 block[112]; | |
660 | __u32 hash[113]; | |
661 | __u32 block[113]; | |
662 | __u32 hash[114]; | |
663 | __u32 block[114]; | |
664 | __u32 hash[115]; | |
665 | __u32 block[115]; | |
666 | __u32 hash[116]; | |
667 | __u32 block[116]; | |
668 | __u32 hash[117]; | |
669 | __u32 block[117]; | |
670 | __u32 hash[118]; | |
671 | __u32 block[118]; | |
672 | __u32 hash[119]; | |
673 | __u32 block[119]; | |
674 | __u32 hash[120]; | |
675 | __u32 block[120]; | |
676 | __u32 hash[121]; | |
677 | __u32 block[121]; | |
678 | __u32 hash[122]; | |
679 | __u32 block[122]; | |
680 | __u32 hash[123]; | |
681 | __u32 block[123]; | |
682 | __u32 hash[124]; | |
683 | __u32 block[124]; | |
684 | __u32 hash[125]; | |
685 | __u32 block[125]; | |
686 | __u32 hash[126]; | |
687 | __u32 block[126]; | |
688 | __u32 hash[127]; | |
689 | __u32 block[127]; | |
690 | }; | |
691 | ||
692 | struct ext2_dx_int_node { | |
693 | __u32 fake_inode; | |
694 | __u16 fake_rec_len; | |
695 | __u8 fake_name_len; | |
696 | __u8 fake_file_type; | |
697 | __u16 limit; | |
698 | __u16 count; | |
699 | __u32 block[0]; | |
700 | __u32 hash[1]; | |
701 | __u32 block[1]; | |
702 | __u32 hash[2]; | |
703 | __u32 block[2]; | |
704 | __u32 hash[3]; | |
705 | __u32 block[3]; | |
706 | __u32 hash[4]; | |
707 | __u32 block[4]; | |
708 | __u32 hash[5]; | |
709 | __u32 block[5]; | |
710 | __u32 hash[6]; | |
711 | __u32 block[6]; | |
712 | __u32 hash[7]; | |
713 | __u32 block[7]; | |
714 | __u32 hash[8]; | |
715 | __u32 block[8]; | |
716 | __u32 hash[9]; | |
717 | __u32 block[9]; | |
718 | __u32 hash[10]; | |
719 | __u32 block[10]; | |
720 | __u32 hash[11]; | |
721 | __u32 block[11]; | |
722 | __u32 hash[12]; | |
723 | __u32 block[12]; | |
724 | __u32 hash[13]; | |
725 | __u32 block[13]; | |
726 | __u32 hash[14]; | |
727 | __u32 block[14]; | |
728 | __u32 hash[15]; | |
729 | __u32 block[15]; | |
730 | __u32 hash[16]; | |
731 | __u32 block[16]; | |
732 | __u32 hash[17]; | |
733 | __u32 block[17]; | |
734 | __u32 hash[18]; | |
735 | __u32 block[18]; | |
736 | __u32 hash[19]; | |
737 | __u32 block[19]; | |
738 | __u32 hash[20]; | |
739 | __u32 block[20]; | |
740 | __u32 hash[21]; | |
741 | __u32 block[21]; | |
742 | __u32 hash[22]; | |
743 | __u32 block[22]; | |
744 | __u32 hash[23]; | |
745 | __u32 block[23]; | |
746 | __u32 hash[24]; | |
747 | __u32 block[24]; | |
748 | __u32 hash[25]; | |
749 | __u32 block[25]; | |
750 | __u32 hash[26]; | |
751 | __u32 block[26]; | |
752 | __u32 hash[27]; | |
753 | __u32 block[27]; | |
754 | __u32 hash[28]; | |
755 | __u32 block[28]; | |
756 | __u32 hash[29]; | |
757 | __u32 block[29]; | |
758 | __u32 hash[30]; | |
759 | __u32 block[30]; | |
760 | __u32 hash[31]; | |
761 | __u32 block[31]; | |
762 | __u32 hash[32]; | |
763 | __u32 block[32]; | |
764 | __u32 hash[33]; | |
765 | __u32 block[33]; | |
766 | __u32 hash[34]; | |
767 | __u32 block[34]; | |
768 | __u32 hash[35]; | |
769 | __u32 block[35]; | |
770 | __u32 hash[36]; | |
771 | __u32 block[36]; | |
772 | __u32 hash[37]; | |
773 | __u32 block[37]; | |
774 | __u32 hash[38]; | |
775 | __u32 block[38]; | |
776 | __u32 hash[39]; | |
777 | __u32 block[39]; | |
778 | __u32 hash[40]; | |
779 | __u32 block[40]; | |
780 | __u32 hash[41]; | |
781 | __u32 block[41]; | |
782 | __u32 hash[42]; | |
783 | __u32 block[42]; | |
784 | __u32 hash[43]; | |
785 | __u32 block[43]; | |
786 | __u32 hash[44]; | |
787 | __u32 block[44]; | |
788 | __u32 hash[45]; | |
789 | __u32 block[45]; | |
790 | __u32 hash[46]; | |
791 | __u32 block[46]; | |
792 | __u32 hash[47]; | |
793 | __u32 block[47]; | |
794 | __u32 hash[48]; | |
795 | __u32 block[48]; | |
796 | __u32 hash[49]; | |
797 | __u32 block[49]; | |
798 | __u32 hash[50]; | |
799 | __u32 block[50]; | |
800 | __u32 hash[51]; | |
801 | __u32 block[51]; | |
802 | __u32 hash[52]; | |
803 | __u32 block[52]; | |
804 | __u32 hash[53]; | |
805 | __u32 block[53]; | |
806 | __u32 hash[54]; | |
807 | __u32 block[54]; | |
808 | __u32 hash[55]; | |
809 | __u32 block[55]; | |
810 | __u32 hash[56]; | |
811 | __u32 block[56]; | |
812 | __u32 hash[57]; | |
813 | __u32 block[57]; | |
814 | __u32 hash[58]; | |
815 | __u32 block[58]; | |
816 | __u32 hash[59]; | |
817 | __u32 block[59]; | |
818 | __u32 hash[60]; | |
819 | __u32 block[60]; | |
820 | __u32 hash[61]; | |
821 | __u32 block[61]; | |
822 | __u32 hash[62]; | |
823 | __u32 block[62]; | |
824 | __u32 hash[63]; | |
825 | __u32 block[63]; | |
826 | __u32 hash[64]; | |
827 | __u32 block[64]; | |
828 | __u32 hash[65]; | |
829 | __u32 block[65]; | |
830 | __u32 hash[66]; | |
831 | __u32 block[66]; | |
832 | __u32 hash[67]; | |
833 | __u32 block[67]; | |
834 | __u32 hash[68]; | |
835 | __u32 block[68]; | |
836 | __u32 hash[69]; | |
837 | __u32 block[69]; | |
838 | __u32 hash[70]; | |
839 | __u32 block[70]; | |
840 | __u32 hash[71]; | |
841 | __u32 block[71]; | |
842 | __u32 hash[72]; | |
843 | __u32 block[72]; | |
844 | __u32 hash[73]; | |
845 | __u32 block[73]; | |
846 | __u32 hash[74]; | |
847 | __u32 block[74]; | |
848 | __u32 hash[75]; | |
849 | __u32 block[75]; | |
850 | __u32 hash[76]; | |
851 | __u32 block[76]; | |
852 | __u32 hash[77]; | |
853 | __u32 block[77]; | |
854 | __u32 hash[78]; | |
855 | __u32 block[78]; | |
856 | __u32 hash[79]; | |
857 | __u32 block[79]; | |
858 | __u32 hash[80]; | |
859 | __u32 block[80]; | |
860 | __u32 hash[81]; | |
861 | __u32 block[81]; | |
862 | __u32 hash[82]; | |
863 | __u32 block[82]; | |
864 | __u32 hash[83]; | |
865 | __u32 block[83]; | |
866 | __u32 hash[84]; | |
867 | __u32 block[84]; | |
868 | __u32 hash[85]; | |
869 | __u32 block[85]; | |
870 | __u32 hash[86]; | |
871 | __u32 block[86]; | |
872 | __u32 hash[87]; | |
873 | __u32 block[87]; | |
874 | __u32 hash[88]; | |
875 | __u32 block[88]; | |
876 | __u32 hash[89]; | |
877 | __u32 block[89]; | |
878 | __u32 hash[80]; | |
879 | __u32 block[80]; | |
880 | __u32 hash[81]; | |
881 | __u32 block[81]; | |
882 | __u32 hash[82]; | |
883 | __u32 block[82]; | |
884 | __u32 hash[83]; | |
885 | __u32 block[83]; | |
886 | __u32 hash[84]; | |
887 | __u32 block[84]; | |
888 | __u32 hash[85]; | |
889 | __u32 block[85]; | |
890 | __u32 hash[86]; | |
891 | __u32 block[86]; | |
892 | __u32 hash[87]; | |
893 | __u32 block[87]; | |
894 | __u32 hash[88]; | |
895 | __u32 block[88]; | |
896 | __u32 hash[89]; | |
897 | __u32 block[89]; | |
898 | __u32 hash[90]; | |
899 | __u32 block[90]; | |
900 | __u32 hash[91]; | |
901 | __u32 block[91]; | |
902 | __u32 hash[92]; | |
903 | __u32 block[92]; | |
904 | __u32 hash[93]; | |
905 | __u32 block[93]; | |
906 | __u32 hash[94]; | |
907 | __u32 block[94]; | |
908 | __u32 hash[95]; | |
909 | __u32 block[95]; | |
910 | __u32 hash[96]; | |
911 | __u32 block[96]; | |
912 | __u32 hash[97]; | |
913 | __u32 block[97]; | |
914 | __u32 hash[98]; | |
915 | __u32 block[98]; | |
916 | __u32 hash[99]; | |
917 | __u32 block[99]; | |
918 | __u32 hash[100]; | |
919 | __u32 block[100]; | |
920 | __u32 hash[101]; | |
921 | __u32 block[101]; | |
922 | __u32 hash[102]; | |
923 | __u32 block[102]; | |
924 | __u32 hash[103]; | |
925 | __u32 block[103]; | |
926 | __u32 hash[104]; | |
927 | __u32 block[104]; | |
928 | __u32 hash[105]; | |
929 | __u32 block[105]; | |
930 | __u32 hash[106]; | |
931 | __u32 block[106]; | |
932 | __u32 hash[107]; | |
933 | __u32 block[107]; | |
934 | __u32 hash[108]; | |
935 | __u32 block[108]; | |
936 | __u32 hash[109]; | |
937 | __u32 block[109]; | |
938 | __u32 hash[110]; | |
939 | __u32 block[110]; | |
940 | __u32 hash[111]; | |
941 | __u32 block[111]; | |
942 | __u32 hash[112]; | |
943 | __u32 block[112]; | |
944 | __u32 hash[113]; | |
945 | __u32 block[113]; | |
946 | __u32 hash[114]; | |
947 | __u32 block[114]; | |
948 | __u32 hash[115]; | |
949 | __u32 block[115]; | |
950 | __u32 hash[116]; | |
951 | __u32 block[116]; | |
952 | __u32 hash[117]; | |
953 | __u32 block[117]; | |
954 | __u32 hash[118]; | |
955 | __u32 block[118]; | |
956 | __u32 hash[119]; | |
957 | __u32 block[119]; | |
958 | __u32 hash[120]; | |
959 | __u32 block[120]; | |
960 | __u32 hash[121]; | |
961 | __u32 block[121]; | |
962 | __u32 hash[122]; | |
963 | __u32 block[122]; | |
964 | __u32 hash[123]; | |
965 | __u32 block[123]; | |
966 | __u32 hash[124]; | |
967 | __u32 block[124]; | |
968 | __u32 hash[125]; | |
969 | __u32 block[125]; | |
970 | __u32 hash[126]; | |
971 | __u32 block[126]; | |
972 | __u32 hash[127]; | |
973 | __u32 block[127]; | |
974 | }; | |
975 | ||
976 |