tools/adflib: Move host version to $(CROSSTOOLS), fix several small bugs
[AROS.git] / tools / adflib / hd_blk.h
blobef9323c2b6bb72572bcd514c3ca39445d50c3bf0
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 r3[15];
119 struct bLSEGblock {
120 /*000*/ TEXT id[4]; /* LSEG */
121 /*004*/ ULONG size; /* 128 ULONGs */
122 /*008*/ ULONG checksum;
123 /*00c*/ ULONG hostID; /* 7 */
124 /*010*/ ULONG next;
125 /*014*/ ULONG loadData[123];
128 struct bBOOTblock {
129 /*000*/ TEXT id[4]; /* BOOT */
130 /*004*/ ULONG size; /* 128 ULONGs */
131 /*008*/ ULONG checksum;
132 /*00c*/ ULONG hostID; /* 7 */
133 /*010*/ ULONG next;
134 /*014*/ ULONG loadData[123];
137 struct bFSHDblock {
138 /*000*/ TEXT id[4]; /* FSHD */
139 /*004*/ ULONG size; /* 64 */
140 /*008*/ ULONG checksum;
141 /*00c*/ ULONG hostID; /* 7 */
142 /*010*/ ULONG next;
143 /*014*/ ULONG flags;
144 /*018*/ ULONG r1[2];
145 /*020*/ TEXT dosType[4];
146 /*024*/ USHORT majVersion;
147 /*026*/ USHORT minVersion;
148 /*028*/ ULONG patchFlags;
150 /*02c*/ ULONG type;
151 /*030*/ ULONG task;
152 /*034*/ ULONG lock;
153 /*038*/ ULONG handler;
154 /*03c*/ ULONG stackSize;
155 /*040*/ ULONG priority;
156 /*044*/ ULONG startup;
157 /*048*/ ULONG segListBlock;
158 /*04c*/ ULONG globalVec;
159 /*050*/ ULONG r2[23];
160 /*0ac*/ ULONG r3[21];
164 #endif /* _HD_BLK_H */
165 /*##########################################################################*/