#include <xpk/xpksub.h>
#include <libraries/xfdmaster.h>

extern "ASM" {
struct XpkInfo *STUB_PackerInfo (register __a6 struct Library *);
LONG 	STUB_PackChunk  	(register __a6 struct Library *, register __a0 struct XpkSubParams *);
void 	STUB_PackFree   	(register __a6 struct Library *, register __a0 struct XpkSubParams *);
// LONG STUB_PackReset  	(register __a6 struct Library *, register __a0 struct XpkSubParams *);
LONG 	STUB_UnpackChunk	(register __a6 struct Library *, register __a0 struct XpkSubParams *);
void 	STUB_UnpackFree 	(register __a6 struct Library *, register __a0 struct XpkSubParams *);
void    STUB_ppDecrunchBuffer	(register __a6 struct Library *, register __a0 STRPTR,
				 register __a1 STRPTR, register __a2 ULONG *, register __d0 ULONG);
BOOL STUB_xfdRecogBuffer	(register __a6 struct Library *, register __a0 struct xfdBufferInfo *);
BOOL STUB_xfdDecrunchBuffer	(register __a6 struct Library *, register __a0 struct xfdBufferInfo *);
APTR STUB_xfdAllocObject	(register __a6 struct Library *, register __d0 ULONG);
void STUB_xfdFreeObject		(register __a6 struct Library *, register __a1 APTR);
};

#define XpksPackerInfo()	STUB_PackerInfo (XpkSubBase)
#define XpksPackChunk(a)	STUB_PackChunk  (XpkSubBase, a)
#define XpksPackFree(a)		STUB_PackFree   (XpkSubBase, a)
// #define XpksPackReset(a)	STUB_PackReset	(XpkSubBase, a)
#define XpksUnpackChunk(a)	STUB_UnpackChunk(XpkSubBase, a)
#define XpksUnpackFree(a)	STUB_UnpackFree (XpkSubBase, a)
#define ppDecrunchBuffer(a,b,c,d)	STUB_ppDecrunchBuffer(PPBase, a,b,c,d)
#define xfdRecogBuffer(a)	STUB_xfdRecogBuffer((struct Library *) xfdMasterBase, a)
#define xfdDecrunchBuffer(a)	STUB_xfdDecrunchBuffer((struct Library *) xfdMasterBase, a)
#define xfdAllocObject(a)	STUB_xfdAllocObject((struct Library *) xfdMasterBase, a)
#define xfdFreeObject(a)	STUB_xfdFreeObject((struct Library *) xfdMasterBase, a)

