grub2: bring back build of aros-side grub2 tools
[AROS.git] / tools / adflib / hd_blk.h
blob12232135dba4b2b72cd1feea758c13d1c248b42c
1 /*
2 * ADF Library. (C) 1997-1998 Laurent Clevy
4 * hd_blk.h
6 * hard disk blocks structures
7 */
10 #ifndef _HD_BLK_H
11 #define _HD_BLK_H 1
13 #include "adf_str.h"
15 /* ------- Generic ---------*/
16 struct bNONEblock {
17 /*000*/ TEXT id[4]; /* NONE */
18 /*004*/ ULONG size; /* 64 ULONGs */
19 /*008*/ ULONG checksum;
20 /*00c*/ ULONG hostID; /* 7 */
21 /*010*/ ULONG longData[124]; /* Data */
24 /* ------- RDSK ---------*/
25 struct bRDSKblock {
26 /*000*/ TEXT id[4]; /* RDSK */
27 /*004*/ ULONG size; /* 64 ULONGs */
28 /*008*/ ULONG checksum;
29 /*00c*/ ULONG hostID; /* 7 */
30 /*010*/ ULONG blockSize; /* 512 bytes */
31 /*014*/ ULONG flags; /* 0x17 */
32 /*018*/ ULONG badBlockList;
33 /*01c*/ ULONG partitionList;
34 /*020*/ ULONG fileSysHdrList;
35 /*024*/ ULONG driveInit;
36 /*028*/ ULONG bootBlockList; /* Amiga OS 4 Boot Blocks */
37 /*02c*/ ULONG r1[5]; /* -1 */
38 /*040*/ ULONG cylinders;
39 /*044*/ ULONG sectors;
40 /*048*/ ULONG heads;
41 /*04c*/ ULONG interleave;
42 /*050*/ ULONG parkingZone;
43 /*054*/ ULONG r2[3]; /* 0 */
44 /*060*/ ULONG writePreComp;
45 /*064*/ ULONG reducedWrite;
46 /*068*/ ULONG stepRate;
47 /*06c*/ ULONG r3[5]; /* 0 */
48 /*080*/ ULONG rdbBlockLo;
49 /*084*/ ULONG rdbBlockHi;
50 /*088*/ ULONG loCylinder;
51 /*08c*/ ULONG hiCylinder;
52 /*090*/ ULONG cylBlocks;
53 /*094*/ ULONG autoParkSeconds;
54 /*098*/ ULONG highRDSKBlock;
55 /*09c*/ ULONG r4; /* 0 */
56 /*0a0*/ TEXT diskVendor[8];
57 /*0a8*/ TEXT diskProduct[16];
58 /*0b8*/ TEXT diskRevision[4];
59 /*0bc*/ TEXT controllerVendor[8];
60 /*0c4*/ TEXT controllerProduct[16];
61 /*0d4*/ TEXT controllerRevision[4];
62 /*0d8*/ ULONG r5[10]; /* 0 */
63 /*100*/
67 struct bBADBentry {
68 /*000*/ ULONG badBlock;
69 /*004*/ ULONG goodBlock;
73 struct bBADBblock {
74 /*000*/ TEXT id[4]; /* BADB */
75 /*004*/ ULONG size; /* 128 ULONGs */
76 /*008*/ ULONG checksum;
77 /*00c*/ ULONG hostID; /* 7 */
78 /*010*/ ULONG next;
79 /*014*/ ULONG r1;
80 /*018*/ struct bBADBentry blockPairs[61];
85 struct bPARTblock {
86 /*000*/ TEXT id[4]; /* PART */
87 /*004*/ ULONG size; /* 64 ULONGs */
88 /*008*/ ULONG checksum;
89 /*00c*/ ULONG hostID; /* 7 */
90 /*010*/ ULONG next;
91 /*014*/ ULONG flags;
92 /*018*/ ULONG r1[2];
93 /*020*/ ULONG devFlags;
94 /*024*/ UBYTE nameLen;
95 /*025*/ TEXT name[31];
96 /*044*/ ULONG r2[15];
98 /*080*/ ULONG vectorSize; /* often 16 ULONGs */
99 /*084*/ ULONG blockSize; /* 128 ULONGs */
100 /*088*/ ULONG secOrg;
101 /*08c*/ ULONG surfaces;
102 /*090*/ ULONG sectorsPerBlock; /* == 1 */
103 /*094*/ ULONG blocksPerTrack;
104 /*098*/ ULONG dosReserved;
105 /*09c*/ ULONG dosPreAlloc;
106 /*0a0*/ ULONG interleave;
107 /*0a4*/ ULONG lowCyl;
108 /*0a8*/ ULONG highCyl;
109 /*0ac*/ ULONG numBuffer;
110 /*0b0*/ ULONG bufMemType;
111 /*0b4*/ ULONG maxTransfer;
112 /*0b8*/ ULONG mask;
113 /*0bc*/ ULONG bootPri;
114 /*0c0*/ char dosType[4];
115 /*0c4*/ ULONG baud;
116 /*0c8*/ ULONG control;
117 /*0cc*/ ULONG bootBlocks;
118 /*0d0*/ ULONG r3[12];
122 struct bLSEGblock {
123 /*000*/ TEXT id[4]; /* LSEG */
124 /*004*/ ULONG size; /* 128 ULONGs */
125 /*008*/ ULONG checksum;
126 /*00c*/ ULONG hostID; /* 7 */
127 /*010*/ ULONG next;
128 /*014*/ ULONG loadData[123];
131 struct bBOOTblock {
132 /*000*/ TEXT id[4]; /* BOOT */
133 /*004*/ ULONG size; /* 128 ULONGs */
134 /*008*/ ULONG checksum;
135 /*00c*/ ULONG hostID; /* 7 */
136 /*010*/ ULONG next;
137 /*014*/ ULONG loadData[123];
140 struct bFSHDblock {
141 /*000*/ TEXT id[4]; /* FSHD */
142 /*004*/ ULONG size; /* 64 */
143 /*008*/ ULONG checksum;
144 /*00c*/ ULONG hostID; /* 7 */
145 /*010*/ ULONG next;
146 /*014*/ ULONG flags;
147 /*018*/ ULONG r1[2];
148 /*020*/ TEXT dosType[4];
149 /*024*/ USHORT majVersion;
150 /*026*/ USHORT minVersion;
151 /*028*/ ULONG patchFlags;
153 /*02c*/ ULONG type;
154 /*030*/ ULONG task;
155 /*034*/ ULONG lock;
156 /*038*/ ULONG handler;
157 /*03c*/ ULONG stackSize;
158 /*040*/ ULONG priority;
159 /*044*/ ULONG startup;
160 /*048*/ ULONG segListBlock;
161 /*04c*/ ULONG globalVec;
162 /*050*/ ULONG r2[23];
163 /*0ac*/ ULONG r3[21];
167 #endif /* _HD_BLK_H */
168 /*##########################################################################*/