DEFINITION MODULE IFFParseL {"iffparse.library",36};

(*$ Implementation- *)

(* Generated with FDToM2 by M. Timmermans *)

FROM SYSTEM IMPORT ADDRESS;
IMPORT ed:ExecD,Reg;


VAR
 IFFParseBase : ed.LibraryPtr;


CONST

 iffparseMinVersion=36;
 iffparseName="iffparse.library";


PROCEDURE AllocIFF():LONGINT; CODE -30;

PROCEDURE OpenIFF(iff{Reg.A0}:ADDRESS;rwMode{Reg.D0}:LONGINT):LONGINT; CODE -36;

PROCEDURE ParseIFF(iff{Reg.A0}:ADDRESS;control{Reg.D0}:LONGINT):LONGINT; CODE -42;

PROCEDURE CloseIFF(iff{Reg.A0}:ADDRESS):LONGINT; CODE -48;

PROCEDURE FreeIFF(iff{Reg.A0}:ADDRESS):LONGINT; CODE -54;

PROCEDURE ReadChunkBytes(iff{Reg.A0},buf{Reg.A1}:ADDRESS;numBytes{Reg.D0}:LONGINT):LONGINT; CODE -60;

PROCEDURE WriteChunkBytes(iff{Reg.A0},buf{Reg.A1}:ADDRESS;numBytes{Reg.D0}:LONGINT):LONGINT; CODE -66;

PROCEDURE ReadChunkRecords(iff{Reg.A0},buf{Reg.A1}:ADDRESS;bytesPerRecord{Reg.D0},numRecords{Reg.D1}:LONGINT):LONGINT; CODE -72;

PROCEDURE WriteChunkRecords(iff{Reg.A0},buf{Reg.A1}:ADDRESS;bytesPerRecord{Reg.D0},numRecords{Reg.D1}:LONGINT):LONGINT; CODE -78;

PROCEDURE PushChunk(iff{Reg.A0}:ADDRESS;type{Reg.D0},id{Reg.D1},size{Reg.D2}:LONGINT):LONGINT; CODE -84;

PROCEDURE PopChunk(iff{Reg.A0}:ADDRESS):LONGINT; CODE -90;

PROCEDURE EntryHandler(iff{Reg.A0}:ADDRESS;type{Reg.D0},id{Reg.D1},position{Reg.D2}:LONGINT;handler{Reg.A1},object{Reg.A2}:ADDRESS):LONGINT; CODE -102;

PROCEDURE ExitHandler(iff{Reg.A0}:ADDRESS;type{Reg.D0},id{Reg.D1},position{Reg.D2}:LONGINT;handler{Reg.A1},object{Reg.A2}:ADDRESS):LONGINT; CODE -108;

PROCEDURE PropChunk(iff{Reg.A0}:ADDRESS;type{Reg.D0},id{Reg.D1}:LONGINT):LONGINT; CODE -114;

PROCEDURE PropChunks(iff{Reg.A0},propArray{Reg.A1}:ADDRESS;numPairs{Reg.D0}:LONGINT):LONGINT; CODE -120;

PROCEDURE StopChunk(iff{Reg.A0}:ADDRESS;type{Reg.D0},id{Reg.D1}:LONGINT):LONGINT; CODE -126;

PROCEDURE StopChunks(iff{Reg.A0},propArray{Reg.A1}:ADDRESS;numPairs{Reg.D0}:LONGINT):LONGINT; CODE -132;

PROCEDURE CollectionChunk(iff{Reg.A0}:ADDRESS;type{Reg.D0},id{Reg.D1}:LONGINT):LONGINT; CODE -138;

PROCEDURE CollectionChunks(iff{Reg.A0},propArray{Reg.A1}:ADDRESS;numPairs{Reg.D0}:LONGINT):LONGINT; CODE -144;

PROCEDURE StopOnExit(iff{Reg.A0}:ADDRESS;type{Reg.D0},id{Reg.D1}:LONGINT):LONGINT; CODE -150;

PROCEDURE FindProp(iff{Reg.A0}:ADDRESS;type{Reg.D0},id{Reg.D1}:LONGINT):LONGINT; CODE -156;

PROCEDURE FindCollection(iff{Reg.A0}:ADDRESS;type{Reg.D0},id{Reg.D1}:LONGINT):LONGINT; CODE -162;

PROCEDURE FindPropContext(iff{Reg.A0}:ADDRESS):LONGINT; CODE -168;

PROCEDURE CurrentChunk(iff{Reg.A0}:ADDRESS):LONGINT; CODE -174;

PROCEDURE ParentChunk(contextNode{Reg.A0}:ADDRESS):LONGINT; CODE -180;

PROCEDURE AllocLocalItem(type{Reg.D0},id{Reg.D1},ident{Reg.D2},dataSize{Reg.D3}:LONGINT):LONGINT; CODE -186;

PROCEDURE LocalItemData(localItem{Reg.A0}:ADDRESS):LONGINT; CODE -192;

PROCEDURE SetLocalItemPurge(localItem{Reg.A0},purgeHook{Reg.A1}:ADDRESS):LONGINT; CODE -198;

PROCEDURE FreeLocalItem(localItem{Reg.A0}:ADDRESS):LONGINT; CODE -204;

PROCEDURE FindLocalItem(iff{Reg.A0}:ADDRESS;type{Reg.D0},id{Reg.D1},ident{Reg.D2}:LONGINT):LONGINT; CODE -210;

PROCEDURE StoreLocalItem(iff{Reg.A0},localItem{Reg.A1}:ADDRESS;position{Reg.D0}:LONGINT):LONGINT; CODE -216;

PROCEDURE StoreItemInContext(iff{Reg.A0},localItem{Reg.A1},contextNode{Reg.A2}:ADDRESS):LONGINT; CODE -222;

PROCEDURE InitIFF(iff{Reg.A0}:ADDRESS;flags{Reg.D0}:LONGINT;streamHook{Reg.A1}:ADDRESS):LONGINT; CODE -228;

PROCEDURE InitIFFasDOS(iff{Reg.A0}:ADDRESS):LONGINT; CODE -234;

PROCEDURE InitIFFasClip(iff{Reg.A0}:ADDRESS):LONGINT; CODE -240;

PROCEDURE OpenClipboard(unitNumber{Reg.D0}:LONGINT):LONGINT; CODE -246;

PROCEDURE CloseClipboard(clipHandle{Reg.A0}:ADDRESS):LONGINT; CODE -252;

PROCEDURE GoodID(id{Reg.D0}:LONGINT):LONGINT; CODE -258;

PROCEDURE GoodType(type{Reg.D0}:LONGINT):LONGINT; CODE -264;

PROCEDURE IDtoStr(id{Reg.D0}:LONGINT;buf{Reg.A0}:ADDRESS):LONGINT; CODE -270;


END IFFParseL.

