home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / Libraries / PNL Libraries / MyAFPAsyncs.p < prev    next >
Encoding:
Text File  |  1995-10-12  |  773 b   |  41 lines  |  [TEXT/CWIE]

  1. unit MyAFPAsyncs;
  2.  
  3. interface
  4.  
  5.     uses
  6.         AppleTalk;
  7.  
  8.     type
  9.         XPPXParamBlockRec = record
  10.                 completion: ProcPtr;
  11.                 pb: XPPParamBlock;
  12.             end;
  13.         XPPXParmBlkPtr = ^XPPXParamBlockRec;
  14.  
  15.     procedure AFPControlAsync (pbp: univ XPPParmBlkPtr; comp: ProcPtr);
  16.  
  17. implementation
  18.  
  19.     uses
  20.         Devices, PreserveA5;
  21.  
  22.     procedure AFPControlAsync (pbp: univ XPPParmBlkPtr; comp: ProcPtr);
  23.         var
  24.             junk: OSErr;
  25.             prp: XPPXParmBlkPtr;
  26.     begin
  27.         if comp <> nil then begin
  28.             prp := XPPXParmBlkPtr(ord(pbp) - 4);
  29.             prp^.completion := comp;
  30.             pbp^.ioCompletion := gPreCompletionProc;
  31.         end else begin
  32.             pbp^.ioCompletion := nil;
  33.         end;
  34.         pbp^.csCode := afpCall;
  35.         if pbp^.qLink <> nil then begin
  36.             DebugStr('AFP Assert Failed;sc;hc');
  37.         end;
  38.         junk := PBControlAsync(ParmBlkPtr(pbp));
  39.     end;
  40.  
  41. end.