#include <proto/exec.h>
#include <exec/execbase.h>
#include <exec/memory.h>
#include <exec/resident.h>
#include <exec/initializers.h>

#include <emul/emulinterface.h>
#include <emul/emulregs.h>
#include <ppcinline/exec.h>
#include <public/quark/quark.h>
#include <public/proto/quark/syscall_protos.h>

#define LIBVER	1
#define LIBREV	3
#define LIBDATE	"(01.04.1997)"
#define LIBNAME	"xpkRLEN.library"

#define LIBID "xpkRLEN 1.3 (01.04.1997) [MorphOS]\r\n"


struct XpkSubBase {
	struct Library xsb_Lib;
	UWORD xsb_Pad;

	struct ExecBase *xsb_SysBase;
	BPTR xsb_SegList;
};


struct Library *LibInit(struct XpkSubBase *XpkSubBase, BPTR SegList, struct ExecBase *sysbase);
struct Library *LIB_Open(void);
BPTR LIB_Close(void);
BPTR LIB_Expunge(void);

#define LIBXpksPackFree   LIB_Reserved
#define LIBXpksPackReset  LIB_Reserved
#define LIBXpksUnpackFree LIB_Reserved

struct XpkInfo *LIBXpksPackerInfo(void);
LONG LIBXpksPackChunk(void);
//void LIBXpksPackFree(void);
//LONG LIBXpksPackReset(void);
LONG LIBXpksUnpackChunk(void);
//void LIBXpksUnpackFree(void);
