| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- DEFINITION MODULE GenLists;
- (*
- * REPERTOIRE
- * Release 1.6
- * By Charles Bradford and Cole Brecheen
- * (c) Copyright 1985-1992 PMI
- * Green Bay, Wisconsin
- * All rights reserved
- * (414) 468-6040
- *
- * $Header: D:/logfiles/defs/genlists.dev 1.4 30 Dec 1990 18:01:04 coleb $
- *
- *)
- FROM SYSTEM IMPORT ADDRESS, BYTE;
- FROM VStorage IMPORT MemHandle;
- CONST
- StrCode = 65534;
- ListCode = 65535;
- TYPE
- GenList; (*opaque type*)
- ListError = (NoListError, underflow, overflow,
- NoInit, RefToZero, RefPastEnd, InsuffMem,
- corruption, NoSuchList);
- Comparator = PROCEDURE(ADDRESS, CARDINAL,
- ADDRESS, CARDINAL): INTEGER;
- VAR
- DiagMode: BOOLEAN;
- ErrorFlag: ListError;
- PROCEDURE AdrOfList( VAR TheList: GenList ):
- ADDRESS;
- PROCEDURE AdrToList( TheAddr: ADDRESS; TheSize:
- CARDINAL; VAR TheList: GenList ): BOOLEAN;
- PROCEDURE BlockToList( TheAddr: ADDRESS;
- BlockSize: CARDINAL; delimiter1, delimiter2:
- ARRAY OF CHAR; RecSize, TypeCode: CARDINAL;
- VAR TheList: GenList);
- PROCEDURE ChangeTypeCode( VAR TheList: GenList;
- spot, NewTypeCode: CARDINAL );
- PROCEDURE CopyList( InList: GenList; VAR
- OutList: GenList );
- PROCEDURE DisconnectLists( VAR sublist,
- mainlist: GenList );
- PROCEDURE DisposeList( VAR TheList : GenList );
- PROCEDURE ElmtNow( TheList: GenList ): CARDINAL;
- PROCEDURE GetChildList( TheList: GenList; spot:
- CARDINAL; VAR Child: GenList );
- PROCEDURE GetElmt( TheList : GenList; spot :
- CARDINAL; VAR TheElmt: ARRAY OF BYTE; VAR
- TypeCode: CARDINAL );
- PROCEDURE GetElmtAdr( TheList : GenList; spot :
- CARDINAL; VAR ReadAddr: ADDRESS; VAR
- TheSize: CARDINAL; VAR TypeCode: CARDINAL) ;
- PROCEDURE GetParentList( TheList: GenList; VAR
- Parent: GenList );
- PROCEDURE Initialized( TheList: GenList ):
- BOOLEAN;
- PROCEDURE JoinLists( VAR MergedList,
- SurvivingList: GenList; spot: CARDINAL);
- PROCEDURE ListDelete( TheList : GenList; spot,
- HowMany : CARDINAL );
- PROCEDURE ListInsert( Element: ARRAY OF BYTE;
- TypeCode: CARDINAL; TheList: GenList; spot:
- CARDINAL );
- PROCEDURE ListInsertAdr( ReadAddr: ADDRESS;
- TheSize: CARDINAL; TypeCode: CARDINAL;
- TheList: GenList; spot: CARDINAL);
- PROCEDURE ListLength( TheList : GenList ):
- CARDINAL;
- PROCEDURE ListReplace( Element: ARRAY OF BYTE;
- TypeCode: CARDINAL; TheList: GenList; spot:
- CARDINAL);
- PROCEDURE ListReplaceAdr( ReadAddr: ADDRESS;
- TheSize, TypeCode: CARDINAL; TheList:
- GenList; spot: CARDINAL);
- PROCEDURE ListSize( TheList: GenList; VAR
- TotalElements: LONGINT; VAR TotalSublists:
- CARDINAL; VAR TotalListSize: LONGINT ):
- LONGINT;
- PROCEDURE ListToAdr( TheList: GenList; TheAddr:
- ADDRESS; TheSize: CARDINAL ): BOOLEAN;
- PROCEDURE ListToBlock( TheList: GenList;
- delimiter1, delimiter2: ARRAY OF CHAR; VAR
- TheAddr: ADDRESS; VAR BlockSize, RecSize:
- CARDINAL );
- PROCEDURE NewList( VAR TheList: GenList );
- PROCEDURE NextElmt( TheList: GenList; HowFar:
- INTEGER; VAR TheElmt: ARRAY OF BYTE; VAR
- TypeCode: CARDINAL );
- PROCEDURE NilList( VAR TheList: GenList );
- PROCEDURE SameList( list1, list2: GenList ):
- BOOLEAN;
- PROCEDURE ScanList( TheStr: ARRAY OF CHAR;
- TheList: GenList; StartingAt, EndingAt:
- CARDINAL; VAR FoundSpot: CARDINAL ):
- CARDINAL;
- PROCEDURE ShellSortList( TheList: GenList;
- CompResult: Comparator );
- PROCEDURE SortList( TheList: GenList;
- CompResult: Comparator );
- PROCEDURE SplitList( InList: GenList; where:
- CARDINAL; VAR OutList: GenList );
- PROCEDURE Init();
- END GenLists.
|