5 * ADF Library. (C) 1997-1999 Laurent Clevy
9 * structures/constants definitions
16 /* ----- VOLUME ----- */
21 SECTNUM firstBlock
; /* first block of data area (from beginning of device) */
22 SECTNUM lastBlock
; /* last block of data area (from beginning of device) */
23 SECTNUM rootBlock
; /* root block (from firstBlock) */
25 char dosType
; /* FFS/OFS, DIRCACHE, INTERNATIONAL */
28 int datablockSize
; /* 488 or 512 */
29 int blockSize
; /* 512 */
35 ULONG bitmapSize
; /* in blocks */
36 SECTNUM
*bitmapBlocks
; /* bitmap blocks pointers */
37 struct bBitmapBlock
**bitmapTable
;
38 BOOL
*bitmapBlocksChg
;
51 /* ----- DEVICES ----- */
53 #define DEVTYPE_FLOPDD 1
54 #define DEVTYPE_FLOPHD 2
55 #define DEVTYPE_HARDDISK 3
56 #define DEVTYPE_HARDFILE 4
59 int devType
; /* see below */
61 ULONG size
; /* in bytes */
63 int nVol
; /* partitions */
64 struct Volume
** volList
;
66 ULONG cylinders
; /* geometry */
75 /* ----- FILE ----- */
78 struct Volume
*volume
;
80 struct bFileHeaderBlock
* fileHdr
;
82 struct bFileExtBlock
* currentExt
;
94 /* ----- ENTRY ---- */
105 int year
, month
, days
;
106 int hour
, mins
, secs
;
110 long header
, size
, protect
;
111 short days
, mins
, ticks
;
114 char name
[MAXNAMELEN
+1], comm
[MAXCMMTLEN
+1];
115 // char *name, *comm;
123 int year
,mon
,day
,hour
,min
,sec
;
126 /* ----- ENVIRONMENT ----- */
133 #define PR_USE_NOTFCT 6
135 #define PR_USE_PROGBAR 8
136 #define PR_RWACCESS 9
137 #define PR_USE_RWACCESS 10
140 void (*vFct
)(char*); /* verbose callback function */
141 void (*wFct
)(char*); /* warning callback function */
142 void (*eFct
)(char*); /* error callback function */
144 void (*notifyFct
)(SECTNUM
, int);
147 void (*rwhAccess
)(SECTNUM
,SECTNUM
,BOOL
);
150 void (*progressBar
)(int);
160 struct List
{ /* generic linked tree */
171 char *name
; /* if (type == 2 and (secType==2 or secType==-3)) */
183 /*000*/ ULONG type
; /* T_HEADER == 2 */
184 /*004*/ ULONG headerKey
; /* current block number */
186 /*014*/ ULONG checkSum
;
187 /*018*/ ULONG hashTable
[HT_SIZE
];
189 /*140*/ ULONG access
; /* bit0=del, 1=modif, 2=write, 3=read */
190 /*144*/ ULONG byteSize
;
191 /*148*/ UBYTE commLen
;
192 /*149*/ TEXT comment
[MAXCMMTLEN
+1];
193 UBYTE r3
[91-(MAXCMMTLEN
+1)];
197 /*1b0*/ UBYTE nameLen
;
198 /*1b1*/ TEXT name
[MAXNAMELEN
+1];
200 /*1d4*/ ULONG realEntry
;
201 /*1d8*/ ULONG nextLink
;
203 /*1f0*/ ULONG nextSameHash
;
204 /*1f4*/ ULONG parent
;
205 /*1f8*/ ULONG extension
;
206 /*1fc*/ ULONG secType
;
210 #define ENV_DECLARATION struct Env adfEnv
213 #endif /* _ADF_STR_H */
214 /*##########################################################################*/