#include "CompactPlayer.h"

struct Window * OpenMainWindow(ULONG , ULONG );
void CloseMainWindow(void);
void MainWindowIDCMP(void);
void Iconify(void);
void UnIconify(void);

struct Window * OpenListWindow(ULONG , ULONG );
void CloseListWindow(void);
void ListWindowIDCMP(void);
void UpdateTitleEditor(void);

struct Window * OpenConfWindow(ULONG , ULONG );
void CloseConfWindow(void);
void ConfWindowIDCMP(void);
BOOL AvoidDevice(STRPTR s);

int Init_Device(void);
BOOL Dummy(void);
void ErrorMsg( const STRPTR err, ... );
void __stdargs Sprintf(unsigned char * , unsigned char const * , ...);

BOOL GetIndex(ULONG , ULONG , ULONG );

struct List * BrowserNodesA(STRPTR * );
void FreeBrowserNodes(struct List * );

struct RDArgs * ReadToolArgs(STRPTR , LONG * );
void FreeToolArgs(struct RDArgs * );

int __stdargs _STI_999_cdpanel(void);
void __stdargs _STD_999_cdpanel(void);
int __stdargs _STI_999_timer(void);
void __stdargs _STD_999_timer(void);

int __stdargs Open_SCSI(void);
void __stdargs Close_SCSI(void);

void Eject_SCSI(UBYTE );
void Stop_SCSI(void);
void Play_SCSI(ULONG );
void PauseResume_SCSI(UBYTE );
void Seek_SCSI(LONG );
ULONG Snoop_SCSI(ULONG * , ULONG * , ULONG * , ULONG );
ULONG ReadTOC_SCSI(void);
BOOL IsCD_SCSI(void);
void Close_SCSI(void);

int __stdargs Open_CD(void);
void __stdargs Close_CD(void);

void Eject_CD(UBYTE );
void Stop_CD(void);
void Play_CD(ULONG );
void PauseResume_CD(UBYTE );
void Seek_CD(LONG );
ULONG Snoop_CD(ULONG * , ULONG * , ULONG * , ULONG );
ULONG ReadTOC_CD(void);
BOOL IsCD_CD(void);
void Close_CD(void);

extern void (*CD_Eject)(UBYTE );
extern void (*CD_Stop)(void);
extern void (*CD_Play)(ULONG );
extern void (*CD_PauseResume)(UBYTE );
extern void (*CD_Seek)(LONG );
extern ULONG (*CD_Snoop)(ULONG * , ULONG * , ULONG * , ULONG );
extern ULONG (*CD_ReadTOC)(void);
extern BOOL (*CD_IsCD)(void);
extern void (*CD_Close)(void);

STRPTR InitARexx(void);
void CloseARexx(void);

struct List *EditBrowserNodesA( STRPTR * );
