Merge change 9990
[android/platform/external/e2fsprogs.git] / ext2ed / ext2.descriptors
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 {
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  */
75 struct 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_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;
113 };
114
115 /*
116  * Structure of the super block
117  */
118 struct 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
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 /*
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
385 struct file {
386 };
387
388 struct dir {
389 };
390
391 struct block_bitmap {
392 };
393
394 struct inode_bitmap {
395 };
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