home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / MODULAV2GERMAN.DMS / in.adf / Def.zoo / FileSystem.def < prev    next >
Encoding:
Modula Definition  |  1988-09-13  |  1.3 KB  |  43 lines

  1. (* $N- *)
  2. DEFINITION MODULE FileSystem;
  3. (* 2.0 / 29.5.87 / ms *)
  4.  
  5. FROM SYSTEM IMPORT
  6.  ADDRESS,BYTE;
  7. FROM Dos IMPORT
  8.  FileHandlePtr;
  9.  
  10. TYPE
  11.  CHARPtr=POINTER TO CHAR;
  12.  Response=(done,notdone,lockErr,openErr,readErr,writeErr,seekErr,
  13.   memErr,inUse,notFound,diskWriteProtected,deviceNotMounted,diskFull,
  14.   deleteProtected,writeProtected,notDosDisk,noDisk);
  15.  FileMode=(read,write,noBuffer);
  16.  FileModeSet=SET OF FileMode;
  17.  File=RECORD
  18.   bufa,ela,ina,topa: CHARPtr;
  19.   bufPos,filePos: LONGINT;
  20.   file: FileHandlePtr;
  21.   mode: FileModeSet;
  22.   eof: BOOLEAN;
  23.   res: Response;
  24.  END;
  25.  
  26. PROCEDURE Lookup(VAR f: File; name: ARRAY OF CHAR;
  27.                  bufferSize: CARDINAL; new: BOOLEAN);
  28. PROCEDURE Close(VAR f: File);
  29. PROCEDURE Delete(VAR f: File);
  30. PROCEDURE SetPos(VAR f: File; pos: LONGINT);
  31. PROCEDURE GetPos(VAR f: File; VAR pos: LONGINT);
  32. PROCEDURE Length(VAR f: File; VAR pos: LONGINT);
  33. PROCEDURE ReadChar(VAR f: File; VAR ch: CHAR);
  34. PROCEDURE WriteChar(VAR f: File; ch: CHAR);
  35. PROCEDURE ReadByteBlock(VAR f: File; VAR block: ARRAY OF BYTE);
  36. PROCEDURE WriteByteBlock(VAR f: File; VAR block: ARRAY OF BYTE);
  37. PROCEDURE ReadBytes(VAR f: File; adr: ADDRESS;
  38.                     len: LONGINT; VAR actual: LONGINT);
  39. PROCEDURE WriteBytes(VAR f: File; adr: ADDRESS;
  40.                      len: LONGINT; VAR actual: LONGINT);
  41.  
  42. END FileSystem.
  43.