DIRECTORY
Environment USING [wordsPerPage],
LongStorage: TYPE USING [Free, FreeString, FreeWords, Node, Pages, String, Words];
Address: TYPE = LONG POINTER;
Node:
PROC [nwords:
CARDINAL]
RETURNS [p: Address] =
INLINE {
RETURN [LongStorage.Node[nwords]]};
String:
PROC [nchars:
CARDINAL]
RETURNS [s:
LONG
STRING] =
INLINE {
RETURN [LongStorage.String[nchars]]};
Pages:
PROC [npages:
CARDINAL]
RETURNS [base: Address] =
INLINE {
RETURN [LongStorage.Pages[npages]]};
Words:
PROC [nwords:
CARDINAL]
RETURNS [base: Address] =
INLINE {
RETURN [LongStorage.Words[nwords]]};
Free: PROC [p: Address] = INLINE {LongStorage.Free[p]};
FreeString: PROC [s: LONG STRING] = INLINE {LongStorage.FreeString[s]};
FreePages, FreeWords: PROC [base: Address] = INLINE {LongStorage.FreeWords[base]};
PagesForWords:
PROC [nWords:
CARDINAL]
RETURNS [
CARDINAL] =
INLINE {
RETURN[(nWords + (Environment.wordsPerPage-1))/Environment.wordsPerPage]};
}.