home *** CD-ROM | disk | FTP | other *** search
Modula Definition | 1993-09-28 | 2.2 KB | 92 lines |
- DEFINITION MODULE NoFrag {"nofrag.library", 2};
-
- (*
- * -------------------------------------------------------------------------
- *
- * :Program. NoFrag.def
- * :Contents. Interface to NoFrag.library 2.2 by Jaan van den Baard
- *
- * :Author. Reiner B. Nix
- * :Address. Geranienhof 2, 50769 Köln Seeberg
- * :Address. rbnix@pool.informatik.rwth-aachen.de
- * :Copyright. free
- * :Language. Modula-2
- * :Translator. M2Amiga A-L V4.2d
- * :History. this interface descends from the original C-Interface and
- * :History. the Oberon Interface by Kai Bolay
- * :History, NoFrag.def 1.0 ;M2Amiga 4.0d
- * :History. NoFrag.def 1.1 :M2Amiga 4.2d
- *
- * -------------------------------------------------------------------------
- *)
-
- FROM SYSTEM IMPORT ADDRESS;
- FROM ExecD IMPORT MemReqSet,
- LibraryPtr;
-
-
- TYPE MemoryBlockPtr =POINTER TO MemoryBlock;
-
- MemoryBlock =RECORD next, previous :MemoryBlockPtr;
- requirements :MemReqSet;
- bytesUsed :LONGINT
- END;
-
- MemoryItemPtr =POINTER TO MemoryItem;
-
- MemoryItem =RECORD next, previous :MemoryItemPtr;
- block :MemoryBlockPtr;
- size :LONGINT
- END;
-
-
- BlockListPtr =POINTER TO BlockList;
-
- BlockList =RECORD first, end, last :MemoryItemPtr
- END;
-
-
- ItemListPtr =POINTER TO ItemList;
-
- ItemList =RECORD first, end, last :MemoryItemPtr
- END;
-
-
- MemoryChainPtr =POINTER TO MemoryChain;
-
- MemoryChain =RECORD block :BlockList;
- items :ItemList;
- blockSize :LONGINT
- END;
-
-
- CONST MinAlloc =SIZE (MemoryItem);
-
-
- VAR nofragVersion :INTEGER;
- nofragBase :LibraryPtr;
-
-
- PROCEDURE GetMemoryChain ( blocksize {0} :LONGINT) :MemoryChainPtr; CODE -30;
-
- PROCEDURE AllocItem ( chain {8} :MemoryChainPtr;
- size {0} :LONGINT;
- requirements {1} :MemReqSet) :ADDRESS; CODE -36;
-
- PROCEDURE FreeItem ( chain {8} :MemoryChainPtr;
- memptr {9} :ADDRESS;
- size {0} :LONGINT); CODE -42;
-
- PROCEDURE FreeMemoryChain ( chain {8} :MemoryChainPtr;
- all {0} :BOOLEAN); CODE -48;
-
- PROCEDURE AllocVecItem ( chain {8} :MemoryChainPtr;
- size {0} :LONGINT;
- requirements {1} :MemReqSet) :ADDRESS; CODE -54;
-
- PROCEDURE FreeVecItem ( chain {8} :MemoryChainPtr;
- memptr {9} :ADDRESS); CODE -60;
-
-
- END NoFrag.
-