sys7.1-doc-wip/Interfaces/PInterfaces/EPPC.p
2019-07-27 22:37:48 +08:00

163 lines
4.5 KiB
OpenEdge ABL

{
Created: Saturday, July 27, 1991 at 8:37 PM
EPPC.p
Pascal Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1988-1991
All rights reserved
This file is used in these builds: BigBang
Change History (most recent first):
<14> 7/30/91 JL Updated Copyright.
<13> 2/4/91 JL change parameter names from pPSN to PSN. Deleted
registerOnNetwork.
<12> 1/28/91 LN Checked in Database Generated File from DSG. RegisterOnNetwork
came back because their was no note on its removal.
<11> 1/25/91 stb JDR: change systemOptionMask to systemOptionsMask
<10> 12/14/90 JWM do some beautification of the header file
<9> 12/13/90 JWM New error code, noUserInteractionAllowed (-610) for
PostHighLevelEvent which is returned if we are establishing a
remote connection and the application is not frontmost or is
being coerced.
<8> 9/27/90 ngk Define GetSpecificFilterProcPtr type.
<7> 9/27/90 ngk Changed "VAR params: LONGINT" to "yourDataPtr: UNIV Ptr" in
GetSpecificHighLevelEvent
<6> 9/15/90 ngk update to new ppctoolbox namesPortName -> PPCPortRec,
LocationName -> LocationNameRec
<5> 4/10/90 JWM add GetPortNameFromProcessSerialNumber interface and remove two
postingOptions that will not be implemented.
<4> 3/20/90 JM changing API for (hopefully) the last time before beta. See
comments in the file.
** 3.0 jwm 03/20/1990 updated for 7.0a8 changes to the API.
** 1.2 ngk 11/07/1989 Added registerOnNetwork and authenticateNetRequest
** 1.1 ngk 11/04/1989 fixed GetPSNfromPort
** 1.0 ngk 11/02/1989 initial EASE submission
To Do:
}
{$IFC UNDEFINED UsingIncludes}
{$SETC UsingIncludes := 0}
{$ENDC}
{$IFC NOT UsingIncludes}
UNIT EPPC;
INTERFACE
{$ENDC}
{$IFC UNDEFINED UsingEPPC}
{$SETC UsingEPPC := 1}
{$I+}
{$SETC EPPCIncludes := UsingIncludes}
{$SETC UsingIncludes := 1}
{$IFC UNDEFINED UsingPPCToolbox}
{$I $$Shell(PInterfaces)PPCToolbox.p}
{$ENDC}
{$IFC UNDEFINED UsingProcesses}
{$I $$Shell(PInterfaces)Processes.p}
{$ENDC}
{$IFC UNDEFINED UsingEvents}
{$I $$Shell(PInterfaces)Events.p}
{$ENDC}
{$SETC UsingIncludes := EPPCIncludes}
CONST
kHighLevelEvent = 23;
{ postOptions currently supported }
receiverIDMask = $0000F000;
receiverIDisPSN = $00008000;
receiverIDisSignature = $00007000;
receiverIDisSessionID = $00006000;
receiverIDisTargetID = $00005000;
systemOptionsMask = $00000F00;
nReturnReceipt = $00000200;
priorityMask = $000000FF;
nAttnMsg = $00000001;
{ error returns from Post and Accept }
bufferIsSmall = -607;
noOutstandingHLE = -608;
connectionInvalid = -609;
noUserInteractionAllowed = -610; { no user interaction allowed }
{ constant for return receipts }
HighLevelEventMsgClass = 'jaym';
rtrnReceiptMsgID = 'rtrn';
msgWasPartiallyAccepted = 2;
msgWasFullyAccepted = 1;
msgWasNotAccepted = 0;
TYPE
TargetIDPtr = ^TargetID;
TargetIDHdl = ^TargetIDPtr;
TargetID = RECORD
sessionID: LONGINT;
name: PPCPortRec;
location: LocationNameRec;
recvrName: PPCPortRec;
END;
SenderID = TargetID;
SenderIDPtr = ^SenderID;
HighLevelEventMsgPtr = ^HighLevelEventMsg;
HighLevelEventMsgHdl = ^HighLevelEventMsgPtr;
HighLevelEventMsg = RECORD
HighLevelEventMsgHeaderLength: INTEGER;
version: INTEGER;
reserved1: LONGINT;
theMsgEvent: EventRecord;
userRefcon: LONGINT;
postingOptions: LONGINT;
msgLength: LONGINT;
END;
FUNCTION PostHighLevelEvent(theEvent: EventRecord;
receiverID: Ptr;
msgRefcon: LONGINT;
msgBuff: Ptr;
msgLen: LONGINT;
postingOptions: LONGINT): OSErr;
INLINE $3F3C,$0034,$A88F;
FUNCTION AcceptHighLevelEvent(VAR sender: TargetID;
VAR msgRefcon: LONGINT;
msgBuff: Ptr;
VAR msgLen: LONGINT): OSErr;
INLINE $3F3C,$0033,$A88F;
FUNCTION GetProcessSerialNumberFromPortName(portName: PPCPortRec;VAR PSN: ProcessSerialNumber): OSErr;
INLINE $3F3C,$0035,$A88F;
FUNCTION GetPortNameFromProcessSerialNumber(VAR portName: PPCPortRec;PSN: ProcessSerialNumber): OSErr;
INLINE $3F3C,$0046,$A88F;
TYPE
GetSpecificFilterProcPtr = ProcPtr; { FUNCTION MyFilter(yourDataPtr: Ptr; }
{ msgBuff: HighLevelEventMsgPtr; }
{ sender: TargetID): Boolean; }
FUNCTION GetSpecificHighLevelEvent(aFilter: GetSpecificFilterProcPtr;yourDataPtr: UNIV Ptr;
VAR err: OSErr): BOOLEAN;
INLINE $3F3C,$0045,$A88F;
{$ENDC} { UsingEPPC }
{$IFC NOT UsingIncludes}
END.
{$ENDC}