diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/quicktime_win32/Components.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'common/quicktime_win32/Components.h')
| -rw-r--r-- | common/quicktime_win32/Components.h | 1408 |
1 files changed, 1408 insertions, 0 deletions
diff --git a/common/quicktime_win32/Components.h b/common/quicktime_win32/Components.h new file mode 100644 index 0000000..9e17e9e --- /dev/null +++ b/common/quicktime_win32/Components.h @@ -0,0 +1,1408 @@ +/* + File: Components.h + + Contains: Component Manager Interfaces. + + Version: QuickTime 7.3 + + Copyright: (c) 2007 (c) 1990-2003 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 __COMPONENTS__ +#define __COMPONENTS__ + +#ifndef __MACERRORS__ +#include <MacErrors.h> +#endif + +#ifndef __MACTYPES__ +#include <MacTypes.h> +#endif + +#ifndef __MIXEDMODE__ +#include <MixedMode.h> +#endif + +#ifndef __FILES__ +#include <Files.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 { + kAppleManufacturer = FOUR_CHAR_CODE('appl'), /* Apple supplied components */ + kComponentResourceType = FOUR_CHAR_CODE('thng'), /* a components resource type */ + kComponentAliasResourceType = FOUR_CHAR_CODE('thga') /* component alias resource type */ +}; + +enum { + kAnyComponentType = 0, + kAnyComponentSubType = 0, + kAnyComponentManufacturer = 0, + kAnyComponentFlagsMask = 0 +}; + +enum { + cmpIsMissing = 1L << 29, + cmpWantsRegisterMessage = 1L << 31 +}; + +enum { + kComponentOpenSelect = -1, /* ComponentInstance for this open */ + kComponentCloseSelect = -2, /* ComponentInstance for this close */ + kComponentCanDoSelect = -3, /* selector # being queried */ + kComponentVersionSelect = -4, /* no params */ + kComponentRegisterSelect = -5, /* no params */ + kComponentTargetSelect = -6, /* ComponentInstance for top of call chain */ + kComponentUnregisterSelect = -7, /* no params */ + kComponentGetMPWorkFunctionSelect = -8, /* some params */ + kComponentExecuteWiredActionSelect = -9, /* QTAtomContainer actionContainer, QTAtom actionAtom, QTCustomActionTargetPtr target, QTEventRecordPtr event */ + kComponentGetPublicResourceSelect = -10 /* OSType resourceType, short resourceId, Handle *resource */ +}; + +/* Component Resource Extension flags */ +enum { + componentDoAutoVersion = (1 << 0), + componentWantsUnregister = (1 << 1), + componentAutoVersionIncludeFlags = (1 << 2), + componentHasMultiplePlatforms = (1 << 3), + componentLoadResident = (1 << 4) +}; + + + +/* Set Default Component flags */ +enum { + defaultComponentIdentical = 0, + defaultComponentAnyFlags = 1, + defaultComponentAnyManufacturer = 2, + defaultComponentAnySubType = 4, + defaultComponentAnyFlagsAnyManufacturer = (defaultComponentAnyFlags + defaultComponentAnyManufacturer), + defaultComponentAnyFlagsAnyManufacturerAnySubType = (defaultComponentAnyFlags + defaultComponentAnyManufacturer + defaultComponentAnySubType) +}; + +/* RegisterComponentResource flags */ +enum { + registerComponentGlobal = 1, + registerComponentNoDuplicates = 2, + registerComponentAfterExisting = 4, + registerComponentAliasesOnly = 8 +}; + + +struct ComponentDescription { + OSType componentType; /* A unique 4-byte code indentifying the command set */ + OSType componentSubType; /* Particular flavor of this instance */ + OSType componentManufacturer; /* Vendor indentification */ + unsigned long componentFlags; /* 8 each for Component,Type,SubType,Manuf/revision */ + unsigned long componentFlagsMask; /* Mask for specifying which flags to consider in search, zero during registration */ +}; +typedef struct ComponentDescription ComponentDescription; + +struct ResourceSpec { + OSType resType; /* 4-byte code */ + short resID; /* */ +}; +typedef struct ResourceSpec ResourceSpec; +struct ComponentResource { + ComponentDescription cd; /* Registration parameters */ + ResourceSpec component; /* resource where Component code is found */ + ResourceSpec componentName; /* name string resource */ + ResourceSpec componentInfo; /* info string resource */ + ResourceSpec componentIcon; /* icon resource */ +}; +typedef struct ComponentResource ComponentResource; +typedef ComponentResource * ComponentResourcePtr; +typedef ComponentResourcePtr * ComponentResourceHandle; +struct ComponentPlatformInfo { + long componentFlags; /* flags of Component */ + ResourceSpec component; /* resource where Component code is found */ + short platformType; /* gestaltSysArchitecture result */ +}; +typedef struct ComponentPlatformInfo ComponentPlatformInfo; +struct ComponentResourceExtension { + long componentVersion; /* version of Component */ + long componentRegisterFlags; /* flags for registration */ + short componentIconFamily; /* resource id of Icon Family */ +}; +typedef struct ComponentResourceExtension ComponentResourceExtension; +struct ComponentPlatformInfoArray { + long count; + ComponentPlatformInfo platformArray[1]; +}; +typedef struct ComponentPlatformInfoArray ComponentPlatformInfoArray; +struct ExtComponentResource { + ComponentDescription cd; /* registration parameters */ + ResourceSpec component; /* resource where Component code is found */ + ResourceSpec componentName; /* name string resource */ + ResourceSpec componentInfo; /* info string resource */ + ResourceSpec componentIcon; /* icon resource */ + long componentVersion; /* version of Component */ + long componentRegisterFlags; /* flags for registration */ + short componentIconFamily; /* resource id of Icon Family */ + long count; /* elements in platformArray */ + ComponentPlatformInfo platformArray[1]; +}; +typedef struct ExtComponentResource ExtComponentResource; +typedef ExtComponentResource * ExtComponentResourcePtr; +typedef ExtComponentResourcePtr * ExtComponentResourceHandle; +struct ComponentAliasResource { + ComponentResource cr; /* Registration parameters */ + ComponentDescription aliasCD; /* component alias description */ +}; +typedef struct ComponentAliasResource ComponentAliasResource; +/* Structure received by Component: */ +struct ComponentParameters { + UInt8 flags; /* call modifiers: sync/async, deferred, immed, etc */ + UInt8 paramSize; /* size in bytes of actual parameters passed to this call */ + short what; /* routine selector, negative for Component management calls */ + long params[1]; /* actual parameters for the indicated routine */ +}; +typedef struct ComponentParameters ComponentParameters; +struct ComponentRecord { + long data[1]; +}; +typedef struct ComponentRecord ComponentRecord; +typedef ComponentRecord * Component; +struct ComponentInstanceRecord { + long data[1]; +}; +typedef struct ComponentInstanceRecord ComponentInstanceRecord; +typedef ComponentInstanceRecord * ComponentInstance; +struct RegisteredComponentRecord { + long data[1]; +}; +typedef struct RegisteredComponentRecord RegisteredComponentRecord; +typedef RegisteredComponentRecord * RegisteredComponentRecordPtr; +struct RegisteredComponentInstanceRecord { + long data[1]; +}; +typedef struct RegisteredComponentInstanceRecord RegisteredComponentInstanceRecord; +typedef RegisteredComponentInstanceRecord * RegisteredComponentInstanceRecordPtr; +typedef long ComponentResult; +enum { + platform68k = 1, /* platform type (response from gestaltComponentPlatform) */ + platformPowerPC = 2, /* (when gestaltComponentPlatform is not implemented, use */ + platformInterpreted = 3, /* gestaltSysArchitecture) */ + platformWin32 = 4, + platformPowerPCNativeEntryPoint = 5 +}; + +enum { + mpWorkFlagDoWork = (1 << 0), + mpWorkFlagDoCompletion = (1 << 1), + mpWorkFlagCopyWorkBlock = (1 << 2), + mpWorkFlagDontBlock = (1 << 3), + mpWorkFlagGetProcessorCount = (1 << 4), + mpWorkFlagGetIsRunning = (1 << 6) +}; + +enum { + cmpAliasNoFlags = 0, + cmpAliasOnlyThisFile = 1 +}; + +struct ComponentMPWorkFunctionHeaderRecord { + UInt32 headerSize; + UInt32 recordSize; + UInt32 workFlags; + UInt16 processorCount; + UInt8 unused; + UInt8 isRunning; +}; +typedef struct ComponentMPWorkFunctionHeaderRecord ComponentMPWorkFunctionHeaderRecord; +typedef ComponentMPWorkFunctionHeaderRecord * ComponentMPWorkFunctionHeaderRecordPtr; +typedef CALLBACK_API( ComponentResult , ComponentMPWorkFunctionProcPtr )(void *globalRefCon, ComponentMPWorkFunctionHeaderRecordPtr header); +typedef CALLBACK_API( ComponentResult , ComponentRoutineProcPtr )(ComponentParameters *cp, Handle componentStorage); +typedef CALLBACK_API( OSErr , GetMissingComponentResourceProcPtr )(Component c, OSType resType, short resID, void *refCon, Handle *resource); +typedef STACK_UPP_TYPE(ComponentMPWorkFunctionProcPtr) ComponentMPWorkFunctionUPP; +typedef STACK_UPP_TYPE(ComponentRoutineProcPtr) ComponentRoutineUPP; +typedef STACK_UPP_TYPE(GetMissingComponentResourceProcPtr) GetMissingComponentResourceUPP; +/* + The parameter list for each ComponentFunction is unique. It is + therefore up to users to create the appropriate procInfo for their + own ComponentFunctions where necessary. +*/ +typedef UniversalProcPtr ComponentFunctionUPP; +/* + * NewComponentFunctionUPP() + * + * Discussion: + * For use in writing a Carbon compliant Component. It is used to + * create a ComponentFunctionUPP needed to call + * CallComponentFunction in the Components dispatch routine. + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( ComponentFunctionUPP ) +NewComponentFunctionUPP( + ProcPtr userRoutine, + ProcInfoType procInfo); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API(ComponentFunctionUPP ) NewComponentFunctionUPP(ProcPtr userRoutine, ProcInfoType procInfo) { return (ComponentFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), (ProcInfoType)procInfo, GetCurrentArchitecture()); } + #else + #define NewComponentFunctionUPP(userRoutine, procInfo) ((ComponentFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), (ProcInfoType)procInfo, GetCurrentArchitecture())) + #endif +#endif + + +/* + * DisposeComponentFunctionUPP() + * + * Discussion: + * For use in writing a Carbon compliant Component. It is used to + * dispose of a ComponentFunctionUPP created by + * NewComponentFunctionUPP. + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +DisposeComponentFunctionUPP(ComponentFunctionUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API(void) DisposeComponentFunctionUPP(ComponentFunctionUPP userUPP) { DisposeRoutineDescriptor(userUPP); } + #else + #define DisposeComponentFunctionUPP(userUPP) (DisposeRoutineDescriptor(userUPP)) + #endif +#endif + + + +#if TARGET_RT_MAC_CFM +/* + CallComponentUPP is a global variable exported from InterfaceLib. + It is the ProcPtr passed to CallUniversalProc to manually call a component function. +*/ +/* + * CallComponentUPP + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +extern UniversalProcPtr CallComponentUPP; +#endif + +#define ComponentCallNow( callNumber, paramSize ) \ + FIVEWORDINLINE( 0x2F3C,paramSize,callNumber,0x7000,0xA82A ) + +/******************************************************** +* * +* APPLICATION LEVEL CALLS * +* * +********************************************************/ +/******************************************************** +* Component Database Add, Delete, and Query Routines +********************************************************/ +/* + * RegisterComponent() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( Component ) +RegisterComponent( + ComponentDescription * cd, + ComponentRoutineUPP componentEntryPoint, + short global, + Handle componentName, + Handle componentInfo, + Handle componentIcon) TWOWORDINLINE(0x7001, 0xA82A); + + +/* + * RegisterComponentResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( Component ) +RegisterComponentResource( + ComponentResourceHandle cr, + short global) TWOWORDINLINE(0x7012, 0xA82A); + + +/* + * UnregisterComponent() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( OSErr ) +UnregisterComponent(Component aComponent) TWOWORDINLINE(0x7002, 0xA82A); + + +/* + * FindNextComponent() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( Component ) +FindNextComponent( + Component aComponent, + ComponentDescription * looking) TWOWORDINLINE(0x7004, 0xA82A); + + +/* + * CountComponents() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( long ) +CountComponents(ComponentDescription * looking) TWOWORDINLINE(0x7003, 0xA82A); + + +/* + * GetComponentInfo() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( OSErr ) +GetComponentInfo( + Component aComponent, + ComponentDescription * cd, + Handle componentName, + Handle componentInfo, + Handle componentIcon) TWOWORDINLINE(0x7005, 0xA82A); + + +/* + * GetComponentListModSeed() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( long ) +GetComponentListModSeed(void) TWOWORDINLINE(0x7006, 0xA82A); + + +/* + * GetComponentTypeModSeed() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( long ) +GetComponentTypeModSeed(OSType componentType) TWOWORDINLINE(0x702C, 0xA82A); + + +/******************************************************** +* Component Instance Allocation and dispatch routines +********************************************************/ +/* + * OpenAComponent() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( OSErr ) +OpenAComponent( + Component aComponent, + ComponentInstance * ci) TWOWORDINLINE(0x702D, 0xA82A); + + +/* + * OpenComponent() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( ComponentInstance ) +OpenComponent(Component aComponent) TWOWORDINLINE(0x7007, 0xA82A); + + +/* + * CloseComponent() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( OSErr ) +CloseComponent(ComponentInstance aComponentInstance) TWOWORDINLINE(0x7008, 0xA82A); + + +/* + * GetComponentInstanceError() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( OSErr ) +GetComponentInstanceError(ComponentInstance aComponentInstance) TWOWORDINLINE(0x700A, 0xA82A); + + +/******************************************************** +* Component aliases +********************************************************/ +/* + * ResolveComponentAlias() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 3.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( Component ) +ResolveComponentAlias(Component aComponent) TWOWORDINLINE(0x7020, 0xA82A); + + +/******************************************************** +* Component public resources and public string lists +********************************************************/ +/* Note: GetComponentPublicResource returns a Handle, not a resource. The caller must dispose it with DisposeHandle. */ +/* + * GetComponentPublicResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 4.0 and later + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +GetComponentPublicResource( + Component aComponent, + OSType resourceType, + short resourceID, + Handle * theResource) TWOWORDINLINE(0x7038, 0xA82A); + + +/* + * GetComponentPublicResourceList() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 4.0 and later + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +GetComponentPublicResourceList( + OSType resourceType, + short resourceID, + long flags, + ComponentDescription * cd, + GetMissingComponentResourceUPP missingProc, + void * refCon, + void * atomContainerPtr) TWOWORDINLINE(0x7039, 0xA82A); + + +/* + * GetComponentPublicIndString() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 4.0 and later + * CarbonLib: in CarbonLib 1.3 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +GetComponentPublicIndString( + Component aComponent, + Str255 theString, + short strListID, + short index) TWOWORDINLINE(0x703A, 0xA82A); + + +/******************************************************** +* * +* CALLS MADE BY COMPONENTS * +* * +********************************************************/ +/******************************************************** +* Component Management routines +********************************************************/ +/* + * SetComponentInstanceError() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( void ) +SetComponentInstanceError( + ComponentInstance aComponentInstance, + OSErr theError) TWOWORDINLINE(0x700B, 0xA82A); + + +/* + * GetComponentRefcon() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( long ) +GetComponentRefcon(Component aComponent) TWOWORDINLINE(0x7010, 0xA82A); + + +/* + * SetComponentRefcon() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( void ) +SetComponentRefcon( + Component aComponent, + long theRefcon) TWOWORDINLINE(0x7011, 0xA82A); + + +/* + * OpenComponentResFile() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( short ) +OpenComponentResFile(Component aComponent) TWOWORDINLINE(0x7015, 0xA82A); + + +/* + * OpenAComponentResFile() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( OSErr ) +OpenAComponentResFile( + Component aComponent, + short * resRef) TWOWORDINLINE(0x702F, 0xA82A); + + +/* + * CloseComponentResFile() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( OSErr ) +CloseComponentResFile(short refnum) TWOWORDINLINE(0x7018, 0xA82A); + + +/* Note: GetComponentResource returns a Handle, not a resource. The caller must dispose it with DisposeHandle. */ +/* + * GetComponentResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 3.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( OSErr ) +GetComponentResource( + Component aComponent, + OSType resType, + short resID, + Handle * theResource) TWOWORDINLINE(0x7035, 0xA82A); + + +/* + * GetComponentIndString() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 3.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( OSErr ) +GetComponentIndString( + Component aComponent, + Str255 theString, + short strListID, + short index) TWOWORDINLINE(0x7036, 0xA82A); + + +/******************************************************** +* Component Instance Management routines +********************************************************/ +/* + * GetComponentInstanceStorage() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( Handle ) +GetComponentInstanceStorage(ComponentInstance aComponentInstance) TWOWORDINLINE(0x700C, 0xA82A); + + +/* + * SetComponentInstanceStorage() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( void ) +SetComponentInstanceStorage( + ComponentInstance aComponentInstance, + Handle theStorage) TWOWORDINLINE(0x700D, 0xA82A); + + +#if CALL_NOT_IN_CARBON +/* + * GetComponentInstanceA5() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( long ) +GetComponentInstanceA5(ComponentInstance aComponentInstance) TWOWORDINLINE(0x700E, 0xA82A); + + +/* + * SetComponentInstanceA5() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( void ) +SetComponentInstanceA5( + ComponentInstance aComponentInstance, + long theA5) TWOWORDINLINE(0x700F, 0xA82A); + + +#endif /* CALL_NOT_IN_CARBON */ + +/* + * CountComponentInstances() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( long ) +CountComponentInstances(Component aComponent) TWOWORDINLINE(0x7013, 0xA82A); + + +/* useful helper routines for convenient method dispatching */ +/* + * CallComponentFunction() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( long ) +CallComponentFunction( + ComponentParameters * params, + ComponentFunctionUPP func) TWOWORDINLINE(0x70FF, 0xA82A); + + +/* + * CallComponentFunctionWithStorage() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( long ) +CallComponentFunctionWithStorage( + Handle storage, + ComponentParameters * params, + ComponentFunctionUPP func) TWOWORDINLINE(0x70FF, 0xA82A); + + +#if TARGET_OS_MAC && !TARGET_CPU_68K +/* + * CallComponentFunctionWithStorageProcInfo() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( long ) +CallComponentFunctionWithStorageProcInfo( + Handle storage, + ComponentParameters * params, + ProcPtr func, + ProcInfoType funcProcInfo); + + +#else +#define CallComponentFunctionWithStorageProcInfo(storage, params, func, funcProcInfo ) CallComponentFunctionWithStorage(storage, params, func) + +#endif /* TARGET_OS_MAC && !TARGET_CPU_68K */ + +/* + * DelegateComponentCall() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( long ) +DelegateComponentCall( + ComponentParameters * originalParams, + ComponentInstance ci) TWOWORDINLINE(0x7024, 0xA82A); + + +/* + * SetDefaultComponent() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( OSErr ) +SetDefaultComponent( + Component aComponent, + short flags) TWOWORDINLINE(0x701E, 0xA82A); + + +/* + * OpenDefaultComponent() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( ComponentInstance ) +OpenDefaultComponent( + OSType componentType, + OSType componentSubType) TWOWORDINLINE(0x7021, 0xA82A); + + +/* + * OpenADefaultComponent() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( OSErr ) +OpenADefaultComponent( + OSType componentType, + OSType componentSubType, + ComponentInstance * ci) TWOWORDINLINE(0x702E, 0xA82A); + + +/* + * CaptureComponent() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( Component ) +CaptureComponent( + Component capturedComponent, + Component capturingComponent) TWOWORDINLINE(0x701C, 0xA82A); + + +/* + * UncaptureComponent() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( OSErr ) +UncaptureComponent(Component aComponent) TWOWORDINLINE(0x701D, 0xA82A); + + +/* + * RegisterComponentResourceFile() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( long ) +RegisterComponentResourceFile( + short resRefNum, + short global) TWOWORDINLINE(0x7014, 0xA82A); + + +/* + * GetComponentIconSuite() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( OSErr ) +GetComponentIconSuite( + Component aComponent, + Handle * iconSuite) TWOWORDINLINE(0x7029, 0xA82A); + + +/******************************************************** +* * +* Direct calls to the Components * +* * +********************************************************/ +/* Old style names*/ + +/* + * ComponentFunctionImplemented() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( long ) +ComponentFunctionImplemented( + ComponentInstance ci, + short ftnNumber) FIVEWORDINLINE(0x2F3C, 0x0002, 0xFFFD, 0x7000, 0xA82A); + + +/* + * GetComponentVersion() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( long ) +GetComponentVersion(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0xFFFC, 0x7000, 0xA82A); + + +/* + * ComponentSetTarget() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( long ) +ComponentSetTarget( + ComponentInstance ci, + ComponentInstance target) FIVEWORDINLINE(0x2F3C, 0x0004, 0xFFFA, 0x7000, 0xA82A); + + +/* New style names*/ + +/* + * CallComponentOpen() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( ComponentResult ) +CallComponentOpen( + ComponentInstance ci, + ComponentInstance self) FIVEWORDINLINE(0x2F3C, 0x0004, 0xFFFF, 0x7000, 0xA82A); + + +/* + * CallComponentClose() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( ComponentResult ) +CallComponentClose( + ComponentInstance ci, + ComponentInstance self) FIVEWORDINLINE(0x2F3C, 0x0004, 0xFFFE, 0x7000, 0xA82A); + + +/* + * CallComponentCanDo() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( ComponentResult ) +CallComponentCanDo( + ComponentInstance ci, + short ftnNumber) FIVEWORDINLINE(0x2F3C, 0x0002, 0xFFFD, 0x7000, 0xA82A); + + +/* + * CallComponentVersion() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( ComponentResult ) +CallComponentVersion(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0xFFFC, 0x7000, 0xA82A); + + +/* + * CallComponentRegister() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( ComponentResult ) +CallComponentRegister(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0xFFFB, 0x7000, 0xA82A); + + +/* + * CallComponentTarget() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( ComponentResult ) +CallComponentTarget( + ComponentInstance ci, + ComponentInstance target) FIVEWORDINLINE(0x2F3C, 0x0004, 0xFFFA, 0x7000, 0xA82A); + + +/* + * CallComponentUnregister() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( ComponentResult ) +CallComponentUnregister(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0xFFF9, 0x7000, 0xA82A); + + +/* + * CallComponentGetMPWorkFunction() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( ComponentResult ) +CallComponentGetMPWorkFunction( + ComponentInstance ci, + ComponentMPWorkFunctionUPP * workFunction, + void ** refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0xFFF8, 0x7000, 0xA82A); + + +/* + * CallComponentGetPublicResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib via QuickTime 4.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( ComponentResult ) +CallComponentGetPublicResource( + ComponentInstance ci, + OSType resourceType, + short resourceID, + Handle * resource) FIVEWORDINLINE(0x2F3C, 0x000A, 0xFFF6, 0x7000, 0xA82A); + + + +#if !TARGET_OS_MAC +/* + CallComponent is used by ComponentGlue routines to manually call a component function. + */ +#if CALL_NOT_IN_CARBON +/* + * CallComponent() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: not available + * Windows: in qtmlClient.lib 3.0 and later + */ +EXTERN_API( ComponentResult ) +CallComponent( + ComponentInstance ci, + ComponentParameters * cp); + + +#endif /* CALL_NOT_IN_CARBON */ + +#endif /* !TARGET_OS_MAC */ + +/* + CallComponentDispatch is a CarbonLib routine that replaces CallComponent inline glue + to call a component function. + */ +/* + * CallComponentDispatch() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( ComponentResult ) +CallComponentDispatch(ComponentParameters * cp); + + + +/* UPP call backs */ +/* + * NewComponentMPWorkFunctionUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( ComponentMPWorkFunctionUPP ) +NewComponentMPWorkFunctionUPP(ComponentMPWorkFunctionProcPtr userRoutine); +#if !OPAQUE_UPP_TYPES + enum { uppComponentMPWorkFunctionProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */ + #ifdef __cplusplus + inline DEFINE_API_C(ComponentMPWorkFunctionUPP) NewComponentMPWorkFunctionUPP(ComponentMPWorkFunctionProcPtr userRoutine) { return (ComponentMPWorkFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppComponentMPWorkFunctionProcInfo, GetCurrentArchitecture()); } + #else + #define NewComponentMPWorkFunctionUPP(userRoutine) (ComponentMPWorkFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppComponentMPWorkFunctionProcInfo, GetCurrentArchitecture()) + #endif +#endif + +/* + * NewComponentRoutineUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( ComponentRoutineUPP ) +NewComponentRoutineUPP(ComponentRoutineProcPtr userRoutine); +#if !OPAQUE_UPP_TYPES + enum { uppComponentRoutineProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */ + #ifdef __cplusplus + inline DEFINE_API_C(ComponentRoutineUPP) NewComponentRoutineUPP(ComponentRoutineProcPtr userRoutine) { return (ComponentRoutineUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppComponentRoutineProcInfo, GetCurrentArchitecture()); } + #else + #define NewComponentRoutineUPP(userRoutine) (ComponentRoutineUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppComponentRoutineProcInfo, GetCurrentArchitecture()) + #endif +#endif + +/* + * NewGetMissingComponentResourceUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( GetMissingComponentResourceUPP ) +NewGetMissingComponentResourceUPP(GetMissingComponentResourceProcPtr userRoutine); +#if !OPAQUE_UPP_TYPES + enum { uppGetMissingComponentResourceProcInfo = 0x0000FBE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes) */ + #ifdef __cplusplus + inline DEFINE_API_C(GetMissingComponentResourceUPP) NewGetMissingComponentResourceUPP(GetMissingComponentResourceProcPtr userRoutine) { return (GetMissingComponentResourceUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetMissingComponentResourceProcInfo, GetCurrentArchitecture()); } + #else + #define NewGetMissingComponentResourceUPP(userRoutine) (GetMissingComponentResourceUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetMissingComponentResourceProcInfo, GetCurrentArchitecture()) + #endif +#endif + +/* + * DisposeComponentMPWorkFunctionUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +DisposeComponentMPWorkFunctionUPP(ComponentMPWorkFunctionUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) DisposeComponentMPWorkFunctionUPP(ComponentMPWorkFunctionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } + #else + #define DisposeComponentMPWorkFunctionUPP(userUPP) DisposeRoutineDescriptor(userUPP) + #endif +#endif + +/* + * DisposeComponentRoutineUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +DisposeComponentRoutineUPP(ComponentRoutineUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) DisposeComponentRoutineUPP(ComponentRoutineUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } + #else + #define DisposeComponentRoutineUPP(userUPP) DisposeRoutineDescriptor(userUPP) + #endif +#endif + +/* + * DisposeGetMissingComponentResourceUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +DisposeGetMissingComponentResourceUPP(GetMissingComponentResourceUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) DisposeGetMissingComponentResourceUPP(GetMissingComponentResourceUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } + #else + #define DisposeGetMissingComponentResourceUPP(userUPP) DisposeRoutineDescriptor(userUPP) + #endif +#endif + +/* + * InvokeComponentMPWorkFunctionUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( ComponentResult ) +InvokeComponentMPWorkFunctionUPP( + void * globalRefCon, + ComponentMPWorkFunctionHeaderRecordPtr header, + ComponentMPWorkFunctionUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(ComponentResult) InvokeComponentMPWorkFunctionUPP(void * globalRefCon, ComponentMPWorkFunctionHeaderRecordPtr header, ComponentMPWorkFunctionUPP userUPP) { return (ComponentResult)CALL_TWO_PARAMETER_UPP(userUPP, uppComponentMPWorkFunctionProcInfo, globalRefCon, header); } + #else + #define InvokeComponentMPWorkFunctionUPP(globalRefCon, header, userUPP) (ComponentResult)CALL_TWO_PARAMETER_UPP((userUPP), uppComponentMPWorkFunctionProcInfo, (globalRefCon), (header)) + #endif +#endif + +/* + * InvokeComponentRoutineUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( ComponentResult ) +InvokeComponentRoutineUPP( + ComponentParameters * cp, + Handle componentStorage, + ComponentRoutineUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(ComponentResult) InvokeComponentRoutineUPP(ComponentParameters * cp, Handle componentStorage, ComponentRoutineUPP userUPP) { return (ComponentResult)CALL_TWO_PARAMETER_UPP(userUPP, uppComponentRoutineProcInfo, cp, componentStorage); } + #else + #define InvokeComponentRoutineUPP(cp, componentStorage, userUPP) (ComponentResult)CALL_TWO_PARAMETER_UPP((userUPP), uppComponentRoutineProcInfo, (cp), (componentStorage)) + #endif +#endif + +/* + * InvokeGetMissingComponentResourceUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( OSErr ) +InvokeGetMissingComponentResourceUPP( + Component c, + OSType resType, + short resID, + void * refCon, + Handle * resource, + GetMissingComponentResourceUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(OSErr) InvokeGetMissingComponentResourceUPP(Component c, OSType resType, short resID, void * refCon, Handle * resource, GetMissingComponentResourceUPP userUPP) { return (OSErr)CALL_FIVE_PARAMETER_UPP(userUPP, uppGetMissingComponentResourceProcInfo, c, resType, resID, refCon, resource); } + #else + #define InvokeGetMissingComponentResourceUPP(c, resType, resID, refCon, resource, userUPP) (OSErr)CALL_FIVE_PARAMETER_UPP((userUPP), uppGetMissingComponentResourceProcInfo, (c), (resType), (resID), (refCon), (resource)) + #endif +#endif + +#if CALL_NOT_IN_CARBON || OLDROUTINENAMES + /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */ + #define NewComponentMPWorkFunctionProc(userRoutine) NewComponentMPWorkFunctionUPP(userRoutine) + #define NewComponentRoutineProc(userRoutine) NewComponentRoutineUPP(userRoutine) + #define NewGetMissingComponentResourceProc(userRoutine) NewGetMissingComponentResourceUPP(userRoutine) + #define CallComponentMPWorkFunctionProc(userRoutine, globalRefCon, header) InvokeComponentMPWorkFunctionUPP(globalRefCon, header, userRoutine) + #define CallComponentRoutineProc(userRoutine, cp, componentStorage) InvokeComponentRoutineUPP(cp, componentStorage, userRoutine) + #define CallGetMissingComponentResourceProc(userRoutine, c, resType, resID, refCon, resource) InvokeGetMissingComponentResourceUPP(c, resType, resID, refCon, resource, userRoutine) +#endif /* CALL_NOT_IN_CARBON */ + +/* ProcInfos */ + +/* MixedMode ProcInfo constants for component calls */ +enum { + uppComponentFunctionImplementedProcInfo = 0x000002F0, + uppGetComponentVersionProcInfo = 0x000000F0, + uppComponentSetTargetProcInfo = 0x000003F0, + uppCallComponentOpenProcInfo = 0x000003F0, + uppCallComponentCloseProcInfo = 0x000003F0, + uppCallComponentCanDoProcInfo = 0x000002F0, + uppCallComponentVersionProcInfo = 0x000000F0, + uppCallComponentRegisterProcInfo = 0x000000F0, + uppCallComponentTargetProcInfo = 0x000003F0, + uppCallComponentUnregisterProcInfo = 0x000000F0, + uppCallComponentGetMPWorkFunctionProcInfo = 0x00000FF0, + uppCallComponentGetPublicResourceProcInfo = 0x00003BF0 +}; + + + + + + + +#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 /* __COMPONENTS__ */ + |