williamr@2: // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // williamr@2: williamr@2: williamr@2: williamr@2: /** williamr@2: @file williamr@2: @publishedPartner williamr@2: @released williamr@2: */ williamr@2: williamr@2: #ifndef HCIOPCODES_H williamr@2: #define HCIOPCODES_H williamr@2: williamr@2: #include williamr@2: williamr@2: /** Definition of the THCIOpcode type */ williamr@2: typedef TUint16 THCIOpcode; williamr@2: williamr@2: // HCI Command opcodes are built up as follows: williamr@2: // williamr@2: // lower 10 bit OCF | upper 6 bit OGF williamr@2: // williamr@2: // The OGF distinguishes the command subgroup and the OCF williamr@2: // determines the command within the subgroup. Here williamr@2: // individual opcodes are constructed by shifting the OGF williamr@2: // up by 10 and or'ing with the command OCF. williamr@2: williamr@2: // ************* HCI Command Opcodes *********************** williamr@2: const THCIOpcode KOGFMask =0xFC00; /*!< Opcode Group Field Mask of the top six bits of opcode */ williamr@2: williamr@2: // NOP No OPeration opcode. williamr@2: const THCIOpcode KNopOpcode =0x0000; /*!< No Operation Opcode */ williamr@2: williamr@2: // SUBGROUP 0x01 - LINK CONTROL williamr@2: const THCIOpcode KLinkControlOGF =0x0001<<10; /*!< Link Control Opcode Group Field */ williamr@2: const THCIOpcode KInquiryOpcode =0x0001|KLinkControlOGF; /*!< Inquiry Opcode */ williamr@2: const THCIOpcode KInquiryCancelOpcode =0x0002|KLinkControlOGF; /*!< InquiryCancel Opcode*/ williamr@2: const THCIOpcode KPeriodicInquiryModeOpcode =0x0003|KLinkControlOGF; /*!< Periodic Inquiry Mode Opcode */ williamr@2: const THCIOpcode KExitPeriodicInquiryModeOpcode =0x0004|KLinkControlOGF; /*!< Exit Periodic Inquiry Mode Opcode */ williamr@2: const THCIOpcode KCreateACLConnectionOpcode =0x0005|KLinkControlOGF; /*!< Create ACL Connection Opcode */ williamr@2: const THCIOpcode KDisconnectOpcode =0x0006|KLinkControlOGF; /*!< Disconnect Opcode */ williamr@2: const THCIOpcode KAddSCOConnectionOpcode =0x0007|KLinkControlOGF; /*!< Add SCO Connection Opcode */ williamr@2: const THCIOpcode KCreateConnectionCancelOpcode =0x0008|KLinkControlOGF; /*!< Create Connection Cancel Opcode */ williamr@2: const THCIOpcode KAcceptConnectionRequestOpcode =0x0009|KLinkControlOGF; /*!< Accept Connection Request Opcode */ williamr@2: const THCIOpcode KRejectConnectionRequestOpcode =0x000a|KLinkControlOGF; /*!< Reject Connection Request Opcode */ williamr@2: const THCIOpcode KLinkKeyRequestReplyOpcode =0x000b|KLinkControlOGF; /*!< Link Key Request Reply Opcode */ williamr@2: const THCIOpcode KLinkKeyRequestReplyNegativeOpcode =0x000c|KLinkControlOGF; /*!< Link Key Request Reply Negative Opcode */ williamr@2: const THCIOpcode KPINCodeRequestReplyOpcode =0x000d|KLinkControlOGF; /*!< PIN Request Reply Opcode */ williamr@2: const THCIOpcode KPINCodeRequestReplyNegativeOpcode =0x000e|KLinkControlOGF; /*!< PIN Request Reply Negative Opcode */ williamr@2: const THCIOpcode KChangeConnectionPacketTypeOpcode =0x000f|KLinkControlOGF; /*!< Change Connection Packet Type Opcode */ williamr@2: const THCIOpcode KAuthenticationRequestedOpcode =0x0011|KLinkControlOGF; /*!< Authentication Requested Opcode */ williamr@2: const THCIOpcode KSetConnectionEncryptionOpcode =0x0013|KLinkControlOGF; /*!< Set Connection Encryption Opcode */ williamr@2: const THCIOpcode KChangeLinkKeyOpcode =0x0015|KLinkControlOGF; /*!< Change Link Key Opcode */ williamr@2: const THCIOpcode KMasterLinkKeyOpcode =0x0017|KLinkControlOGF; /*!< Master Link Key Opcode */ williamr@2: const THCIOpcode KRemoteNameRequestOpcode =0x0019|KLinkControlOGF; /*!< Remote Name Request Opcode */ williamr@2: const THCIOpcode KRemoteNameRequestCancelOpcode =0x001a|KLinkControlOGF; /*!< Remote Name Request Cancel Opcode */ williamr@2: const THCIOpcode KReadRemoteSupportedFeaturesOpcode =0x001b|KLinkControlOGF; /*!< Read Remote Supported Features Opcode */ williamr@2: const THCIOpcode KReadRemoteExtendedFeaturesOpcode =0x001c|KLinkControlOGF; /*!< Read Remote Extended Features Opcode */ williamr@2: const THCIOpcode KReadRemoteVersionInfoOpcode =0x001d|KLinkControlOGF; /*!< Read Remote Version Info Opcode */ williamr@2: const THCIOpcode KReadClockOffsetOpcode =0x001f|KLinkControlOGF; /*!< Read Clock Offset Opcode */ williamr@2: const THCIOpcode KReadLMPHandleOpcode =0x0020|KLinkControlOGF; /*!< Read LMP Handle Opcode */ williamr@2: const THCIOpcode KSetupSynchronousConnectionOpcode =0x0028|KLinkControlOGF; /*!< Read Clock Offset Opcode */ williamr@2: const THCIOpcode KAcceptSynchronousConnectionRequestOpcode =0x0029|KLinkControlOGF; /*!< Accept Synchronous Connection Request Opcode */ williamr@2: const THCIOpcode KRejectSynchronousConnectionRequestOpcode =0x002A|KLinkControlOGF; /*!< Reject Synchronous Connection Request Opcode */ williamr@2: const THCIOpcode KIOCapabilityRequestReplyOpcode =0x002B|KLinkControlOGF; /*!< IO Capability Request Reply Opcode */ williamr@2: const THCIOpcode KUserConfirmationRequestReplyOpcode =0x002C|KLinkControlOGF; /*!< User Confirmation Request Reply Opcode */ williamr@2: const THCIOpcode KUserConfirmationRequestNegativeReplyOpcode =0x002D|KLinkControlOGF; /*!< User Confirmation Request Negative Reply Opcode */ williamr@2: const THCIOpcode KUserPasskeyRequestReplyOpcode =0x002E|KLinkControlOGF; /*!< User Passkey Request Reply Opcode */ williamr@2: const THCIOpcode KUserPasskeyRequestNegativeReplyOpcode =0x002F|KLinkControlOGF; /*!< User Passkey Request Negative Reply Opcode */ williamr@2: const THCIOpcode KRemoteOOBDataRequestReplyOpcode =0x0030|KLinkControlOGF; /*!< Remote OOB Data Request Reply Opcode */ williamr@2: const THCIOpcode KRemoteOOBDataRequestNegativeReplyOpcode =0x0033|KLinkControlOGF; /*!< Remote OOB Data Request Negative Reply Opcode */ williamr@2: const THCIOpcode KIOCapabilityRequestNegativeReplyOpcode =0x0034|KLinkControlOGF; /*!< IO Capability Request Negative Reply Opcode */ williamr@2: williamr@2: // SUBGROUP 0x02 - LINK POLICY williamr@2: const THCIOpcode KLinkPolicyOGF =0x0002<<10; /*!< Link Policy Opcode Group Field */ williamr@2: const THCIOpcode KHoldModeOpcode =0x0001|KLinkPolicyOGF; /*!< Hold Mode Opcode */ williamr@2: const THCIOpcode KSniffModeOpcode =0x0003|KLinkPolicyOGF; /*!< Sniff Mode Opcode */ williamr@2: const THCIOpcode KExitSniffModeOpcode =0x0004|KLinkPolicyOGF; /*!< Exit Sniff Mode Opcode */ williamr@2: const THCIOpcode KParkModeOpcode =0x0005|KLinkPolicyOGF; /*!< Park Mode Opcode */ williamr@2: const THCIOpcode KExitParkModeOpcode =0x0006|KLinkPolicyOGF; /*!< Exit Park Mode Opcode */ williamr@2: const THCIOpcode KQOSSetupOpcode =0x0007|KLinkPolicyOGF; /*!< QOS Setup Opcode */ williamr@2: const THCIOpcode KRoleDiscoveryOpcode =0x0009|KLinkPolicyOGF; /*!< Role Discovery Opcode */ williamr@2: const THCIOpcode KSwitchRoleOpcode =0x000b|KLinkPolicyOGF; /*!< Switch Role Opcode */ williamr@2: const THCIOpcode KReadLinkPolicySettingsOpcode =0x000c|KLinkPolicyOGF; /*!< Read Link Policy Settings Opcode */ williamr@2: const THCIOpcode KWriteLinkPolicySettingsOpcode =0x000d|KLinkPolicyOGF; /*!< Write Link Policy Settings Opcode */ williamr@2: const THCIOpcode KReadDefaultLinkPolicySettingsOpcode =0x000e|KLinkPolicyOGF; /*!< Read Default Link Policy Settings Opcode */ williamr@2: const THCIOpcode KWriteDefaultLinkPolicySettingsOpcode =0x000f|KLinkPolicyOGF; /*!< Write Default Link Policy Settings Opcode */ williamr@2: const THCIOpcode KFlowSpecificationOpcode =0x0010|KLinkPolicyOGF; /*!< Flow Specification Opcode */ williamr@2: const THCIOpcode KSniffSubratingOpcode =0x0011|KLinkPolicyOGF; /*!< Sniff Subrating Opcode */ williamr@2: williamr@2: // SUBGROUP 0x03 - HOST CONTROLLER AND BASEBAND williamr@2: const THCIOpcode KHCBasebandOGF =0x0003<<10; /*!< HC Baseband Opcode Group Field */ williamr@2: const THCIOpcode KSetEventMaskOpcode =0x0001|KHCBasebandOGF; /*!< Set Event Mask Opcode */ williamr@2: const THCIOpcode KResetOpcode =0x0003|KHCBasebandOGF; /*!< Reset Opcode */ williamr@2: const THCIOpcode KSetEventFilterOpcode =0x0005|KHCBasebandOGF; /*!< Set Event Filter Opcode */ williamr@2: const THCIOpcode KFlushOpcode =0x0008|KHCBasebandOGF; /*!< Flush Opcode */ williamr@2: const THCIOpcode KReadPINTypeOpcode =0x0009|KHCBasebandOGF; /*!< Read PIN Type Opcode */ williamr@2: const THCIOpcode KWritePINTypeOpcode =0x000a|KHCBasebandOGF; /*!< Write PIN Type Opcode */ williamr@2: const THCIOpcode KCreateNewUnitKeyOpcode =0x000b|KHCBasebandOGF; /*!< Create New Unit Key Opcode */ williamr@2: const THCIOpcode KReadStoredLinkKeyOpcode =0x000d|KHCBasebandOGF; /*!< Read Stored Link Key Opcode */ williamr@2: const THCIOpcode KWriteStoredLinkKeyOpcode =0x0011|KHCBasebandOGF; /*!< Write Stored Link Key Opcode */ williamr@2: const THCIOpcode KDeleteStoredLinkKeyOpcode =0x0012|KHCBasebandOGF; /*!< Delete Stored Link Key Opcode */ williamr@2: const THCIOpcode KWriteLocalNameOpcode =0x0013|KHCBasebandOGF; /*!< Write Local Name Opcode */ williamr@2: const THCIOpcode KReadLocalNameOpcode =0x0014|KHCBasebandOGF; /*!< Read Local Name Opcode */ williamr@2: const THCIOpcode KReadConnectionAcceptTimeoutOpcode =0x0015|KHCBasebandOGF; /*!< Read Connection Accept Timeout Opcode */ williamr@2: const THCIOpcode KWriteConnectionAcceptTimeoutOpcode =0x0016|KHCBasebandOGF; /*!< Write Connection Accept Timeout Opcode */ williamr@2: const THCIOpcode KReadPageTimeoutOpcode =0x0017|KHCBasebandOGF; /*!< Read Page Timeout Opcode */ williamr@2: const THCIOpcode KWritePageTimeoutOpcode =0x0018|KHCBasebandOGF; /*!< Write Page Timeout Opcode */ williamr@2: const THCIOpcode KReadScanEnableOpcode =0x0019|KHCBasebandOGF; /*!< Read Scan Enable Opcode */ williamr@2: const THCIOpcode KWriteScanEnableOpcode =0x001a|KHCBasebandOGF; /*!< Write Scan Enable Opcode */ williamr@2: const THCIOpcode KReadPageScanActivityOpcode =0x001b|KHCBasebandOGF; /*!< Read Page Scan Activity Opcode */ williamr@2: const THCIOpcode KWritePageScanActivityOpcode =0x001c|KHCBasebandOGF; /*!< Write Page Scan Activity Opcode */ williamr@2: const THCIOpcode KReadInquiryScanActivityOpcode =0x001d|KHCBasebandOGF; /*!< Read Inquiry Scan Activity Opcode */ williamr@2: const THCIOpcode KWriteInquiryScanActivityOpcode =0x001e|KHCBasebandOGF; /*!< Write Inquiry Scan Activity Opcode */ williamr@2: const THCIOpcode KReadAuthenticationEnableOpcode =0x001f|KHCBasebandOGF; /*!< Read Authentication Enable Opcode */ williamr@2: const THCIOpcode KWriteAuthenticationEnableOpcode =0x0020|KHCBasebandOGF; /*!< Write Authentication Enable Opcode */ williamr@2: const THCIOpcode KReadEncryptionModeOpcode =0x0021|KHCBasebandOGF; /*!< Read Encryption Mode Opcode */ williamr@2: const THCIOpcode KWriteEncryptionModeOpcode =0x0022|KHCBasebandOGF; /*!< Write Encryption Mode Opcode */ williamr@2: const THCIOpcode KReadClassOfDeviceOpcode =0x0023|KHCBasebandOGF; /*!< Read Class Of Device Opcode */ williamr@2: const THCIOpcode KWriteClassOfDeviceOpcode =0x0024|KHCBasebandOGF; /*!< Write Class Of Device Opcode */ williamr@2: const THCIOpcode KReadVoiceSettingOpcode =0x0025|KHCBasebandOGF; /*!< Read Voice Setting Opcode */ williamr@2: const THCIOpcode KWriteVoiceSettingOpcode =0x0026|KHCBasebandOGF; /*!< Write Voice Setting Opcode */ williamr@2: const THCIOpcode KReadAutomaticFlushTimeoutOpcode =0x0027|KHCBasebandOGF; /*!< Read Automatic Flush Timeout Opcode */ williamr@2: const THCIOpcode KWriteAutomaticFlushTimeoutOpcode =0x0028|KHCBasebandOGF; /*!< Write Automatic Flush Timeout Opcode */ williamr@2: const THCIOpcode KReadNumBroadcastRetransmissionsOpcode =0x0029|KHCBasebandOGF; /*!< Read Num Broadcast Retransmissions Opcode */ williamr@2: const THCIOpcode KWriteNumBroadcastRetransmissionsOpcode =0x002A|KHCBasebandOGF; /*!< Write Num Broadcast Retransmissions Opcode */ williamr@2: const THCIOpcode KReadHoldModeActivityOpcode =0x002B|KHCBasebandOGF; /*!< Read Hold Mode Activity Opcode */ williamr@2: const THCIOpcode KWriteHoldModeActivityOpcode =0x002C|KHCBasebandOGF; /*!< Write Hold Mode Activity Opcode */ williamr@2: const THCIOpcode KReadTransmitPowerLevelOpcode =0x002D|KHCBasebandOGF; /*!< Read Transmit Power Level Opcode */ williamr@2: const THCIOpcode KReadSynchronousFlowControlEnableOpcode =0x002E|KHCBasebandOGF; /*!< Read SCO Flow Control Enable Opcode */ williamr@2: const THCIOpcode KWriteSynchronousFlowControlEnableOpcode =0x002F|KHCBasebandOGF; /*!< Write SCO Flow Control Enable Opcode */ williamr@2: const THCIOpcode KSetControllerToHostFlowControlOpcode =0x0031|KHCBasebandOGF; /*!< Set Controller To Host Flow Control Opcode */ williamr@2: const THCIOpcode KHostBufferSizeOpcode =0x0033|KHCBasebandOGF; /*!< Host Buffer Size Opcode */ williamr@2: const THCIOpcode KHostNumberOfCompletedPacketsOpcode =0x0035|KHCBasebandOGF; /*!< Host Number Of Completed Packets Opcode */ williamr@2: const THCIOpcode KReadLinkSupervisionTimeoutOpcode =0x0036|KHCBasebandOGF; /*!< Read Link Supervision Timeout Opcode */ williamr@2: const THCIOpcode KWriteLinkSupervisionTimeoutOpcode =0x0037|KHCBasebandOGF; /*!< Write Link Supervision Timeout Opcode */ williamr@2: const THCIOpcode KReadNumberOfSupportedIACOpcode =0x0038|KHCBasebandOGF; /*!< Read Number Of Supported Inquiry Access Code Opcode */ williamr@2: const THCIOpcode KReadCurrentIACLAPOpcode =0x0039|KHCBasebandOGF; /*!< Read Current Inquiry Access Code Lower Address Part Opcode */ williamr@2: const THCIOpcode KWriteCurrentIACLAPOpcode =0x003A|KHCBasebandOGF; /*!< Write Current Inquiry Access Code Lower Address Part Opcode */ williamr@2: const THCIOpcode KReadPageScanPeriodOpcode =0x003B|KHCBasebandOGF; /*!< Read Page Scan Period Opcode */ williamr@2: const THCIOpcode KWritePageScanPeriodOpcode =0x003C|KHCBasebandOGF; /*!< Write Page Scan Period Opcode */ williamr@2: const THCIOpcode KReadPageScanOpcode =0x003D|KHCBasebandOGF; /*!< Read Page Scan Opcode */ williamr@2: const THCIOpcode KWritePageScanOpcode =0x003E|KHCBasebandOGF; /*!< Write Page Scan Opcode */ williamr@2: const THCIOpcode KSetAFHHostChannelClassificationOpcode =0x003F|KHCBasebandOGF; /*!< AFH Host Channel Classification Opcode */ williamr@2: const THCIOpcode KReadInquiryScanTypeOpcode =0x0042|KHCBasebandOGF; /*!< Read Inquiry Scan Type Opcode */ williamr@2: const THCIOpcode KWriteInquiryScanTypeOpcode =0x0043|KHCBasebandOGF; /*!< Write Inquiry Scan Type Opcode */ williamr@2: const THCIOpcode KReadInquiryModeOpcode =0x0044|KHCBasebandOGF; /*!< Read Inquiry Mode Opcode */ williamr@2: const THCIOpcode KWriteInquiryModeOpcode =0x0045|KHCBasebandOGF; /*!< Write Inquiry Mode Opcode */ williamr@2: const THCIOpcode KReadPageScanTypeOpcode =0x0046|KHCBasebandOGF; /*!< Read Page Scan Type Opcode */ williamr@2: const THCIOpcode KWritePageScanTypeOpcode =0x0047|KHCBasebandOGF; /*!< Read Page Scan Type Opcode */ williamr@2: const THCIOpcode KReadAFHChannelAssessmentModeOpcode =0x0048|KHCBasebandOGF; /*!< Read AFH Channel Assessment Mode Scan Opcode */ williamr@2: const THCIOpcode KWriteAFHChannelAssessmentModeOpcode =0x0049|KHCBasebandOGF; /*!< Write AFH Channel Assessment Mode Scan Opcode */ williamr@2: const THCIOpcode KReadExtendedInquiryResponseOpcode =0x0051|KHCBasebandOGF; /*!< Read Extended Inquiry Response Opcode */ williamr@2: const THCIOpcode KWriteExtendedInquiryResponseOpcode =0x0052|KHCBasebandOGF; /*!< Write Extended Inquiry Response Opcode */ williamr@2: const THCIOpcode KRefreshEncryptionKeyOpcode =0x0053|KHCBasebandOGF; /*!< Refresh Encryption Key Opcode */ williamr@2: const THCIOpcode KReadSimplePairingModeOpcode =0x0055|KHCBasebandOGF; /*!< Read Simple Pairing Mode Opcode */ williamr@2: const THCIOpcode KWriteSimplePairingModeOpcode =0x0056|KHCBasebandOGF; /*!< Write Simple Pairing Mode Opcode */ williamr@2: const THCIOpcode KReadLocalOOBDataOpcode =0x0057|KHCBasebandOGF; /*!< Read Local OOB Data Opcode */ williamr@2: const THCIOpcode KReadInquiryResponseTransmitPowerLevelOpcode =0x0058|KHCBasebandOGF; /*!< Read Inquiry Response Transmit Power Level Opcode */ williamr@2: const THCIOpcode KWriteInquiryResponseTransmitPowerLevelOpcode =0x0059|KHCBasebandOGF; /*!< Write Inquiry Response Transmit Power Level Opcode */ williamr@2: const THCIOpcode KSendKeypressNotificationOpcode =0x0060|KHCBasebandOGF; /*!< Send Keypress Notification Opcode */ williamr@2: const THCIOpcode KReadDefaultErroneousDataReportingOpcode =0x005A|KHCBasebandOGF; /*!< Read Default Erroneous Data Reporting Opcode */ williamr@2: const THCIOpcode KWriteDefaultErroneousDataReportingOpcode =0x005B|KHCBasebandOGF; /*!< Write Default Erroneous Data Reporting Opcode */ williamr@2: const THCIOpcode KEnhancedFlushOpcode =0x005F|KHCBasebandOGF; /*!< Enhanced Flush Opcode */ williamr@2: williamr@2: // SUBGROUP 0x04 - INFORMATIONAL williamr@2: const THCIOpcode KInfoOGF =0x0004<<10; /*!< Info Opcode Group Field */ williamr@2: const THCIOpcode KReadLocalVersionInfoOpcode =0x0001|KInfoOGF; /*!< Read Local Version Info Opcode */ williamr@2: const THCIOpcode KReadLocalSupportedCommandsOpcode =0x0002|KInfoOGF; /*!< Read Local Supported Commands Opcode */ williamr@2: const THCIOpcode KReadLocalSupportedFeaturesOpcode =0x0003|KInfoOGF; /*!< Read Local Supported Features Opcode */ williamr@2: const THCIOpcode KReadLocalExtendedFeaturesOpcode =0x0004|KInfoOGF; /*!< Read Local Extended Features Opcode */ williamr@2: const THCIOpcode KReadBufferSizeOpcode =0x0005|KInfoOGF; /*!< Read Buffer Size Opcode */ williamr@2: const THCIOpcode KReadCountryCodeOpcode =0x0007|KInfoOGF; /*!< Read Country Code Opcode */ williamr@2: const THCIOpcode KReadBdaddrOpcode =0x0009|KInfoOGF; /*!< Read Bdaddr Opcode */ williamr@2: williamr@2: // SUBGROUP 0x05 - STATUS williamr@2: const THCIOpcode KStatusOGF =0x0005<<10; /*!< Status Opcode Group Field */ williamr@2: const THCIOpcode KReadFailedContactCounterOpcode =0x0001|KStatusOGF; /*!< Read Failed Contact Counter Opcode */ williamr@2: const THCIOpcode KResetFailedContactCounterOpcode =0x0002|KStatusOGF; /*!< Reset Failed Contact Counter Opcode */ williamr@2: const THCIOpcode KReadLinkQualityOpcode =0x0003|KStatusOGF; /*!< Read Link Quality Opcode */ williamr@2: const THCIOpcode KReadRSSIOpcode =0x0005|KStatusOGF; /*!< Read RSSI Opcode */ williamr@2: const THCIOpcode KReadAFHChannelMapOpcode =0x0006|KStatusOGF; /*!< Read AFH Channel Map Opcode */ williamr@2: const THCIOpcode KReadClockOpcode =0x0007|KStatusOGF; /*!< Read Clock Opcode */ williamr@2: williamr@2: // SUBGROUP 0x06 - TESTING williamr@2: const THCIOpcode KTestingOGF =0x0006<<10; /*!< Testing Opcode Group Field */ williamr@2: const THCIOpcode KReadLoopbackModeOpcode =0x0001|KTestingOGF; /*!< Read Loopback Mode Opcode */ williamr@2: const THCIOpcode KWriteLoopbackModeOpcode =0x0002|KTestingOGF; /*!< Write Loopback Mode Opcode */ williamr@2: const THCIOpcode KEnableDeviceUnderTestModeOpcode =0x0003|KTestingOGF; /*!< Enable Device Under Test Mode Opcode */ williamr@2: const THCIOpcode KWriteSimplePairingDebugModeOpcode =0x0004|KTestingOGF; /*!< Write Simple Pairing Debug Mode Opcode */ williamr@2: williamr@2: // SUBGROUP 0x3F - Vendor Specific Commands williamr@2: const THCIOpcode KVendorDebugOGF =0x003f<<10; /*!< VendorDebug Opcode Group Field */ williamr@2: const THCIOpcode KSomeVendorSpecificCommand =0x0001|KVendorDebugOGF; /*!< Deprecated: an example of a Vendor Specific Command. Usage of this definition is deprecated */ williamr@2: williamr@2: // To maintain backwards compatibility for HCI v1 williamr@2: const THCIOpcode KChangeLocalNameOpcode = KWriteLocalNameOpcode; williamr@2: const THCIOpcode KSetHostControllerToHostFlowOpcode = KSetControllerToHostFlowControlOpcode; williamr@2: const THCIOpcode KAcceptSynchronousConnectionOpcode = KAcceptSynchronousConnectionRequestOpcode; williamr@2: const THCIOpcode KReadSCOFlowControlEnableOpcode = KReadSynchronousFlowControlEnableOpcode; williamr@2: const THCIOpcode KChangeMasterLinkKeyOpcode = KMasterLinkKeyOpcode; williamr@2: const THCIOpcode KWriteSCOFlowControlEnableOpcode = KWriteSynchronousFlowControlEnableOpcode; williamr@2: const THCIOpcode KGetLinkQualityOpcode = KReadLinkQualityOpcode; williamr@2: const THCIOpcode KRejectSynchronousConnectionOpcode = KRejectSynchronousConnectionRequestOpcode; williamr@2: williamr@2: #endif // HCIOPCODES_H