/* Prototypes for functions defined in restore.c */
void *MakeDB(int len);
void FreeDB(struct IORequest *req);
short InitDevice(char *name,
                 int unit,
                 struct IORequest **req,
                 unsigned int fl,
                 unsigned int len);
void ExitDevice(struct IORequest *req);
void DeviceCommand(struct IORequest *db,
                   unsigned short com);
char *TrackDiskError(int fn);
void WaitDisk(struct IOExtTD *db);
void ReadTrack(struct IOExtTD *db,
               char *tbuf,
               char *lbuf,
               int nr);
void CloseAll(int err);
void UserRequest(void);
int DoNothing(void);
void OpenAll(int devunit);
void ConcatPath(char *buffer,
                char *p1,
                char *p2);
short FileAbfrage(void);
struct IOAudio *MakeIOA(int rate,
                        int vol,
                        int repeat,
                        unsigned char *buf,
                        int len);
void Beep(int freq,
          int dauer,
          int vol);
void PrintTrack(int nr);
void PrintDisk(int nr);
void SetDate(char *fn,
             struct DateStamp *ds);
void NewDisk(void);
char RawGetByte(void);
char DecodeByte(void);
void RawReadString(char *str);
void RawRead(char *buf,
             int len);
void EndRestore(void);
void MakePath(char *path);
void RestoreFileData(int file);
void GotoDateiEnde(void);
short RestoreDir(short doinstall);
void main(int argc,
          char **argv);
