5 * ADF Library. (C) 1997-1999 Laurent Clevy
9 * structures/constants definitions
18 /* ----- VOLUME ----- */
23 SECTNUM firstBlock
; /* first block of data area (from beginning of device) */
24 SECTNUM lastBlock
; /* last block of data area (from beginning of device) */
25 SECTNUM rootBlock
; /* root block (from firstBlock) */
27 char dosType
; /* FFS/OFS, DIRCACHE, INTERNATIONAL */
30 int datablockSize
; /* 488 or 512 */
31 int blockSize
; /* 512 */
37 long bitmapSize
; /* in blocks */
38 SECTNUM
*bitmapBlocks
; /* bitmap blocks pointers */
39 struct bBitmapBlock
**bitmapTable
;
40 BOOL
*bitmapBlocksChg
;
53 /* ----- DEVICES ----- */
55 #define DEVTYPE_FLOPDD 1
56 #define DEVTYPE_FLOPHD 2
57 #define DEVTYPE_HARDDISK 3
58 #define DEVTYPE_HARDFILE 4
61 int devType
; /* see below */
63 long size
; /* in bytes */
65 int nVol
; /* partitions */
66 struct Volume
** volList
;
68 long cylinders
; /* geometry */
77 /* ----- FILE ----- */
80 struct Volume
*volume
;
82 struct bFileHeaderBlock
* fileHdr
;
84 struct bFileExtBlock
* currentExt
;
96 /* ----- ENTRY ---- */
107 int year
, month
, days
;
108 int hour
, mins
, secs
;
112 long header
, size
, protect
;
113 short days
, mins
, ticks
;
116 char name
[MAXNAMELEN
+1], comm
[MAXCMMTLEN
+1];
117 // char *name, *comm;
125 int year
,mon
,day
,hour
,min
,sec
;
128 /* ----- ENVIRONMENT ----- */
135 #define PR_USE_NOTFCT 6
137 #define PR_USE_PROGBAR 8
138 #define PR_RWACCESS 9
139 #define PR_USE_RWACCESS 10
142 void (*vFct
)(char*); /* verbose callback function */
143 void (*wFct
)(char*); /* warning callback function */
144 void (*eFct
)(char*); /* error callback function */
146 void (*notifyFct
)(SECTNUM
, int);
149 void (*rwhAccess
)(SECTNUM
,SECTNUM
,BOOL
);
152 void (*progressBar
)(int);
162 struct List
{ /* generic linked tree */
173 char *name
; /* if (type == 2 and (secType==2 or secType==-3)) */
185 /*000*/ long type
; /* T_HEADER == 2 */
186 /*004*/ long headerKey
; /* current block number */
188 /*014*/ unsigned long checkSum
;
189 /*018*/ long hashTable
[HT_SIZE
];
191 /*140*/ long access
; /* bit0=del, 1=modif, 2=write, 3=read */
192 /*144*/ long byteSize
;
193 /*148*/ char commLen
;
194 /*149*/ char comment
[MAXCMMTLEN
+1];
195 char r3
[91-(MAXCMMTLEN
+1)];
199 /*1b0*/ char nameLen
;
200 /*1b1*/ char name
[MAXNAMELEN
+1];
202 /*1d4*/ long realEntry
;
203 /*1d8*/ long nextLink
;
205 /*1f0*/ long nextSameHash
;
207 /*1f8*/ long extension
;
208 /*1fc*/ long secType
;
212 #define ENV_DECLARATION struct Env adfEnv
215 #endif /* _ADF_STR_H */
216 /*##########################################################################*/