-- BTreeSupportDefs May 23, 1980 2:01 PM
BTreeSupportDefs: DEFINITIONS =
BEGIN
FileHandle: TYPE = RECORD[fileH: UNSPECIFIED];
PageHandle: TYPE = RECORD[pageH: POINTER TO ARRAY OF WORD];
PageNumber: TYPE = CARDINAL;
ReadPage: PROCEDURE[fileH: FileHandle, pageN: PageNumber] RETURNS [pageH: PageHandle]; -- does allocation of main memory.
UsePage: PROCEDURE[fileH: FileHandle, pageN: PageNumber] RETURNS [pageH: PageHandle]; -- for when the page has no valid data. Avoids unnecessary disk read if < eof, works for 1 page > eof. does not zero the page.
WritePage: PROCEDURE[fileH: FileHandle, pageN: PageNumber, pageH: PageHandle]; -- deallocates main memory.
ReleasePage: PROCEDURE[pageH: PageHandle]; -- for when page has not been dirtied.
SetLength: PROCEDURE[fileH: FileHandle, pageN: PageNumber]; -- will be used by PruneBTree.
PageSize: PROCEDURE RETURNS[nWords: CARDINAL];
AllocateWords: PROCEDURE[nWords: CARDINAL] RETURNS[POINTER];
FreeWords: PROCEDURE[POINTER];
END.
Edit Log
Change: May 13, 1980 1:04 PM: KK: interface changes so the message system and Juniper can both use the btree package.