DEFINITION MODULE Icon {"icon.library",33};

FROM SYSTEM IMPORT
 ADDRESS;
FROM Workbench IMPORT
 FreeListPtr,DiskObjectPtr;

PROCEDURE BumpRevision(new{8},old{9}:ADDRESS); CODE -108;

PROCEDURE AddFreeList(free{8}:FreeListPtr; mem{9}:ADDRESS;
                      len{10}:LONGINT):LONGINT; CODE -72;
PROCEDURE FreeFreeList(free{8}:FreeListPtr); CODE -54;

PROCEDURE FindToolType(
           toolTypes{8},
           typeName{9}:ADDRESS):ADDRESS; CODE -96;
PROCEDURE MatchToolValue(
           typeString{8},val{9}:ADDRESS):LONGINT; CODE -102;

PROCEDURE AllocWBObject():ADDRESS; CODE -66;
PROCEDURE GetWBObject(name{8}:ADDRESS):ADDRESS; CODE -30;
PROCEDURE PutWBObject(name{8}:ADDRESS; 
                      obj{9}:ADDRESS):LONGINT; CODE -36;
PROCEDURE FreeWBObject(obj{8}:ADDRESS); CODE -60;

PROCEDURE GetIcon(name{8}:ADDRESS; icon{9}:DiskObjectPtr;
                  f{10}:FreeListPtr):LONGINT; CODE -42;
PROCEDURE PutIcon(name{8}:ADDRESS; 
                  obj{9}:DiskObjectPtr):LONGINT; CODE -48;

PROCEDURE GetDiskObject(
           name{8}:ADDRESS):DiskObjectPtr; CODE -78;
PROCEDURE PutDiskObject(
           name{8}:ADDRESS;
           obj{9}:DiskObjectPtr):LONGINT; CODE -84;
PROCEDURE FreeDiskObject(obj{8}:DiskObjectPtr); CODE -90;

END Icon.
