data->AsyncPtr = PlaceToPutDataPtr; data->AsyncRefCon = RefCon; data->AsyncCompletionRtn = CompletionRtn; } return noErr; } static const struct { LPVOID proc; ProcInfoType type;} componentFunctions[] = { {NULL, 0}, /* 0 */ {NULL, 0}, /* 1 */ {myDataHGetData, kPascalStackBased | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult))) | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(DataHandler))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Handle))) | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long))) | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(long))) | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(long))) }, /* kDataHGetDataSelect */ {NULL, 0}, /* kDataHPutDataSelect */ {NULL, 0}, /* kDataHFlushDataSelect */ {NULL, 0}, /* kDataHOpenForWriteSelect */ {NULL, 0}, /* kDataHCloseForWriteSelect */ {NULL, 0}, /* 7 */ {myDataHOpenForRead, kPascalStackBased | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult))) | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(DataHandler))) }, /* kDataHOpenForReadSelect */
#define ComponentQTiCall(procName) ComponentCall(procName) #define QTIComponentCall(procName) ComponentCall(procName) #endif #define ADD_BASENAME(name) cdh_GLUE2(COMPONENT_BASENAME(),name) #define ADD_SCOPED_BASENAME(name) COMPONENT_BASENAME()::name #if C_DISPATCH_WITH_GLOBALS PASCAL_RTN ComponentResult COMPONENT_DISPATCH_ENTRY(ComponentParameters *params, COMPONENT_GLOBALS()); static ComponentFunctionUPP COMPONENTSELECTORLOOKUP(short selector_num, ProcInfoType *procInfo); #if TARGET_OS_MAC && TARGET_CPU_PPC && !TARGET_API_MAC_CARBON // entry point for PowerPC native components struct RoutineDescriptor ADD_BASENAME(ComponentDispatchRD) = BUILD_ROUTINE_DESCRIPTOR((kPascalStackBased | RESULT_SIZE (kFourByteCode) | STACK_ROUTINE_PARAMETER (1, kFourByteCode) | STACK_ROUTINE_PARAMETER (2, kFourByteCode)),COMPONENT_DISPATCH_ENTRY); #endif PASCAL_RTN ComponentResult COMPONENT_DISPATCH_ENTRY(ComponentParameters *params,COMPONENT_GLOBALS()) { ComponentFunctionUPP theProc; ComponentResult result = badComponentSelector; ProcInfoType theProcInfo; theProc = COMPONENTSELECTORLOOKUP(params->what, &theProcInfo); if (theProc) { if ( (theProc != kCOMPONENT_ERROR) && (theProc != kCOMPONENT_NOERROR) ) { if (theProcInfo != 0) { result = CallComponentFunctionWithStorageProcInfo((Handle) storage, params, (ProcPtr)theProc, theProcInfo);
#endif ///////////////////////////////////////////////////////////////////// #pragma mark ----- PowerPC Code Cache Flush ----- #if TARGET_CPU_68K && !TARGET_RT_MAC_CFM // This chunk of code implements the classic 68K case for MakeDataPowerPCExecutable, // ie we're running classic 68K code that's generating PowerPC instructions. Boy, // is this a pain to implement. We have to connect up to Interface, find the // appropriate symbol, build a routine descriptor for it, and then call it. enum { uppMakeDataExecutableProcInfo = kPascalStackBased | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(void *))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(unsigned long))) }; static CFragConnectionID gInterfaceLib = NULL; static UniversalProcPtr gMakeDataExecutable = NULL; typedef pascal void (*MakeDataExecutableProcPtr)(void *address, unsigned long count); static pascal OSStatus MakeDataPowerPCExecutableFromClassic(void *address, ByteCount count) { OSErr err; Ptr junkMain; Str255 junkMessage; CFragSymbolClass junkClass; ProcPtr routinePtr;
#include "macintosh_cseries.h" #include "macintosh_network.h" #ifdef mpwc #pragma segment network #endif #define SOCKET_LISTENER_RESOURCE_TYPE 'SOCK' #define SOCKET_LISTENER_ID 128 enum { // info for calling the packet handler uppPacketHandlerProcInfo = kCStackBased | RESULT_SIZE(kNoByteCode) | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(DDPPacketBufferPtr))), // info for calling the procedure that initializes the ddp socket listener uppInitializeListenerProcInfo = kCStackBased | RESULT_SIZE(SIZE_CODE(sizeof(ProcPtr))) | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(packetHandlerProcPtr))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(DDPPacketBufferPtr))) }; /* ---------- prototypes/NETWORK_SOCKET_LISTENER.A */ /* ---------- globals */ static DDPPacketBufferPtr ddpPacketBuffer= (DDPPacketBufferPtr) NULL; static DDPSocketListenerUPP listenerUPP= (DDPSocketListenerUPP) NULL;
#include <Types.h> #include <OSUtils.h> #endif #if defined (KPMACPPC) && !(TARGET_API_MAC_CARBON) #include <Traps.h> /* declare the universal procedure pointer info */ enum { uppCallProgressProcInfo = kCStackBased | RESULT_SIZE (SIZE_CODE (sizeof (PTErr_t) ) ) | STACK_ROUTINE_PARAMETER (1, SIZE_CODE (sizeof (KpInt32_t) ) ), upprelayProcInfo = kCStackBased | RESULT_SIZE (SIZE_CODE (sizeof (PTErr_t) ) ) | STACK_ROUTINE_PARAMETER (1, SIZE_CODE (sizeof (long) ) ) | STACK_ROUTINE_PARAMETER (2, SIZE_CODE (sizeof (long) ) ) | STACK_ROUTINE_PARAMETER (3, SIZE_CODE (sizeof (PTProgress_t) ) ) | STACK_ROUTINE_PARAMETER (4, SIZE_CODE (sizeof (KpInt32_t) ) ) }; #endif #if defined (KPMAC) && !(TARGET_API_MAC_CARBON)
pascal void SBShowHideControlStrip(Bool showIt) { CallUniversalProc((UniversalProcPtr)&SBShowHideControlStrip68K[0],kPascalStackBased | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(1)),showIt); }