summaryrefslogtreecommitdiff
path: root/common/quicktime_win32/Components.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/quicktime_win32/Components.h
downloadarchived-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.h1408
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__ */
+