/* Copyright © Feb.1997 by Michael Christoph */
/* CheckDisk.h - Defines & Prototypen */

#ifndef _CHECKDISK_H
#define _CHECKDISK_H

/************************** INCLUDES ********************************/

#include <pExec/Types.h>
#include <pExec/Memory.h>
#include <Device/Trackdisk.h>

/************************** DEFINES *********************************/

#define ALLOCCyl()                     (UBYTE *) pOS_AllocMem(TD_CYLSIZE,MEMF_CHIP)
#define FREECyl(t)                     pOS_FreeMem(t,TD_CYLSIZE)
#define TDReadCyl(ioetd,buffer,cyl)    TDIO(ioetd,CMD_READ,TD_CYLSIZE,buffer,cyl)
#define TDWriteCyl(ioetd,buffer,cyl)   TDIO(ioetd,CMD_WRITE,TD_CYLSIZE,buffer,cyl)

#define TDDoIO(ioetd)                  pOS_DoIO((struct pOS_IORequest *)ioetd)

/************************* PRTOTYPEN ********************************/

struct pOS_TrackdiskIO *TDOpen(const CHAR *name, UWORD unit, ULONG flags);
VOID TDClose(struct pOS_TrackdiskIO *ioetd);
ULONG TDSimpleIO(struct pOS_TrackdiskIO *ioetd, UWORD command);
SBYTE TDMotorOff(struct pOS_TrackdiskIO *ioetd);
SBYTE TDFinish(struct pOS_TrackdiskIO *ioetd);
CHAR *TDError(SBYTE error);
SBYTE TDIO(struct pOS_TrackdiskIO *ioetd, UWORD command, ULONG length, UBYTE *buffer, ULONG offset);

/********************************************************************/

#endif

