home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 18
/
amigaformatcd18.iso
/
-in_the_mag-
/
emulation
/
emus
/
fs1541
/
volume.h
< prev
Wrap
C/C++ Source or Header
|
1997-07-31
|
1KB
|
80 lines
/*
FS1541
volume.h
*/
#include <dos/dosextens.h>
LONG InitVolumeSS(void);
void QuitVolumeSS(void);
void DoDiskInsert(void);
void DoDiskRemove(void);
UWORD AllocBlock(UBYTE fromt, UBYTE froms);
void FreeBlock(UBYTE t, UBYTE s);
UWORD UsedBlocks(void);
void OptimizeDirectory(void);
void StartUDSTimer(void);
void StopUDSTimer(void);
void UpdateDiskStructure(void);
BPTR makelock(LONG flkey, LONG axs);
void freelock(struct FileLock *fl);
BOOL lockable(UBYTE t, UBYTE s, LONG mode);
extern BYTE diskchgintbit;
extern struct VolumeNode *curvolumenode;
extern struct DosList *curdoslist;
extern int disk_inserted;
extern struct timerequest *UDStimer;
extern struct BAM *bam;
extern struct DirEntry directory[144];
extern int dirsize;
extern UBYTE interleave;
struct VolumeNode {
struct MinNode node;
struct DosList *volnode;
struct FileLock *locklist;
UBYTE name[30]; /* this is a BCPL string */
ULONG dollarlen;
UBYTE dollarbuf[30*(144+2)];
};
struct BAM {
UBYTE dirt,dirs;
UBYTE id;
UBYTE dside;
ULONG tracks[35];
UBYTE name[16];
UBYTE pad1[2];
UBYTE name2[5];
UBYTE pad2[89];
};
struct DirEntry {
UBYTE t,s;
UBYTE type;
UBYTE datat,datas;
UBYTE name[16];
UBYTE relsst,relsss;
UBYTE rellen;
UBYTE pad[4];
UBYTE tmpdatat,tmpdatas;
UBYTE lengthl,lengthh;
};
struct DataBlock {
UBYTE t,s;
UBYTE data[254];
};