(* Release 3.00 *) (* Copyright (C) 1989..1991 Jensen & Partners International *) (*# call(o_a_size => off, o_a_copy=>off, c_conv=>on, result_optional=>on) *) (*# module(implementation=>off, init_code => off) *) (*# name(prefix => c) *) DEFINITION MODULE CoreFile; TYPE File = CARDINAL; StreamPtr = POINTER TO CHAR; CStream = RECORD Ptr: StreamPtr; (* current char pointer *) Cnt: INTEGER; (* buffer free space *) Size: INTEGER; (* buffer size *) Base: StreamPtr; (* buffer address *) Flag: BITSET; (* file attrib flag *) Handle: INTEGER; (* file handle *) Pback: INTEGER; (* ungot char if no buffer *) Sem: LONGCARD; Ctrl: SHORTCARD; SCnt: SHORTCARD; END; FileInf = POINTER TO CStream; CONST MaxHandles = 20; (* This must be changed if you alter CoreFile.a *) VAR _openfd: ARRAY [0..MaxHandles-1] OF BITSET; _iob : ARRAY [0..MaxHandles-1] OF CStream; _open_max: CARDINAL; BufInf : ARRAY [0..MaxHandles-1] OF FileInf; _tmpfiles: ARRAY [0..MaxHandles-1] OF ADDRESS; _tmpfptrs: ARRAY [0..MaxHandles-1] OF FileInf; END CoreFile.