COREFILE.DEF 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. (* Release 3.00 *)
  2. (* Copyright (C) 1989..1991 Jensen & Partners International *)
  3. (*# call(o_a_size => off,
  4. o_a_copy=>off,
  5. c_conv=>on,
  6. result_optional=>on) *)
  7. (*# module(implementation=>off, init_code => off) *)
  8. (*# name(prefix => c) *)
  9. DEFINITION MODULE CoreFile;
  10. TYPE
  11. File = CARDINAL;
  12. StreamPtr = POINTER TO CHAR;
  13. CStream = RECORD
  14. Ptr: StreamPtr; (* current char pointer *)
  15. Cnt: INTEGER; (* buffer free space *)
  16. Size: INTEGER; (* buffer size *)
  17. Base: StreamPtr; (* buffer address *)
  18. Flag: BITSET; (* file attrib flag *)
  19. Handle: INTEGER; (* file handle *)
  20. Pback: INTEGER; (* ungot char if no buffer *)
  21. Sem: LONGCARD;
  22. Ctrl: SHORTCARD;
  23. SCnt: SHORTCARD;
  24. END;
  25. FileInf = POINTER TO CStream;
  26. CONST
  27. MaxHandles = 20; (* This must be changed if you alter CoreFile.a *)
  28. VAR
  29. _openfd: ARRAY [0..MaxHandles-1] OF BITSET;
  30. _iob : ARRAY [0..MaxHandles-1] OF CStream;
  31. _open_max: CARDINAL;
  32. BufInf : ARRAY [0..MaxHandles-1] OF FileInf;
  33. _tmpfiles: ARRAY [0..MaxHandles-1] OF ADDRESS;
  34. _tmpfptrs: ARRAY [0..MaxHandles-1] OF FileInf;
  35. END CoreFile.