topical media & game development
lib-of-vs-libs-QTDevWin-CIncludes-EPPC.h / h
/*
File: EPPC.h
Contains: High Level Event Manager Interfaces.
Version: Technology: System 7.5
Release: QuickTime 6.0.2
Copyright: (c) 1988-2001 by Apple Computer, Inc., all rights reserved
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
ifndef __EPPC__
define __EPPC__
ifndef __MACERRORS__
include <MacErrors.h>
endif
ifndef __APPLETALK__
include <AppleTalk.h>
endif
ifndef __FILES__
include <Files.h>
endif
ifndef __PPCTOOLBOX__
include <PPCToolbox.h>
endif
ifndef __PROCESSES__
include <Processes.h>
endif
ifndef __EVENTS__
include <Events.h>
endif
if PRAGMA_ONCE
#pragma once
endif
ifdef __cplusplus
extern "C" {
endif
if PRAGMA_IMPORT
#pragma import on
endif
if PRAGMA_STRUCT_ALIGN
#pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
#pragma pack(2)
endif
enum {
/* postOptions currently supported */
receiverIDMask = 0x0000F000,
receiverIDisPSN = 0x00008000,
receiverIDisSignature = 0x00007000,
receiverIDisSessionID = 0x00006000,
receiverIDisTargetID = 0x00005000,
systemOptionsMask = 0x00000F00,
nReturnReceipt = 0x00000200,
priorityMask = 0x000000FF,
nAttnMsg = 0x00000001
};
enum {
/* constant for return receipts */
HighLevelEventMsgClass = FOUR_CHAR_CODE('jaym'),
rtrnReceiptMsgID = FOUR_CHAR_CODE('rtrn')
};
enum {
msgWasPartiallyAccepted = 2,
msgWasFullyAccepted = 1,
msgWasNotAccepted = 0
};
struct TargetID {
long sessionID;
PPCPortRec name;
LocationNameRec location;
PPCPortRec recvrName;
};
typedef struct TargetID TargetID;
typedef TargetID * TargetIDPtr;
typedef TargetIDPtr * TargetIDHandle;
typedef TargetIDHandle TargetIDHdl;
typedef TargetID SenderID;
typedef SenderID * SenderIDPtr;
struct HighLevelEventMsg {
unsigned short HighLevelEventMsgHeaderLength;
unsigned short version;
unsigned long reserved1;
EventRecord theMsgEvent;
unsigned long userRefcon;
unsigned long postingOptions;
unsigned long msgLength;
};
typedef struct HighLevelEventMsg HighLevelEventMsg;
typedef HighLevelEventMsg * HighLevelEventMsgPtr;
typedef HighLevelEventMsgPtr * HighLevelEventMsgHandle;
typedef HighLevelEventMsgHandle HighLevelEventMsgHdl;
typedef CALLBACK_API( Boolean , GetSpecificFilterProcPtr )(void *contextPtr, HighLevelEventMsgPtr msgBuff, const TargetID *sender);
typedef STACK_UPP_TYPE(GetSpecificFilterProcPtr) GetSpecificFilterUPP;
if OPAQUE_UPP_TYPES
if CALL_NOT_IN_CARBON
EXTERN_API(GetSpecificFilterUPP)
NewGetSpecificFilterUPP (GetSpecificFilterProcPtr userRoutine);
EXTERN_API(void)
DisposeGetSpecificFilterUPP (GetSpecificFilterUPP userUPP);
EXTERN_API(Boolean)
InvokeGetSpecificFilterUPP (void * contextPtr,
HighLevelEventMsgPtr msgBuff,
const TargetID * sender,
GetSpecificFilterUPP userUPP);
endif /* CALL_NOT_IN_CARBON */
else
enum { uppGetSpecificFilterProcInfo = 0x00000FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes) */
#define NewGetSpecificFilterUPP(userRoutine) (GetSpecificFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetSpecificFilterProcInfo, GetCurrentArchitecture())
#define DisposeGetSpecificFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
#define InvokeGetSpecificFilterUPP(contextPtr, msgBuff, sender, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppGetSpecificFilterProcInfo, (contextPtr), (msgBuff), (sender))
endif
/* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
define NewGetSpecificFilterProc(userRoutine) NewGetSpecificFilterUPP(userRoutine)
define CallGetSpecificFilterProc(userRoutine, contextPtr, msgBuff, sender) InvokeGetSpecificFilterUPP(contextPtr, msgBuff, sender, userRoutine)
if CALL_NOT_IN_CARBON
if CALL_NOT_IN_CARBON
EXTERN_API( OSErr )
PostHighLevelEvent (const EventRecord * theEvent,
void * receiverID,
unsigned long msgRefcon,
void * msgBuff,
unsigned long msgLen,
unsigned long postingOptions) THREEWORDINLINE(0x3F3C, 0x0034, 0xA88F);
endif /* CALL_NOT_IN_CARBON */
endif /* CALL_NOT_IN_CARBON */
if CALL_NOT_IN_CARBON
if CALL_NOT_IN_CARBON
EXTERN_API( OSErr )
AcceptHighLevelEvent (TargetID * sender,
unsigned long * msgRefcon,
void * msgBuff,
unsigned long * msgLen) THREEWORDINLINE(0x3F3C, 0x0033, 0xA88F);
endif /* CALL_NOT_IN_CARBON */
endif /* CALL_NOT_IN_CARBON */
if CALL_NOT_IN_CARBON
if CALL_NOT_IN_CARBON
EXTERN_API( OSErr )
GetProcessSerialNumberFromPortName (const PPCPortRec * portName,
ProcessSerialNumber * pPSN) THREEWORDINLINE(0x3F3C, 0x0035, 0xA88F);
endif /* CALL_NOT_IN_CARBON */
endif /* CALL_NOT_IN_CARBON */
if CALL_NOT_IN_CARBON
if CALL_NOT_IN_CARBON
EXTERN_API( OSErr )
GetPortNameFromProcessSerialNumber (PPCPortRec * portName,
const ProcessSerialNumber * pPSN) THREEWORDINLINE(0x3F3C, 0x0046, 0xA88F);
endif /* CALL_NOT_IN_CARBON */
endif /* CALL_NOT_IN_CARBON */
if CALL_NOT_IN_CARBON
if CALL_NOT_IN_CARBON
EXTERN_API( Boolean )
GetSpecificHighLevelEvent (GetSpecificFilterUPP aFilter,
void * contextPtr,
OSErr * err) THREEWORDINLINE(0x3F3C, 0x0045, 0xA88F);
endif /* CALL_NOT_IN_CARBON */
endif /* CALL_NOT_IN_CARBON */
if PRAGMA_STRUCT_ALIGN
#pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
#pragma pack()
endif
ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
endif
ifdef __cplusplus
}
endif
endif /* __EPPC__ */
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.