#include <exec/types.h>
#include <exec/memory.h>
#include <libraries/dos.h>
#include <graphics/gfxbase.h>
#include <graphics/gfx.h>
#include <hardware/blit.h>

typedef struct Blitt
{
	struct bltnode bnode;
	UWORD CON0Value,CON1Value,AFWMValue,ALWMValue,SIZHValue,SIZVValue;
	UWORD AMODValue,BMODValue,CMODValue,DMODValue;
	UWORD *APTValue,*BPTValue,*CPTValue,*DPTValue;
};

#define SOMMSPACE  sizeof(struct Blitt)

ULONG GetNumOper();
void SetNumOper(ULONG);
/* MemUse,Op1,Op2,OpD,NumWords,LenWord,ModOp1,ModOp2,ModOpD */
void BlittAdd(UBYTE *,UBYTE *,UBYTE *,UBYTE *,ULONG,ULONG,ULONG,ULONG,ULONG);
/* MemUse,OpS,OpD,NumWords,LenWord,ModOpS,ModOpD */
void BlittComplement(UBYTE *,UBYTE *,UBYTE *,ULONG,ULONG,ULONG,ULONG);
/* MemUse,Op1,Op2,BufL,NumWords,LenWord */
void BlittMul(UBYTE *,UBYTE *,UBYTE *,UBYTE *,ULONG,ULONG);
/* MemUse,Op1,Op2,NumWords,LenWord */
void BlittWordShiftOp1(UBYTE *,UBYTE *,UBYTE *,ULONG,ULONG);
/* MemUse,Op1,Op2,NumWords,LenWord */
void BlittWordShiftOp2(UBYTE *,UBYTE *,UBYTE *,ULONG,ULONG);
/* MemUse,Op1,Op2,BufL,NumBytes */
void BlittMulByte(UBYTE *,UBYTE *,UBYTE *,UBYTE *,ULONG);
/* MemUsem,Op1,Op2,NumBytes */
void BlittByteShiftOp1(UBYTE *,UBYTE *,UBYTE *,ULONG);
/* MemUsem,Op1,Op2,NumBytes */
void BlittByteShiftOp2(UBYTE *,UBYTE *,UBYTE *,ULONG);
