Fix for building outside the source tree.
[cake.git] / tools / adflib / hd_blk.h
blob71cc15a56cb84401fcb634894f34e1d7924fd5bb
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 /* ------- RDSK ---------*/
17 struct bRDSKblock {
18 /*000*/ char id[4]; /* RDSK */
19 /*004*/ long size; /* 64 longs */
20 /*008*/ ULONG checksum;
21 /*00c*/ long hostID; /* 7 */
22 /*010*/ long blockSize; /* 512 bytes */
23 /*014*/ long flags; /* 0x17 */
24 /*018*/ long badBlockList;
25 /*01c*/ long partitionList;
26 /*020*/ long fileSysHdrList;
27 /*024*/ long driveInit;
28 /*028*/ long r1[6]; /* -1 */
29 /*040*/ long cylinders;
30 /*044*/ long sectors;
31 /*048*/ long heads;
32 /*04c*/ long interleave;
33 /*050*/ long parkingZone;
34 /*054*/ long r2[3]; /* 0 */
35 /*060*/ long writePreComp;
36 /*064*/ long reducedWrite;
37 /*068*/ long stepRate;
38 /*06c*/ long r3[5]; /* 0 */
39 /*080*/ long rdbBlockLo;
40 /*084*/ long rdbBlockHi;
41 /*088*/ long loCylinder;
42 /*08c*/ long hiCylinder;
43 /*090*/ long cylBlocks;
44 /*094*/ long autoParkSeconds;
45 /*098*/ long highRDSKBlock;
46 /*09c*/ long r4; /* 0 */
47 /*0a0*/ char diskVendor[8];
48 /*0a8*/ char diskProduct[16];
49 /*0b8*/ char diskRevision[4];
50 /*0bc*/ char controllerVendor[8];
51 /*0c4*/ char controllerProduct[16];
52 /*0d4*/ char controllerRevision[4];
53 /*0d8*/ long r5[10]; /* 0 */
54 /*100*/
58 struct bBADBentry {
59 /*000*/ long badBlock;
60 /*004*/ long goodBlock;
64 struct bBADBblock {
65 /*000*/ char id[4]; /* BADB */
66 /*004*/ long size; /* 128 longs */
67 /*008*/ ULONG checksum;
68 /*00c*/ long hostID; /* 7 */
69 /*010*/ long next;
70 /*014*/ long r1;
71 /*018*/ struct bBADBentry blockPairs[61];
76 struct bPARTblock {
77 /*000*/ char id[4]; /* PART */
78 /*004*/ long size; /* 64 longs */
79 /*008*/ ULONG checksum;
80 /*00c*/ long hostID; /* 7 */
81 /*010*/ long next;
82 /*014*/ long flags;
83 /*018*/ long r1[2];
84 /*020*/ long devFlags;
85 /*024*/ char nameLen;
86 /*025*/ char name[31];
87 /*044*/ long r2[15];
89 /*080*/ long vectorSize; /* often 16 longs */
90 /*084*/ long blockSize; /* 128 longs */
91 /*088*/ long secOrg;
92 /*08c*/ long surfaces;
93 /*090*/ long sectorsPerBlock; /* == 1 */
94 /*094*/ long blocksPerTrack;
95 /*098*/ long dosReserved;
96 /*09c*/ long dosPreAlloc;
97 /*0a0*/ long interleave;
98 /*0a4*/ long lowCyl;
99 /*0a8*/ long highCyl;
100 /*0ac*/ long numBuffer;
101 /*0b0*/ long bufMemType;
102 /*0b4*/ long maxTransfer;
103 /*0b8*/ long mask;
104 /*0bc*/ long bootPri;
105 /*0c0*/ char dosType[4];
106 /*0c4*/ long r3[15];
110 struct bLSEGblock {
111 /*000*/ char id[4]; /* LSEG */
112 /*004*/ long size; /* 128 longs */
113 /*008*/ ULONG checksum;
114 /*00c*/ long hostID; /* 7 */
115 /*010*/ long next;
116 /*014*/ char loadData[123*4];
120 struct bFSHDblock {
121 /*000*/ char id[4]; /* FSHD */
122 /*004*/ long size; /* 64 */
123 /*008*/ ULONG checksum;
124 /*00c*/ long hostID; /* 7 */
125 /*010*/ long next;
126 /*014*/ long flags;
127 /*018*/ long r1[2];
128 /*020*/ char dosType[4];
129 /*024*/ short majVersion;
130 /*026*/ short minVersion;
131 /*028*/ long patchFlags;
133 /*02c*/ long type;
134 /*030*/ long task;
135 /*034*/ long lock;
136 /*038*/ long handler;
137 /*03c*/ long stackSize;
138 /*040*/ long priority;
139 /*044*/ long startup;
140 /*048*/ long segListBlock;
141 /*04c*/ long globalVec;
142 /*050*/ long r2[23];
143 /*0ac*/ long r3[21];
147 #endif /* _HD_BLK_H */
148 /*##########################################################################*/