LOCKS.DEF 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. DEFINITION MODULE Locks;
  2. (*
  3. * ModBase
  4. * Release 3.0
  5. * (c) Copyright 1991 John McMonagle
  6. * P.O. Box 8402
  7. * Green Bay WI 54308
  8. * All Rights Reserved
  9. *
  10. *)
  11. FROM StringIO IMPORT ErrorMessage;
  12. FROM ErrorManager IMPORT AConfirmProc;
  13. IMPORT SYSTEM;
  14. TYPE
  15. RangeRec =
  16. RECORD
  17. FileOffset : LONGINT;
  18. RangeLength: LONGINT;
  19. END;
  20. Range =POINTER TO RangeRec;
  21. VAR
  22. AbortRetryIgnore:AConfirmProc;
  23. ExclusiveOnly:BOOLEAN;
  24. PROCEDURE Lock(FileHandle : CARDINAL; range:RangeRec) : ErrorMessage;
  25. PROCEDURE LockRetry(FileHandle : CARDINAL; range:RangeRec;
  26. Retries:CARDINAL; VAR FileName:ARRAY OF CHAR) : ErrorMessage;
  27. PROCEDURE UnLock(FileHandle : CARDINAL; range:RangeRec) : ErrorMessage;
  28. PROCEDURE LockFile(FileHandle : CARDINAL) : ErrorMessage;
  29. PROCEDURE LockFileRetry(FileHandle : CARDINAL;
  30. Retries:CARDINAL; VAR FileName:ARRAY OF CHAR) : ErrorMessage;
  31. PROCEDURE UnLockFile(FileHandle : CARDINAL) : ErrorMessage;
  32. (* used to pause between retries should give give control to the
  33. operating system if possible *)
  34. PROCEDURE Pause(Msec:CARDINAL);
  35. PROCEDURE NoLocking(handle:CARDINAL):BOOLEAN;
  36. PROCEDURE ReadRetry(FileHandle : CARDINAL; ptr : SYSTEM.ADDRESS; size,Retries :
  37. CARDINAL;VAR FileName:ARRAY OF CHAR) : CARDINAL;
  38. END Locks.
  39.