home *** CD-ROM | disk | FTP | other *** search
/ QuickTime 2.0 Developer Kit / QuickTime 2.0 Developer Kit.iso / mac / MAC / Programming Stuff / Interfaces / PInterfaces / EPPC.p < prev    next >
Encoding:
Text File  |  1994-11-11  |  4.0 KB  |  155 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        EPPC.p
  3.  
  4.      Copyright:    © 1984-1994 by Apple Computer, Inc.
  5.                  All rights reserved.
  6.  
  7.      Version:    Universal Interfaces 2.0a3  ETO #16, MPW prerelease.  Friday, November 11, 1994. 
  8.  
  9.      Bugs?:        If you find a problem with this file, send the file and version
  10.                  information (from above) and the problem description to:
  11.  
  12.                      Internet:    apple.bugs@applelink.apple.com
  13.                      AppleLink:    APPLE.BUGS
  14.  
  15. }
  16.  
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT EPPC;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __EPPC__}
  27. {$SETC __EPPC__ := 1}
  28.  
  29. {$I+}
  30. {$SETC EPPCIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33.  
  34. {$IFC UNDEFINED __ERRORS__}
  35. {$I Errors.p}
  36. {$ENDC}
  37. {    ConditionalMacros.p                                            }
  38.  
  39. {$IFC UNDEFINED __PPCTOOLBOX__}
  40. {$I PPCToolbox.p}
  41. {$ENDC}
  42. {    AppleTalk.p                                                    }
  43. {        Types.p                                                    }
  44. {        OSUtils.p                                                }
  45. {            MixedMode.p                                            }
  46. {            Memory.p                                            }
  47.  
  48. {$IFC UNDEFINED __PROCESSES__}
  49. {$I Processes.p}
  50. {$ENDC}
  51. {    Events.p                                                    }
  52. {        Quickdraw.p                                                }
  53. {            QuickdrawText.p                                        }
  54. {    Files.p                                                        }
  55.  
  56. {$PUSH}
  57. {$ALIGN MAC68K}
  58. {$LibExport+}
  59.  
  60. CONST
  61.     kHighLevelEvent                = 23;
  62. { postOptions currently supported }
  63.     receiverIDMask                = $0000F000;
  64.     receiverIDisPSN                = $00008000;
  65.     receiverIDisSignature        = $00007000;
  66.     receiverIDisSessionID        = $00006000;
  67.     receiverIDisTargetID        = $00005000;
  68.     systemOptionsMask            = $00000F00;
  69.     nReturnReceipt                = $00000200;
  70.     priorityMask                = $000000FF;
  71.     nAttnMsg                    = $00000001;
  72. { constant for return receipts }
  73.     HighLevelEventMsgClass        = 'jaym';
  74.     rtrnReceiptMsgID            = 'rtrn';
  75.     msgWasPartiallyAccepted        = 2;
  76.     msgWasFullyAccepted            = 1;
  77.     msgWasNotAccepted            = 0;
  78.  
  79.  
  80. TYPE
  81.     TargetID = RECORD
  82.         sessionID:                LONGINT;
  83.         name:                    PPCPortRec;
  84.         location:                LocationNameRec;
  85.         recvrName:                PPCPortRec;
  86.     END;
  87.     TargetIDPtr = ^TargetID;
  88.     TargetIDHandle = ^TargetIDPtr;
  89.     TargetIDHdl = ^TargetIDPtr;
  90.  
  91.     SenderID = TargetID;
  92.  
  93.     SenderIDPtr = ^SenderID;
  94.  
  95.     HighLevelEventMsg = RECORD
  96.         HighLevelEventMsgHeaderLength: INTEGER;
  97.         version:                INTEGER;
  98.         reserved1:                LONGINT;
  99.         theMsgEvent:            EventRecord;
  100.         userRefcon:                LONGINT;
  101.         postingOptions:            LONGINT;
  102.         msgLength:                LONGINT;
  103.     END;
  104.     HighLevelEventMsgPtr = ^HighLevelEventMsg;
  105.     HighLevelEventMsgHandle = ^HighLevelEventMsgPtr;
  106.     HighLevelEventMsgHdl = ^HighLevelEventMsgPtr;
  107.  
  108.     GetSpecificFilterProcPtr = ProcPtr;  { FUNCTION GetSpecificFilter(yourDataPtr: UNIV Ptr; msgBuff: HighLevelEventMsgPtr; (CONST)VAR sender: TargetID): BOOLEAN; }
  109.     GetSpecificFilterUPP = UniversalProcPtr;
  110.  
  111. CONST
  112.     uppGetSpecificFilterProcInfo = $00000FD0; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 1 byte result; }
  113.  
  114. FUNCTION NewGetSpecificFilterProc(userRoutine: GetSpecificFilterProcPtr): GetSpecificFilterUPP;
  115.     {$IFC NOT GENERATINGCFM }
  116.     INLINE $2E9F;
  117.     {$ENDC}
  118.  
  119. FUNCTION CallGetSpecificFilterProc(yourDataPtr: UNIV Ptr; msgBuff: HighLevelEventMsgPtr; {CONST}VAR sender: TargetID; userRoutine: GetSpecificFilterUPP): BOOLEAN;
  120.     {$IFC NOT GENERATINGCFM}
  121.     INLINE $205F, $4E90;
  122.     {$ENDC}
  123.  
  124. FUNCTION PostHighLevelEvent({CONST}VAR theEvent: EventRecord; receiverID: LONGINT; msgRefcon: LONGINT; msgBuff: Ptr; msgLen: LONGINT; postingOptions: LONGINT): OSErr;
  125.     {$IFC NOT GENERATINGCFM}
  126.     INLINE $3F3C, $0034, $A88F;
  127.     {$ENDC}
  128. FUNCTION AcceptHighLevelEvent(VAR sender: TargetID; VAR msgRefcon: LONGINT; msgBuff: Ptr; VAR msgLen: LONGINT): OSErr;
  129.     {$IFC NOT GENERATINGCFM}
  130.     INLINE $3F3C, $0033, $A88F;
  131.     {$ENDC}
  132. FUNCTION GetProcessSerialNumberFromPortName({CONST}VAR portName: PPCPortRec; VAR pPSN: ProcessSerialNumber): OSErr;
  133.     {$IFC NOT GENERATINGCFM}
  134.     INLINE $3F3C, $0035, $A88F;
  135.     {$ENDC}
  136. FUNCTION GetPortNameFromProcessSerialNumber(VAR portName: PPCPortRec; {CONST}VAR pPSN: ProcessSerialNumber): OSErr;
  137.     {$IFC NOT GENERATINGCFM}
  138.     INLINE $3F3C, $0046, $A88F;
  139.     {$ENDC}
  140. FUNCTION GetSpecificHighLevelEvent(aFilter: GetSpecificFilterUPP; yourDataPtr: UNIV Ptr; VAR err: OSErr): BOOLEAN;
  141.     {$IFC NOT GENERATINGCFM}
  142.     INLINE $3F3C, $0045, $A88F;
  143.     {$ENDC}
  144.  
  145. {$ALIGN RESET}
  146. {$POP}
  147.  
  148. {$SETC UsingIncludes := EPPCIncludes}
  149.  
  150. {$ENDC} {__EPPC__}
  151.  
  152. {$IFC NOT UsingIncludes}
  153.  END.
  154. {$ENDC}
  155.