#include <CoreServices/CoreServices.h>
#include <DVComponentGlue/DeviceControl.h>
#if MP_SUPPORT
#include "MPMixedModeSupport.h"
#endif
#define TOOLBOX_TRAPADDRESS(trapNum) (*(((UniversalProcPtr*)(((trapNum & 0x03FF) << 2) + 0xE00))))
#define OS_TRAPADDRESS(trapNum) (*(((UniversalProcPtr*)(((trapNum & 0x00FF) << 2) + 0x400))))
#ifndef TRAPGLUE_NO_COMPONENT_CALL
DEFINE_API( ComponentResult ) DeviceControlDoAVCTransaction(ComponentInstance instance, DVCTransactionParams* params)
{
#if PRAGMA_STRUCT_ALIGN
#pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
#pragma pack(2)
#endif
struct DeviceControlDoAVCTransactionGluePB {
unsigned char componentFlags;
unsigned char componentParamSize;
short componentWhat;
DVCTransactionParams* params;
ComponentInstance instance;
};
#if PRAGMA_STRUCT_ALIGN
#pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
#pragma pack()
#endif
#if OLD_COMPONENT_GLUE
struct DeviceControlDoAVCTransactionGluePB myDeviceControlDoAVCTransactionGluePB = {
0,
4,
1
};
#else
struct DeviceControlDoAVCTransactionGluePB myDeviceControlDoAVCTransactionGluePB;
myDeviceControlDoAVCTransactionGluePB.componentFlags = 0;
myDeviceControlDoAVCTransactionGluePB.componentParamSize = 4;
myDeviceControlDoAVCTransactionGluePB.componentWhat = 1;
#endif
myDeviceControlDoAVCTransactionGluePB.params = params;
myDeviceControlDoAVCTransactionGluePB.instance = instance;
#if TARGET_API_MAC_OS8
return (ComponentResult)CallUniversalProc(CallComponentUPP, 0x000000F0, &myDeviceControlDoAVCTransactionGluePB);
#else
return (ComponentResult)CallComponentDispatch( (ComponentParameters*)&myDeviceControlDoAVCTransactionGluePB );
#endif
}
#endif