DEFINITION MODULE DynItem;

(* Product: Incremental Storage Manager

   Version: 1.0

   Author:
        Daniel B. Hankins
        143 Montgomery Street
        Poughkeepsie, NY 12601
        dan-hankins@cup.portal.com

   Creation Date: 1989

   Release  Date: November 21, 1989

   Notice of Intellectual Property:
        This material is *NOT COPYRIGHTED*.  By this notice, I hereby place
   this program and all its parts in the public domain, under the definitions
   and restrictions of United States law.

   History of Revisions:
        None yet.
*)

FROM SYSTEM IMPORT ADDRESS;

IMPORT DynamicItem;
IMPORT DynItemList;

TYPE
  Object;

PROCEDURE New(Size: LONGCARD; TermIt: DynamicItem.TermProc): Object;

PROCEDURE Init(DObject: Object; InitIt: DynamicItem.InitProc);

PROCEDURE SetHandle(DObject: Object; Handle: DynamicItem.Object);

PROCEDURE Dispose(DObject: Object): BOOLEAN;

PROCEDURE Kill(DObject: Object);

PROCEDURE Ref(DObject: Object);

PROCEDURE Access(DObject: Object): ADDRESS;

PROCEDURE GetList(DObject: Object): DynItemList.Object;

PROCEDURE Percolate(DObject: Object);

PROCEDURE LinkAfter(DObjectNew, DObjectOld: Object);

PROCEDURE Unlink(DObject: Object);

PROCEDURE GetPrev(DObject: Object): Object;

PROCEDURE GetNext(DObject: Object): Object;

PROCEDURE MoveDown(DObject: Object): Object;

PROCEDURE NextAddr(DObject: Object): ADDRESS;

PROCEDURE NilObject(): Object;

PROCEDURE Nil(DObject: Object): BOOLEAN;

END DynItem.
