<?xml version='1.0'?>
<signatures version='1.0'>
<depends_on path='/System/Library/Frameworks/IOKit.framework'/>
<struct name='MIDIControlTransform' type='{MIDIControlTransform="controlType"C"remappedControlType"C"controlNumber"S"transform"S"param"s}'>
<field declared_type='MIDITransformControlType' name='controlType' type='C'/>
<field declared_type='MIDITransformControlType' name='remappedControlType' type='C'/>
<field declared_type='UInt16' name='controlNumber' type='S'/>
<field declared_type='MIDITransformType' name='transform' type='S'/>
<field declared_type='SInt16' name='param' type='s'/>
</struct>
<struct name='MIDIDriverInterface' type='{MIDIDriverInterface="_reserved"^v"QueryInterface"^?"AddRef"^?"Release"^?"FindDevices"^?"Start"^?"Stop"^?"Configure"^?"Send"^?"EnableSource"^?"Flush"^?"Monitor"^?}'>
<field declared_type='void*' name='_reserved' type='^v'/>
<field declared_type='HRESULT (*)(void *, REFIID, LPVOID *)' function_pointer='true' name='QueryInterface' type='^?'>
<arg declared_type='void*' type='^v'/>
<arg declared_type='REFIID' type='{_REFIID=CCCCCCCCCCCCCCCC}'/>
<arg declared_type='LPVOID*' type='^^v'/>
<retval declared_type='HRESULT' type='l' type64='i'/>
</field>
<field declared_type='ULONG (*)(void *)' function_pointer='true' name='AddRef' type='^?'>
<arg declared_type='void*' type='^v'/>
<retval declared_type='ULONG' type='L' type64='I'/>
</field>
<field declared_type='ULONG (*)(void *)' function_pointer='true' name='Release' type='^?'>
<arg declared_type='void*' type='^v'/>
<retval declared_type='ULONG' type='L' type64='I'/>
</field>
<field declared_type='OSStatus (*)(MIDIDriverRef, MIDIDeviceListRef)' function_pointer='true' name='FindDevices' type='^?'>
<arg declared_type='MIDIDriverRef' type='^^{MIDIDriverInterface}'/>
<arg declared_type='MIDIDeviceListRef' type='^{OpaqueMIDIDeviceList=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</field>
<field declared_type='OSStatus (*)(MIDIDriverRef, MIDIDeviceListRef)' function_pointer='true' name='Start' type='^?'>
<arg declared_type='MIDIDriverRef' type='^^{MIDIDriverInterface}'/>
<arg declared_type='MIDIDeviceListRef' type='^{OpaqueMIDIDeviceList=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</field>
<field declared_type='OSStatus (*)(MIDIDriverRef)' function_pointer='true' name='Stop' type='^?'>
<arg declared_type='MIDIDriverRef' type='^^{MIDIDriverInterface}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</field>
<field declared_type='OSStatus (*)(MIDIDriverRef, MIDIDeviceRef)' function_pointer='true' name='Configure' type='^?'>
<arg declared_type='MIDIDriverRef' type='^^{MIDIDriverInterface}'/>
<arg declared_type='MIDIDeviceRef' type='^{OpaqueMIDIDevice=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</field>
<field declared_type='OSStatus (*)(MIDIDriverRef, MIDIPacketList *, void *, void *)' function_pointer='true' name='Send' type='^?'>
<arg declared_type='MIDIDriverRef' type='^^{MIDIDriverInterface}'/>
<arg const='true' declared_type='MIDIPacketList*' type='^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}'/>
<arg declared_type='void*' type='^v'/>
<arg declared_type='void*' type='^v'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</field>
<field declared_type='OSStatus (*)(MIDIDriverRef, MIDIEndpointRef, Boolean)' function_pointer='true' name='EnableSource' type='^?'>
<arg declared_type='MIDIDriverRef' type='^^{MIDIDriverInterface}'/>
<arg declared_type='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<arg declared_type='Boolean' type='B'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</field>
<field declared_type='OSStatus (*)(MIDIDriverRef, MIDIEndpointRef, void *, void *)' function_pointer='true' name='Flush' type='^?'>
<arg declared_type='MIDIDriverRef' type='^^{MIDIDriverInterface}'/>
<arg declared_type='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<arg declared_type='void*' type='^v'/>
<arg declared_type='void*' type='^v'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</field>
<field declared_type='OSStatus (*)(MIDIDriverRef, MIDIEndpointRef, MIDIPacketList *)' function_pointer='true' name='Monitor' type='^?'>
<arg declared_type='MIDIDriverRef' type='^^{MIDIDriverInterface}'/>
<arg declared_type='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<arg const='true' declared_type='MIDIPacketList*' type='^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</field>
</struct>
<struct name='MIDIIOErrorNotification' type='{MIDIIOErrorNotification="messageID"i"messageSize"I"driverDevice"^{OpaqueMIDIDevice}"errorCode"i}' type64='{MIDIIOErrorNotification="messageID"i"messageSize"I"driverDevice"I"errorCode"i}'>
<field declared_type='MIDINotificationMessageID' name='messageID' type='l' type64='i'/>
<field declared_type='UInt32' name='messageSize' type='L' type64='I'/>
<field declared_type='MIDIDeviceRef' name='driverDevice' type='^{OpaqueMIDIDevice=}' type64='I'/>
<field declared_type='OSStatus' name='errorCode' type='l' type64='i'/>
</struct>
<struct name='MIDINotification' type='{MIDINotification="messageID"i"messageSize"I}'>
<field declared_type='MIDINotificationMessageID' name='messageID' type='l' type64='i'/>
<field declared_type='UInt32' name='messageSize' type='L' type64='I'/>
</struct>
<struct name='MIDIObjectAddRemoveNotification' type='{MIDIObjectAddRemoveNotification="messageID"i"messageSize"I"parent"^v"parentType"i"child"^v"childType"i}' type64='{MIDIObjectAddRemoveNotification="messageID"i"messageSize"I"parent"I"parentType"i"child"I"childType"i}'>
<field declared_type='MIDINotificationMessageID' name='messageID' type='l' type64='i'/>
<field declared_type='UInt32' name='messageSize' type='L' type64='I'/>
<field declared_type='MIDIObjectRef' name='parent' type='@' type64='I'/>
<field declared_type='MIDIObjectType' name='parentType' type='l' type64='i'/>
<field declared_type='MIDIObjectRef' name='child' type='@' type64='I'/>
<field declared_type='MIDIObjectType' name='childType' type='l' type64='i'/>
</struct>
<struct name='MIDIObjectPropertyChangeNotification' type='{MIDIObjectPropertyChangeNotification="messageID"i"messageSize"I"object"^v"objectType"i"propertyName"^{__CFString}}' type64='{MIDIObjectPropertyChangeNotification="messageID"i"messageSize"I"object"I"objectType"i"propertyName"^{__CFString}}'>
<field declared_type='MIDINotificationMessageID' name='messageID' type='l' type64='i'/>
<field declared_type='UInt32' name='messageSize' type='L' type64='I'/>
<field declared_type='MIDIObjectRef' name='object' type='@' type64='I'/>
<field declared_type='MIDIObjectType' name='objectType' type='l' type64='i'/>
<field declared_type='CFStringRef' name='propertyName' type='^{__CFString=}'/>
</struct>
<struct name='MIDIPacket' type='{MIDIPacket="timeStamp"Q"length"S"data"[256C]}'>
<field declared_type='MIDITimeStamp' name='timeStamp' type='Q'/>
<field declared_type='UInt16' name='length' type='S'/>
<field declared_type='Byte*' name='data' type='[256C]'/>
</struct>
<struct name='MIDIPacketList' type='{MIDIPacketList="numPackets"I"packet"[1{MIDIPacket="timeStamp"Q"length"S"data"[256C]}]}'>
<field declared_type='UInt32' name='numPackets' type='L' type64='I'/>
<field declared_type='MIDIPacket*' name='packet' type='[1{MIDIPacket="timeStamp"Q"length"S"data"[256C]}]'/>
</struct>
<struct name='MIDISysexSendRequest' type='{MIDISysexSendRequest="destination"^{OpaqueMIDIEndpoint}"data"*"bytesToSend"I"complete"B"reserved"[3C]"completionProc"^?"completionRefCon"^v}' type64='{MIDISysexSendRequest="destination"I"data"*"bytesToSend"I"complete"B"reserved"[3C]"completionProc"^?"completionRefCon"^v}'>
<field declared_type='MIDIEndpointRef' name='destination' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<field const='true' declared_type='Byte*' name='data' type='*'/>
<field declared_type='UInt32' name='bytesToSend' type='L' type64='I'/>
<field declared_type='Boolean' name='complete' type='B'/>
<field declared_type='Byte*' name='reserved' type='[3C]'/>
<field declared_type='MIDICompletionProc' function_pointer='true' name='completionProc' type='^?'>
<arg declared_type='MIDISysexSendRequest*' type='^{MIDISysexSendRequest=^{OpaqueMIDIEndpoint}*IB[3C]^?^v}' type64='^{MIDISysexSendRequest=I*IB[3C]^?^v}'/>
<retval declared_type='void' type='v'/>
</field>
<field declared_type='void*' name='completionRefCon' type='^v'/>
</struct>
<struct name='MIDIThruConnectionEndpoint' type='{MIDIThruConnectionEndpoint="endpointRef"^{OpaqueMIDIEndpoint}"uniqueID"i}' type64='{MIDIThruConnectionEndpoint="endpointRef"I"uniqueID"i}'>
<field declared_type='MIDIEndpointRef' name='endpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<field declared_type='MIDIUniqueID' name='uniqueID' type='l' type64='i'/>
</struct>
<struct name='MIDIThruConnectionParams' type='{MIDIThruConnectionParams="version"I"numSources"I"sources"[8{MIDIThruConnectionEndpoint="endpointRef"^{OpaqueMIDIEndpoint}"uniqueID"i}]"numDestinations"I"destinations"[8{MIDIThruConnectionEndpoint="endpointRef"^{OpaqueMIDIEndpoint}"uniqueID"i}]"channelMap"[16C]"lowVelocity"C"highVelocity"C"lowNote"C"highNote"C"noteNumber"{MIDITransform="transform"S"param"s}"velocity"{MIDITransform="transform"S"param"s}"keyPressure"{MIDITransform="transform"S"param"s}"channelPressure"{MIDITransform="transform"S"param"s}"programChange"{MIDITransform="transform"S"param"s}"pitchBend"{MIDITransform="transform"S"param"s}"filterOutSysEx"C"filterOutMTC"C"filterOutBeatClock"C"filterOutTuneRequest"C"reserved2"[3C]"filterOutAllControls"C"numControlTransforms"S"numMaps"S"reserved3"[4S]}' type64='{MIDIThruConnectionParams="version"I"numSources"I"sources"[8{MIDIThruConnectionEndpoint="endpointRef"I"uniqueID"i}]"numDestinations"I"destinations"[8{MIDIThruConnectionEndpoint="endpointRef"I"uniqueID"i}]"channelMap"[16C]"lowVelocity"C"highVelocity"C"lowNote"C"highNote"C"noteNumber"{MIDITransform="transform"S"param"s}"velocity"{MIDITransform="transform"S"param"s}"keyPressure"{MIDITransform="transform"S"param"s}"channelPressure"{MIDITransform="transform"S"param"s}"programChange"{MIDITransform="transform"S"param"s}"pitchBend"{MIDITransform="transform"S"param"s}"filterOutSysEx"C"filterOutMTC"C"filterOutBeatClock"C"filterOutTuneRequest"C"reserved2"[3C]"filterOutAllControls"C"numControlTransforms"S"numMaps"S"reserved3"[4S]}'>
<field declared_type='UInt32' name='version' type='L' type64='I'/>
<field declared_type='UInt32' name='numSources' type='L' type64='I'/>
<field declared_type='MIDIThruConnectionEndpoint*' name='sources' type='[8{MIDIThruConnectionEndpoint="endpointRef"^{OpaqueMIDIEndpoint}"uniqueID"i}]' type64='[8{MIDIThruConnectionEndpoint="endpointRef"I"uniqueID"i}]'/>
<field declared_type='UInt32' name='numDestinations' type='L' type64='I'/>
<field declared_type='MIDIThruConnectionEndpoint*' name='destinations' type='[8{MIDIThruConnectionEndpoint="endpointRef"^{OpaqueMIDIEndpoint}"uniqueID"i}]' type64='[8{MIDIThruConnectionEndpoint="endpointRef"I"uniqueID"i}]'/>
<field declared_type='UInt8*' name='channelMap' type='[16C]'/>
<field declared_type='UInt8' name='lowVelocity' type='C'/>
<field declared_type='UInt8' name='highVelocity' type='C'/>
<field declared_type='UInt8' name='lowNote' type='C'/>
<field declared_type='UInt8' name='highNote' type='C'/>
<field declared_type='MIDITransform' name='noteNumber' type='{MIDITransform="transform"S"param"s}'/>
<field declared_type='MIDITransform' name='velocity' type='{MIDITransform="transform"S"param"s}'/>
<field declared_type='MIDITransform' name='keyPressure' type='{MIDITransform="transform"S"param"s}'/>
<field declared_type='MIDITransform' name='channelPressure' type='{MIDITransform="transform"S"param"s}'/>
<field declared_type='MIDITransform' name='programChange' type='{MIDITransform="transform"S"param"s}'/>
<field declared_type='MIDITransform' name='pitchBend' type='{MIDITransform="transform"S"param"s}'/>
<field declared_type='UInt8' name='filterOutSysEx' type='C'/>
<field declared_type='UInt8' name='filterOutMTC' type='C'/>
<field declared_type='UInt8' name='filterOutBeatClock' type='C'/>
<field declared_type='UInt8' name='filterOutTuneRequest' type='C'/>
<field declared_type='UInt8*' name='reserved2' type='[3C]'/>
<field declared_type='UInt8' name='filterOutAllControls' type='C'/>
<field declared_type='UInt16' name='numControlTransforms' type='S'/>
<field declared_type='UInt16' name='numMaps' type='S'/>
<field declared_type='UInt16*' name='reserved3' type='[4S]'/>
</struct>
<struct name='MIDITransform' type='{MIDITransform="transform"S"param"s}'>
<field declared_type='MIDITransformType' name='transform' type='S'/>
<field declared_type='SInt16' name='param' type='s'/>
</struct>
<struct name='MIDIValueMap' type='{MIDIValueMap="value"[128C]}'>
<field declared_type='UInt8*' name='value' type='[128C]'/>
</struct>
<constant const='true' declared_type='NSString*' name='MIDINetworkBonjourServiceType' type='@'/>
<constant const='true' declared_type='NSString*' name='MIDINetworkNotificationContactsDidChange' type='@'/>
<constant const='true' declared_type='NSString*' name='MIDINetworkNotificationSessionDidChange' type='@'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyAdvanceScheduleTimeMuSec' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyCanRoute' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyConnectionUniqueID' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyDeviceID' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyDisplayName' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyDriverDeviceEditorApp' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyDriverOwner' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyDriverVersion' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyImage' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyIsBroadcast' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyIsDrumMachine' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyIsEffectUnit' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyIsEmbeddedEntity' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyIsMixer' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyIsSampler' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyManufacturer' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyMaxReceiveChannels' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyMaxSysExSpeed' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyMaxTransmitChannels' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyModel' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyName' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyNameConfiguration' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyOffline' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyPanDisruptsStereo' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyPrivate' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyReceiveChannels' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyReceivesBankSelectLSB' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyReceivesBankSelectMSB' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyReceivesClock' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyReceivesMTC' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyReceivesNotes' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyReceivesProgramChanges' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertySingleRealtimeEntity' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertySupportsGeneralMIDI' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertySupportsMMC' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertySupportsShowControl' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyTransmitChannels' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyTransmitsBankSelectLSB' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyTransmitsBankSelectMSB' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyTransmitsClock' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyTransmitsMTC' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyTransmitsNotes' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyTransmitsProgramChanges' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyUniqueID' type='^{__CFString=}'/>
<enum name='MIDINetworkConnectionPolicy_Anyone' value='2'/>
<enum name='MIDINetworkConnectionPolicy_HostsInContactList' value='1'/>
<enum name='MIDINetworkConnectionPolicy_NoOne' value='0'/>
<enum name='kMIDIControlType_14Bit' value='1'/>
<enum name='kMIDIControlType_14BitNRPN' value='5'/>
<enum name='kMIDIControlType_14BitRPN' value='3'/>
<enum name='kMIDIControlType_7Bit' value='0'/>
<enum name='kMIDIControlType_7BitNRPN' value='4'/>
<enum name='kMIDIControlType_7BitRPN' value='2'/>
<enum name='kMIDIIDNotUnique' value='-10843'/>
<enum name='kMIDIInvalidClient' value='-10830'/>
<enum name='kMIDIInvalidPort' value='-10831'/>
<enum name='kMIDIInvalidUniqueID' value='0'/>
<enum name='kMIDIMessageSendErr' value='-10838'/>
<enum name='kMIDIMsgIOError' value='7'/>
<enum name='kMIDIMsgObjectAdded' value='2'/>
<enum name='kMIDIMsgObjectRemoved' value='3'/>
<enum name='kMIDIMsgPropertyChanged' value='4'/>
<enum name='kMIDIMsgSerialPortOwnerChanged' value='6'/>
<enum name='kMIDIMsgSetupChanged' value='1'/>
<enum name='kMIDIMsgThruConnectionsChanged' value='5'/>
<enum name='kMIDINoConnection' value='-10833'/>
<enum name='kMIDINoCurrentSetup' value='-10837'/>
<enum name='kMIDINotPermitted' value='-10844'/>
<enum name='kMIDIObjectNotFound' value='-10842'/>
<enum name='kMIDIObjectType_Destination' value='3'/>
<enum name='kMIDIObjectType_Device' value='0'/>
<enum name='kMIDIObjectType_Entity' value='1'/>
<enum name='kMIDIObjectType_ExternalDestination' value='19'/>
<enum name='kMIDIObjectType_ExternalDevice' value='16'/>
<enum name='kMIDIObjectType_ExternalEntity' value='17'/>
<enum name='kMIDIObjectType_ExternalMask' value='16'/>
<enum name='kMIDIObjectType_ExternalSource' value='18'/>
<enum name='kMIDIObjectType_Other' value='-1'/>
<enum name='kMIDIObjectType_Source' value='2'/>
<enum name='kMIDIServerStartErr' value='-10839'/>
<enum name='kMIDISetupFormatErr' value='-10840'/>
<enum name='kMIDIThruConnection_MaxEndpoints' value='8'/>
<enum name='kMIDITransform_Add' value='8'/>
<enum name='kMIDITransform_FilterOut' value='1'/>
<enum name='kMIDITransform_MapControl' value='2'/>
<enum name='kMIDITransform_MapValue' value='12'/>
<enum name='kMIDITransform_MaxValue' value='11'/>
<enum name='kMIDITransform_MinValue' value='10'/>
<enum name='kMIDITransform_None' value='0'/>
<enum name='kMIDITransform_Scale' value='9'/>
<enum name='kMIDIUnknownEndpoint' value='-10834'/>
<enum name='kMIDIUnknownProperty' value='-10835'/>
<enum name='kMIDIWrongEndpointType' value='-10832'/>
<enum name='kMIDIWrongPropertyType' value='-10836'/>
<enum name='kMIDIWrongThread' value='-10841'/>
<function name='MIDIClientCreate'>
<arg declared_type='CFStringRef' name='name' type='^{__CFString=}'/>
<arg declared_type='MIDINotifyProc' function_pointer='true' name='notifyProc' type='^?'>
<arg const='true' declared_type='MIDINotification*' type='^{MIDINotification=iI}'/>
<arg declared_type='void*' type='^v'/>
<retval declared_type='void' type='v'/>
</arg>
<arg declared_type='void*' name='notifyRefCon' type='^v'/>
<arg declared_type='MIDIClientRef*' name='outClient' type='^^{OpaqueMIDIClient}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIClientDispose'>
<arg declared_type='MIDIClientRef' name='client' type='^{OpaqueMIDIClient=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIDestinationCreate'>
<arg declared_type='MIDIClientRef' name='client' type='^{OpaqueMIDIClient=}' type64='I'/>
<arg declared_type='CFStringRef' name='name' type='^{__CFString=}'/>
<arg declared_type='MIDIReadProc' function_pointer='true' name='readProc' type='^?'>
<arg const='true' declared_type='MIDIPacketList*' type='^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}'/>
<arg declared_type='void*' type='^v'/>
<arg declared_type='void*' type='^v'/>
<retval declared_type='void' type='v'/>
</arg>
<arg declared_type='void*' name='refCon' type='^v'/>
<arg declared_type='MIDIEndpointRef*' name='outDest' type='^^{OpaqueMIDIEndpoint}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIDeviceAddEntity'>
<arg declared_type='MIDIDeviceRef' name='device' type='^{OpaqueMIDIDevice=}' type64='I'/>
<arg declared_type='CFStringRef' name='name' type='^{__CFString=}'/>
<arg declared_type='Boolean' name='embedded' type='B'/>
<arg declared_type='ItemCount' name='numSourceEndpoints' type='L' type64='Q'/>
<arg declared_type='ItemCount' name='numDestinationEndpoints' type='L' type64='Q'/>
<arg declared_type='MIDIEntityRef*' name='newEntity' type='^^{OpaqueMIDIEntity}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIDeviceCreate'>
<arg declared_type='MIDIDriverRef' name='owner' type='^^{MIDIDriverInterface}'/>
<arg declared_type='CFStringRef' name='name' type='^{__CFString=}'/>
<arg declared_type='CFStringRef' name='manufacturer' type='^{__CFString=}'/>
<arg declared_type='CFStringRef' name='model' type='^{__CFString=}'/>
<arg declared_type='MIDIDeviceRef*' name='outDevice' type='^^{OpaqueMIDIDevice}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIDeviceDispose'>
<arg declared_type='MIDIDeviceRef' name='device' type='^{OpaqueMIDIDevice=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIDeviceGetEntity'>
<arg declared_type='MIDIDeviceRef' name='device' type='^{OpaqueMIDIDevice=}' type64='I'/>
<arg declared_type='ItemCount' name='entityIndex0' type='L' type64='Q'/>
<retval declared_type='MIDIEntityRef' type='^{OpaqueMIDIEntity=}' type64='I'/>
</function>
<function name='MIDIDeviceGetNumberOfEntities'>
<arg declared_type='MIDIDeviceRef' name='device' type='^{OpaqueMIDIDevice=}' type64='I'/>
<retval declared_type='ItemCount' type='L' type64='Q'/>
</function>
<function name='MIDIDeviceListAddDevice'>
<arg declared_type='MIDIDeviceListRef' name='devList' type='^{OpaqueMIDIDeviceList=}' type64='I'/>
<arg declared_type='MIDIDeviceRef' name='dev' type='^{OpaqueMIDIDevice=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIDeviceListDispose'>
<arg declared_type='MIDIDeviceListRef' name='devList' type='^{OpaqueMIDIDeviceList=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIDeviceListGetDevice'>
<arg declared_type='MIDIDeviceListRef' name='devList' type='^{OpaqueMIDIDeviceList=}' type64='I'/>
<arg declared_type='ItemCount' name='index0' type='L' type64='Q'/>
<retval declared_type='MIDIDeviceRef' type='^{OpaqueMIDIDevice=}' type64='I'/>
</function>
<function name='MIDIDeviceListGetNumberOfDevices'>
<arg declared_type='MIDIDeviceListRef' name='devList' type='^{OpaqueMIDIDeviceList=}' type64='I'/>
<retval declared_type='ItemCount' type='L' type64='Q'/>
</function>
<function name='MIDIDeviceRemoveEntity'>
<arg declared_type='MIDIDeviceRef' name='device' type='^{OpaqueMIDIDevice=}' type64='I'/>
<arg declared_type='MIDIEntityRef' name='entity' type='^{OpaqueMIDIEntity=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIEndpointDispose'>
<arg declared_type='MIDIEndpointRef' name='endpt' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIEndpointGetEntity'>
<arg declared_type='MIDIEndpointRef' name='inEndpoint' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<arg declared_type='MIDIEntityRef*' name='outEntity' type='^^{OpaqueMIDIEntity}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIEndpointGetRefCons'>
<arg declared_type='MIDIEndpointRef' name='endpt' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<arg declared_type='void**' name='ref1' type='^^v'/>
<arg declared_type='void**' name='ref2' type='^^v'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIEndpointSetRefCons'>
<arg declared_type='MIDIEndpointRef' name='endpt' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<arg declared_type='void*' name='ref1' type='^v'/>
<arg declared_type='void*' name='ref2' type='^v'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIEntityAddOrRemoveEndpoints'>
<arg declared_type='MIDIEntityRef' name='entity' type='^{OpaqueMIDIEntity=}' type64='I'/>
<arg declared_type='ItemCount' name='numSourceEndpoints' type='L' type64='Q'/>
<arg declared_type='ItemCount' name='numDestinationEndpoints' type='L' type64='Q'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIEntityGetDestination'>
<arg declared_type='MIDIEntityRef' name='entity' type='^{OpaqueMIDIEntity=}' type64='I'/>
<arg declared_type='ItemCount' name='destIndex0' type='L' type64='Q'/>
<retval declared_type='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
</function>
<function name='MIDIEntityGetDevice'>
<arg declared_type='MIDIEntityRef' name='inEntity' type='^{OpaqueMIDIEntity=}' type64='I'/>
<arg declared_type='MIDIDeviceRef*' name='outDevice' type='^^{OpaqueMIDIDevice}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIEntityGetNumberOfDestinations'>
<arg declared_type='MIDIEntityRef' name='entity' type='^{OpaqueMIDIEntity=}' type64='I'/>
<retval declared_type='ItemCount' type='L' type64='Q'/>
</function>
<function name='MIDIEntityGetNumberOfSources'>
<arg declared_type='MIDIEntityRef' name='entity' type='^{OpaqueMIDIEntity=}' type64='I'/>
<retval declared_type='ItemCount' type='L' type64='Q'/>
</function>
<function name='MIDIEntityGetSource'>
<arg declared_type='MIDIEntityRef' name='entity' type='^{OpaqueMIDIEntity=}' type64='I'/>
<arg declared_type='ItemCount' name='sourceIndex0' type='L' type64='Q'/>
<retval declared_type='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
</function>
<function name='MIDIExternalDeviceCreate'>
<arg declared_type='CFStringRef' name='name' type='^{__CFString=}'/>
<arg declared_type='CFStringRef' name='manufacturer' type='^{__CFString=}'/>
<arg declared_type='CFStringRef' name='model' type='^{__CFString=}'/>
<arg declared_type='MIDIDeviceRef*' name='outDevice' type='^^{OpaqueMIDIDevice}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIFlushOutput'>
<arg declared_type='MIDIEndpointRef' name='dest' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIGetDestination'>
<arg declared_type='ItemCount' name='destIndex0' type='L' type64='Q'/>
<retval declared_type='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
</function>
<function name='MIDIGetDevice'>
<arg declared_type='ItemCount' name='deviceIndex0' type='L' type64='Q'/>
<retval declared_type='MIDIDeviceRef' type='^{OpaqueMIDIDevice=}' type64='I'/>
</function>
<function name='MIDIGetDriverDeviceList'>
<arg declared_type='MIDIDriverRef' name='driver' type='^^{MIDIDriverInterface}'/>
<retval declared_type='MIDIDeviceListRef' type='^{OpaqueMIDIDeviceList=}' type64='I'/>
</function>
<function name='MIDIGetDriverIORunLoop'>
<retval declared_type='CFRunLoopRef' type='^{__CFRunLoop=}'/>
</function>
<function name='MIDIGetExternalDevice'>
<arg declared_type='ItemCount' name='deviceIndex0' type='L' type64='Q'/>
<retval declared_type='MIDIDeviceRef' type='^{OpaqueMIDIDevice=}' type64='I'/>
</function>
<function name='MIDIGetNumberOfDestinations'>
<retval declared_type='ItemCount' type='L' type64='Q'/>
</function>
<function name='MIDIGetNumberOfDevices'>
<retval declared_type='ItemCount' type='L' type64='Q'/>
</function>
<function name='MIDIGetNumberOfExternalDevices'>
<retval declared_type='ItemCount' type='L' type64='Q'/>
</function>
<function name='MIDIGetNumberOfSources'>
<retval declared_type='ItemCount' type='L' type64='Q'/>
</function>
<function name='MIDIGetSource'>
<arg declared_type='ItemCount' name='sourceIndex0' type='L' type64='Q'/>
<retval declared_type='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
</function>
<function name='MIDIInputPortCreate'>
<arg declared_type='MIDIClientRef' name='client' type='^{OpaqueMIDIClient=}' type64='I'/>
<arg declared_type='CFStringRef' name='portName' type='^{__CFString=}'/>
<arg declared_type='MIDIReadProc' function_pointer='true' name='readProc' type='^?'>
<arg const='true' declared_type='MIDIPacketList*' type='^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}'/>
<arg declared_type='void*' type='^v'/>
<arg declared_type='void*' type='^v'/>
<retval declared_type='void' type='v'/>
</arg>
<arg declared_type='void*' name='refCon' type='^v'/>
<arg declared_type='MIDIPortRef*' name='outPort' type='^^{OpaqueMIDIPort}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectFindByUniqueID'>
<arg declared_type='MIDIUniqueID' name='inUniqueID' type='l' type64='i'/>
<arg declared_type='MIDIObjectRef*' name='outObject' type='^^v' type64='^I'/>
<arg declared_type='MIDIObjectType*' name='outObjectType' type='^i'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectGetDataProperty'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFStringRef' name='propertyID' type='^{__CFString=}'/>
<arg declared_type='CFDataRef*' name='outData' type='^^{__CFData}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectGetDictionaryProperty'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFStringRef' name='propertyID' type='^{__CFString=}'/>
<arg declared_type='CFDictionaryRef*' name='outDict' type='^^{__CFDictionary}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectGetIntegerProperty'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFStringRef' name='propertyID' type='^{__CFString=}'/>
<arg declared_type='SInt32*' name='outValue' type='^i'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectGetProperties'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFPropertyListRef*' name='outProperties' type='^^v'/>
<arg declared_type='Boolean' name='deep' type='B'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectGetStringProperty'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFStringRef' name='propertyID' type='^{__CFString=}'/>
<arg declared_type='CFStringRef*' name='str' type='^^{__CFString}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectRemoveProperty'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFStringRef' name='propertyID' type='^{__CFString=}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectSetDataProperty'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFStringRef' name='propertyID' type='^{__CFString=}'/>
<arg declared_type='CFDataRef' name='data' type='^{__CFData=}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectSetDictionaryProperty'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFStringRef' name='propertyID' type='^{__CFString=}'/>
<arg declared_type='CFDictionaryRef' name='data' type='^{__CFDictionary=}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectSetIntegerProperty'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFStringRef' name='propertyID' type='^{__CFString=}'/>
<arg declared_type='SInt32' name='value' type='l' type64='i'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectSetStringProperty'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFStringRef' name='propertyID' type='^{__CFString=}'/>
<arg declared_type='CFStringRef' name='str' type='^{__CFString=}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIOutputPortCreate'>
<arg declared_type='MIDIClientRef' name='client' type='^{OpaqueMIDIClient=}' type64='I'/>
<arg declared_type='CFStringRef' name='portName' type='^{__CFString=}'/>
<arg declared_type='MIDIPortRef*' name='outPort' type='^^{OpaqueMIDIPort}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIPacketListAdd'>
<arg declared_type='MIDIPacketList*' name='pktlist' type='^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}'/>
<arg declared_type='ByteCount' name='listSize' type='L' type64='Q'/>
<arg declared_type='MIDIPacket*' name='curPacket' type='^{MIDIPacket=QS[256C]}'/>
<arg declared_type='MIDITimeStamp' name='time' type='Q'/>
<arg declared_type='ByteCount' name='nData' type='L' type64='Q'/>
<arg const='true' declared_type='Byte*' name='data' type='*'/>
<retval declared_type='MIDIPacket*' type='^{MIDIPacket=QS[256C]}'/>
</function>
<function name='MIDIPacketListInit'>
<arg declared_type='MIDIPacketList*' name='pktlist' type='^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}'/>
<retval declared_type='MIDIPacket*' type='^{MIDIPacket=QS[256C]}'/>
</function>
<function name='MIDIPortConnectSource'>
<arg declared_type='MIDIPortRef' name='port' type='^{OpaqueMIDIPort=}' type64='I'/>
<arg declared_type='MIDIEndpointRef' name='source' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<arg declared_type='void*' name='connRefCon' type='^v'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIPortDisconnectSource'>
<arg declared_type='MIDIPortRef' name='port' type='^{OpaqueMIDIPort=}' type64='I'/>
<arg declared_type='MIDIEndpointRef' name='source' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIPortDispose'>
<arg declared_type='MIDIPortRef' name='port' type='^{OpaqueMIDIPort=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIReceived'>
<arg declared_type='MIDIEndpointRef' name='src' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<arg const='true' declared_type='MIDIPacketList*' name='pktlist' type='^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIRestart'>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDISend'>
<arg declared_type='MIDIPortRef' name='port' type='^{OpaqueMIDIPort=}' type64='I'/>
<arg declared_type='MIDIEndpointRef' name='dest' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<arg const='true' declared_type='MIDIPacketList*' name='pktlist' type='^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDISendSysex'>
<arg declared_type='MIDISysexSendRequest*' name='request' type='^{MIDISysexSendRequest=^{OpaqueMIDIEndpoint}*IB[3C]^?^v}' type64='^{MIDISysexSendRequest=I*IB[3C]^?^v}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDISetupAddDevice'>
<arg declared_type='MIDIDeviceRef' name='device' type='^{OpaqueMIDIDevice=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDISetupAddExternalDevice'>
<arg declared_type='MIDIDeviceRef' name='device' type='^{OpaqueMIDIDevice=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDISetupRemoveDevice'>
<arg declared_type='MIDIDeviceRef' name='device' type='^{OpaqueMIDIDevice=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDISetupRemoveExternalDevice'>
<arg declared_type='MIDIDeviceRef' name='device' type='^{OpaqueMIDIDevice=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDISourceCreate'>
<arg declared_type='MIDIClientRef' name='client' type='^{OpaqueMIDIClient=}' type64='I'/>
<arg declared_type='CFStringRef' name='name' type='^{__CFString=}'/>
<arg declared_type='MIDIEndpointRef*' name='outSrc' type='^^{OpaqueMIDIEndpoint}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIThruConnectionCreate'>
<arg declared_type='CFStringRef' name='inPersistentOwnerID' type='^{__CFString=}'/>
<arg declared_type='CFDataRef' name='inConnectionParams' type='^{__CFData=}'/>
<arg declared_type='MIDIThruConnectionRef*' name='outConnection' type='^^{OpaqueMIDIThruConnection}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIThruConnectionDispose'>
<arg declared_type='MIDIThruConnectionRef' name='connection' type='^{OpaqueMIDIThruConnection=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIThruConnectionFind'>
<arg declared_type='CFStringRef' name='inPersistentOwnerID' type='^{__CFString=}'/>
<arg declared_type='CFDataRef*' name='outConnectionList' type='^^{__CFData}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIThruConnectionGetParams'>
<arg declared_type='MIDIThruConnectionRef' name='connection' type='^{OpaqueMIDIThruConnection=}' type64='I'/>
<arg declared_type='CFDataRef*' name='outConnectionParams' type='^^{__CFData}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIThruConnectionParamsInitialize'>
<arg declared_type='MIDIThruConnectionParams*' name='inConnectionParams' type='^{MIDIThruConnectionParams=II[8{MIDIThruConnectionEndpoint=^{OpaqueMIDIEndpoint}i}]I[8{MIDIThruConnectionEndpoint=^{OpaqueMIDIEndpoint}i}][16C]CCCC{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}CCCC[3C]CSS[4S]}' type64='^{MIDIThruConnectionParams=II[8{MIDIThruConnectionEndpoint=Ii}]I[8{MIDIThruConnectionEndpoint=Ii}][16C]CCCC{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}CCCC[3C]CSS[4S]}'/>
<retval declared_type='void' type='v'/>
</function>
<function name='MIDIThruConnectionSetParams'>
<arg declared_type='MIDIThruConnectionRef' name='connection' type='^{OpaqueMIDIThruConnection=}' type64='I'/>
<arg declared_type='CFDataRef' name='inConnectionParams' type='^{__CFData=}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<class name='MIDINetworkConnection'>
<method class_method='true' selector='connectionWithHost:'>
<arg declared_type='MIDINetworkHost*' index='0' name='host' type='@'/>
<retval declared_type='id' type='@'/>
</method>
<method selector='host'>
<retval declared_type='MIDINetworkHost*' type='@'/>
</method>
</class>
<class name='MIDINetworkHost'>
<method selector='address'>
<retval declared_type='NSString*' type='@'/>
</method>
<method selector='hasSameAddressAs:'>
<arg declared_type='MIDINetworkHost*' index='0' name='other' type='@'/>
<retval declared_type='BOOL' type='B'/>
</method>
<method class_method='true' selector='hostWithName:address:port:'>
<arg declared_type='NSString*' index='0' name='name' type='@'/>
<arg declared_type='NSString*' index='1' name='address' type='@'/>
<arg declared_type='NSUInteger' index='2' name='port' type='I' type64='Q'/>
<retval declared_type='id' type='@'/>
</method>
<method class_method='true' selector='hostWithName:netService:'>
<arg declared_type='NSString*' index='0' name='name' type='@'/>
<arg declared_type='NSNetService*' index='1' name='netService' type='@'/>
<retval declared_type='id' type='@'/>
</method>
<method class_method='true' selector='hostWithName:netServiceName:netServiceDomain:'>
<arg declared_type='NSString*' index='0' name='name' type='@'/>
<arg declared_type='NSString*' index='1' name='netServiceName' type='@'/>
<arg declared_type='NSString*' index='2' name='netServiceDomain' type='@'/>
<retval declared_type='id' type='@'/>
</method>
<method selector='name'>
<retval declared_type='NSString*' type='@'/>
</method>
<method selector='netServiceDomain'>
<retval declared_type='NSString*' type='@'/>
</method>
<method selector='netServiceName'>
<retval declared_type='NSString*' type='@'/>
</method>
<method selector='port'>
<retval declared_type='NSUInteger' type='I' type64='Q'/>
</method>
</class>
<class name='MIDINetworkSession'>
<method selector='addConnection:'>
<arg declared_type='MIDINetworkConnection*' index='0' name='connection' type='@'/>
<retval declared_type='BOOL' type='B'/>
</method>
<method selector='addContact:'>
<arg declared_type='MIDINetworkHost*' index='0' name='contact' type='@'/>
<retval declared_type='BOOL' type='B'/>
</method>
<method selector='connectionPolicy'>
<retval declared_type='MIDINetworkConnectionPolicy' type='I' type64='Q'/>
</method>
<method selector='connections'>
<retval declared_type='NSSet*' type='@'/>
</method>
<method selector='contacts'>
<retval declared_type='NSSet*' type='@'/>
</method>
<method class_method='true' selector='defaultSession'>
<retval declared_type='MIDINetworkSession*' type='@'/>
</method>
<method selector='destinationEndpoint'>
<retval declared_type='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
</method>
<method selector='isEnabled'>
<retval declared_type='BOOL' type='B'/>
</method>
<method selector='localName'>
<retval declared_type='NSString*' type='@'/>
</method>
<method selector='networkName'>
<retval declared_type='NSString*' type='@'/>
</method>
<method selector='networkPort'>
<retval declared_type='NSUInteger' type='I' type64='Q'/>
</method>
<method selector='removeConnection:'>
<arg declared_type='MIDINetworkConnection*' index='0' name='connection' type='@'/>
<retval declared_type='BOOL' type='B'/>
</method>
<method selector='removeContact:'>
<arg declared_type='MIDINetworkHost*' index='0' name='contact' type='@'/>
<retval declared_type='BOOL' type='B'/>
</method>
<method selector='setConnectionPolicy:'>
<arg declared_type='MIDINetworkConnectionPolicy' index='0' name='connectionPolicy' type='I' type64='Q'/>
<retval declared_type='void' type='v'/>
</method>
<method selector='setEnabled:'>
<arg declared_type='BOOL' index='0' name='enabled' type='B'/>
<retval declared_type='void' type='v'/>
</method>
<method selector='sourceEndpoint'>
<retval declared_type='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
</method>
</class>
<opaque name='MIDIClientRef' type='^{OpaqueMIDIClient=}' type64='I'/>
<opaque name='MIDIDeviceListRef' type='^{OpaqueMIDIDeviceList=}' type64='I'/>
<opaque name='MIDIDeviceRef' type='^{OpaqueMIDIDevice=}' type64='I'/>
<opaque name='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<opaque name='MIDIEntityRef' type='^{OpaqueMIDIEntity=}' type64='I'/>
<opaque name='MIDIObjectRef' type='^v' type64='I'/>
<opaque name='MIDIPortRef' type='^{OpaqueMIDIPort=}' type64='I'/>
<opaque name='MIDISetupRef' type='^{OpaqueMIDISetup=}' type64='I'/>
<opaque name='MIDIThruConnectionRef' type='^{OpaqueMIDIThruConnection=}' type64='I'/>
</signatures>