NumberFormat: TYPE = RECORD [
base: [2..36], zerofill, unsigned: BOOLEAN, columns: [0..255]];
GetChar: PROC [in: Handle] RETURNS [CHAR];
PutChar: PROC [out: Handle, c: CHAR];
GetString: PROC [Handle, LONG STRING, PROC [CHAR] RETURNS [BOOL]];
PutString: PROC [Handle, LONG STRING];
PutSubString: PROC [Handle, ConvertUnsafe.SubString];
GetID, GetLine: PROC [Handle, LONG STRING];
PutLine: PROC [out: Handle, s: LONG STRING];
GetNumber: PROC [in: Handle, radix: CARDINAL] RETURNS [UNSPECIFIED];
PutNumber: PROC [Handle, UNSPECIFIED, NumberFormat];
GetOctal:
PROC [in: Handle]
RETURNS [
UNSPECIFIED] =
INLINE {
RETURN [GetNumber[in, 8]]};
PutOctal: PROC [Handle, UNSPECIFIED];
GetDecimal:
PROC [in: Handle]
RETURNS [
INTEGER] =
INLINE {
RETURN [GetNumber[in, 10]]};
PutDecimal: PROC [Handle, INTEGER];
}.