1Extended 2 filesystem structure definitions for ext2ed. 2 3Most of this file is just copied from the ext2 main include file. 4 5My parser is very primitive - It only searches for the struct keywords, 6and uses the variables in there. The rest of the file is just ignored. 7 8You will find at the end a few additional types which are not available in 9the original include file, such as the types "file" and "dir". They have 10no variables, but are necessary due to the way ext2ed binds C commands 11to specific types. 12 13Gadi Oxman, 7/95 14 15Here 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 */ 35struct 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 43struct 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 58struct ext2_group_desc 59{ 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]; 70}; 71 72/* 73 * Structure of an inode on the disk 74 */ 75struct ext2_inode { 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_size_high; /* High 32bits of size */ 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; 113}; 114 115/* 116 * Structure of the super block 117 */ 118struct ext2_super_block { 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 */ 168 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]; 367}; 368 369The following is actually not used, due to the variable length of the 370name 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/* 378 __u32 inode; /* Inode number */ 379 __u16 rec_len; /* Directory entry length */ 380 __u16 name_len; /* Name length */ 381 char name[EXT2_NAME_LEN]; /* File name */ 382}; 383*/ 384 385struct file { 386}; 387 388struct dir { 389}; 390 391struct block_bitmap { 392}; 393 394struct inode_bitmap { 395}; 396 397struct 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 692struct 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 977