-- Copyright (C) 1984, 1985  by Xerox Corporation. All rights reserved. 
-- BTreeSupportDefs   
-- HGM, 15-Sep-85  4:54:37
-- 24-Jul-84 14:28:32, Hankins 
--  (removing Bravo formatting and changed internal name to match that of file)

BTreeSupportDefs: DEFINITIONS =

  BEGIN
  FileHandle: TYPE [SIZE[LONG POINTER]];
  PageHandle: TYPE = RECORD [pageH: LONG 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: PROC [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];

  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.