FIOX.DEF 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. (*# call(o_a_size=>off) *)
  2. (*# call(o_a_copy=>off) *)
  3. DEFINITION MODULE FIOx;
  4. IMPORT FIO;
  5. (*
  6. Copyright (C) 1988,1989,1990 Jensen & Partners International
  7. *)
  8. CONST
  9. NO_ERROR = 0;
  10. DISK_FULL = MAX(CARDINAL);
  11. PAST_EOF = MAX(CARDINAL)-1;
  12. INVALID_PARAMETER = 87;
  13. RetryCountDefaultValue = 5;
  14. DelayDefaultValue = 300;
  15. TYPE
  16. File = CARDINAL;
  17. LockRec = RECORD
  18. pos,
  19. len : LONGCARD;
  20. END;
  21. CountProc = PROCEDURE(): CARDINAL;
  22. DelayProc = PROCEDURE();
  23. LockRecPtr = POINTER TO LockRec;
  24. MultiMode = (_multi_yes,_multi_no,_multi_file);
  25. CONST
  26. NULL = LockRecPtr(NIL);
  27. VAR
  28. RetryCount : CountProc;
  29. Delay : DelayProc;
  30. PROCEDURE Multi(): MultiMode;
  31. PROCEDURE MultiFile(f: File): BOOLEAN;
  32. PROCEDURE Lock(f: File; x: LockRec): BOOLEAN;
  33. PROCEDURE UnLock(f: File; x: LockRec);
  34. (*# save *)
  35. (*# call(o_a_size=>on) *)
  36. PROCEDURE LockRange(f: File; x: ARRAY OF LockRec): BOOLEAN;
  37. PROCEDURE UnLockRange(f: File; x: ARRAY OF LockRec);
  38. (*# restore *)
  39. PROCEDURE Open(Name: ARRAY OF CHAR; Share,ReadOnly,Create: BOOLEAN): File;
  40. PROCEDURE Truncate(f: File; l: LONGCARD);
  41. PROCEDURE Read(f: File; VAR b: ARRAY OF BYTE; c: CARDINAL);
  42. PROCEDURE Write(f: File; b: ARRAY OF BYTE; c: CARDINAL);
  43. PROCEDURE Error() : CARDINAL;
  44. CONST
  45. (*
  46. PROCEDURE Close(VAR f: File);
  47. PROCEDURE Seek(f: File; p: LONGCARD);
  48. PROCEDURE Size(f: File): LONGCARD;
  49. PROCEDURE Flush(f: File);
  50. *)
  51. Close ::= FIO.Close;
  52. Seek ::= FIO.Seek;
  53. Size ::= FIO.Size;
  54. Flush ::= FIO.Flush;
  55. END FIOx.
  56.