home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / Pascal / Snippets / PNL Libraries / MyFSAsyncs.p < prev    next >
Encoding:
Text File  |  1997-04-04  |  2.8 KB  |  111 lines  |  [TEXT/CWIE]

  1. unit MyFSAsyncs;
  2.  
  3. interface
  4.  
  5.     uses
  6.         Types, Files;
  7.  
  8.     procedure FSHOpenAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  9.     procedure FSReadAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  10.     procedure FSWriteAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  11.     procedure FSCloseAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  12.     procedure FSDeleteAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  13.     procedure FSCatMoveAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  14.     procedure FSRenameAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  15.     procedure FSExchangeFilesAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  16.  
  17. implementation
  18.  
  19.     uses
  20.         Devices,
  21.         PreserveA5, MyLowLevel;
  22.  
  23.     procedure FSHOpenAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  24.         var
  25.             junk: OSErr;
  26.             prp: XParmBlkPtr;
  27.     begin
  28.         prp := XParmBlkPtr(ord(pbp) - XParamBlockRecExtra);
  29.         prp^.completion := comp;
  30.         pbp^.ioCompletion := gPreCompletionProc;
  31.         junk := PBHOpenAsync( HParmBlkPtr(pbp) );
  32.     end;
  33.  
  34.     procedure FSReadAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  35.         var
  36.             junk: OSErr;
  37.             prp: XParmBlkPtr;
  38.     begin
  39.         prp := XParmBlkPtr(ord(pbp) - XParamBlockRecExtra);
  40.         prp^.completion := comp;
  41.         pbp^.ioCompletion := gPreCompletionProc;
  42.         junk := PBReadAsync(pbp);
  43.     end;
  44.  
  45.     procedure FSWriteAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  46.         var
  47.             junk: OSErr;
  48.             prp: XParmBlkPtr;
  49.     begin
  50.         prp := XParmBlkPtr(ord(pbp) - XParamBlockRecExtra);
  51.         prp^.completion := comp;
  52.         pbp^.ioCompletion := gPreCompletionProc;
  53.         junk := PBWriteAsync(pbp);
  54.     end;
  55.  
  56.     procedure FSCloseAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  57.         var
  58.             junk: OSErr;
  59.             prp: XParmBlkPtr;
  60.     begin
  61.         prp := XParmBlkPtr(ord(pbp) - XParamBlockRecExtra);
  62.         prp^.completion := comp;
  63.         pbp^.ioCompletion := gPreCompletionProc;
  64.         junk := PBCloseAsync(pbp);
  65.     end;
  66.  
  67.     procedure FSRenameAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  68.         var
  69.             junk: OSErr;
  70.             prp: XParmBlkPtr;
  71.     begin
  72.         prp := XParmBlkPtr(ord(pbp) - XParamBlockRecExtra);
  73.         prp^.completion := comp;
  74.         pbp^.ioCompletion := gPreCompletionProc;
  75.         junk := PBHRenameAsync(HParmBlkPtr(pbp));
  76.     end;
  77.  
  78.     procedure FSDeleteAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  79.         var
  80.             junk: OSErr;
  81.             prp: XParmBlkPtr;
  82.     begin
  83.         prp := XParmBlkPtr(ord(pbp) - XParamBlockRecExtra);
  84.         prp^.completion := comp;
  85.         pbp^.ioCompletion := gPreCompletionProc;
  86.         junk := PBHDeleteAsync(HParmBlkPtr(pbp));
  87.     end;
  88.  
  89.     procedure FSCatMoveAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  90.         var
  91.             junk: OSErr;
  92.             prp: XParmBlkPtr;
  93.     begin
  94.         prp := XParmBlkPtr(ord(pbp) - XParamBlockRecExtra);
  95.         prp^.completion := comp;
  96.         pbp^.ioCompletion := gPreCompletionProc;
  97.         junk := PBCatMoveAsync(CMovePBPtr(pbp));
  98.     end;
  99.  
  100.     procedure FSExchangeFilesAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  101.         var
  102.             junk: OSErr;
  103.             prp: XParmBlkPtr;
  104.     begin
  105.         prp := XParmBlkPtr(ord(pbp) - XParamBlockRecExtra);
  106.         prp^.completion := comp;
  107.         pbp^.ioCompletion := gPreCompletionProc;
  108.         junk := PBExchangeFilesAsync(HParmBlkPtr(pbp));
  109.     end;
  110.  
  111. end.