WINFIO.DEF 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. (* Release 3.10 *)
  2. (*-------------------------------------------------------------------------*
  3. * *
  4. * WINFIO.DEF - Modula-2 Windows file I/O *
  5. * *
  6. * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. *
  7. * All Rights Reserved *
  8. * *
  9. *--------------------------------------------------------------------------*)
  10. (*# call(o_a_copy => off, ds_eq_ss=>off, near_call=>off) *)
  11. (*# data(near_ptr=>off) *)
  12. (*# module(init_code => on) *)
  13. (*# module(implementation=>off) *)
  14. (*# call(seg_name => null) *)
  15. DEFINITION MODULE WinFIO;
  16. IMPORT CoreFile, Str;
  17. CONST
  18. MaxOpenFiles = 15;
  19. TYPE
  20. File = CoreFile.File;
  21. CONST
  22. DiskFull = 112 ; (* Error if Write fails with disk full *)
  23. VAR
  24. IOcheck : BOOLEAN; (* if true errors terminate program with report *)
  25. EOF : BOOLEAN;
  26. OK : BOOLEAN;
  27. PROCEDURE IOresult() : CARDINAL;
  28. PROCEDURE Open (Name: ARRAY OF CHAR) : File;
  29. PROCEDURE OpenRead(Name: ARRAY OF CHAR) : File;
  30. PROCEDURE Create (Name: ARRAY OF CHAR) : File;
  31. PROCEDURE Close (F: File);
  32. PROCEDURE Exists(Name: ARRAY OF CHAR) : BOOLEAN;
  33. VAR
  34. ShareMode: BITSET; (* File sharing mode used by Open and OpenRead *)
  35. CONST
  36. ShareNoInherit = {7};
  37. ShareCompat = {};
  38. ShareDenyRW = {4};
  39. ShareDenyWR = {5};
  40. ShareDenyRD = {4, 5};
  41. ShareDenyNone = {6};
  42. ShareAll = {4..6};
  43. PROCEDURE WrBin (F: File; Buf: ARRAY OF BYTE; Count: CARDINAL);
  44. PROCEDURE RdBin (F: File; VAR Buf: ARRAY OF BYTE; Count: CARDINAL) : CARDINAL;
  45. END WinFIO.