home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / vp21beta.zip / ARTLSRC.RAR / VPUSRLNX.PAS < prev    next >
Pascal/Delphi Source File  |  2000-08-15  |  841b  |  41 lines

  1. { Linux specific implementation of the functions declared in VpUsrLow }
  2.  
  3. function SysLockFile(var _F; _LockStart: LongInt; _LockLength: LongInt): LongInt;
  4. var
  5.   Lock: PFLock;
  6. begin
  7.   New(Lock);
  8.  
  9.   with Lock^ do begin
  10.     l_Type:=   F_WRLCK;
  11.     l_Whence:= SEEK_SET;
  12.     l_Start:=  _LockStart;
  13.     l_Len:=    _LockLength;
  14.     l_PID:=    0;
  15.   end;
  16.  
  17.   SysLockFile:= LnxFCntl_3(tFileRec(_F).Handle, F_SETLK, Lock);
  18.  
  19.   Dispose(Lock);
  20. end;
  21.  
  22. function SysUnLockFile(var _F; _LockStart: LongInt; _LockLength: LongInt): LongInt;
  23. var
  24.   Lock: PFLock;
  25. begin
  26.   New(Lock);
  27.  
  28.   with Lock^ do begin
  29.     l_Type:=   F_UNLCK;
  30.     l_Whence:= SEEK_SET;
  31.     l_Start:=  _LockStart;
  32.     l_Len:=    _LockLength;
  33.     l_PID:=    0;
  34.   end;
  35.  
  36.   SysUnLockFile:= LnxFCntl_3(tFileRec(_F).Handle, F_SETLK, Lock);
  37.  
  38.   Dispose(Lock);
  39. end;
  40.  
  41.