<?xml version="1.0" encoding="ISO8859-1"?>
<!-- ***************************************************************************
 @file  Tester_HCILib.xml

 @brief This XML file is the data base used by the TI HCI Tester tool. It
        contains all the packet definitions, classic Bluetooth HCI commands,
        Bluetooth Low Energy (BLE) HCI commands, and TI vendor specific
        commands, as well as all related events, used by the TI CC26xx BLE
        device.

        All Bluetooth and BLE commands are based on:
        Bluetooth Core Specification, V4.0.0, Vol. 2.

 Group: WCS, BTS
 $Target Device: DEVICES $

 ******************************************************************************
 $License: TISD 2009 $
 ******************************************************************************
 $Release Name: PACKAGE NAME $
 $Release Date: PACKAGE RELEASE DATE $
**************************************************************************** -->
<HCILib xmlns="url:http://www.ti.com/ww/en/analog/bluetooth/index.htm?DCMP=BluetoothLowEnergy">
  <Version>
    <Platform>TI LPRF BLE</Platform>
    <SoftwareMajor>0</SoftwareMajor>
    <SoftwareMinor>9</SoftwareMinor>

    <MinTesterVerMajor>0</MinTesterVerMajor>
    <MinTesterVerMinor>9</MinTesterVerMinor>
    <MinTesterVerSub>0</MinTesterVerSub>
  </Version>

  <!-- Types of command                 -->
  <!-- ================                 -->
  <!--                                  -->
  <!-- "gb" = Group Begin               -->
  <!-- "sc" = Spec Command              -->
  <!-- "se" = Spec Event                -->
  <!-- "vc" = Vendor Specific Command   -->
  <!-- "ve" = Vendor Specific Event     -->
  <!-- "llc"= HCILL Command             -->
  <!-- "lle"= HCILL Event               -->
  <!-- "dc" = DOT Command               -->
  <!-- "de" = DOT Event                 -->
  <!-- "nc" = Negotiate Command         -->
  <!-- "ne" = Negotiate Event           -->
  <!-- "ac" = Alive Command             -->
  <!-- "ae" = Alive Event               -->
  <!-- "cc" = Custom Command            -->
  <!--                                  -->

  <!-- Properties of command -->
  <!-- ===================== -->
  <!--                       -->
  <!-- "h" = Hidden command  -->

  <!-- Types of parameter                                                               -->
  <!-- ==================                                                               -->
  <!--                                                                                  -->
  <!-- "u" = Unsigned Number (replaces "1".."4")  E.g. 0x002F01                         -->
  <!-- "d" = Signed Number (two's complement)     E.g. 0x01                             -->
  <!-- "1" = 1 Byte Number,                       E.g. 0x01                             -->
  <!-- "2" = 2 Byte Number,                       E.g. 0x0123                           -->
  <!-- "3" = 3 Byte Number,                       E.g. 0x012345                         -->
  <!-- "4" = 4 Byte Number,                       E.g. 0x01234567                       -->
  <!-- "x" = Hex bytes array,                     E.g. "02:C1:32" means (0x02 0xC1 0x32)-->
  <!-- "s" = String with escape codes (see below) E.g. "Hello"                          -->
  <!-- "b" = BD Address                           E.g. "01:02:03:04:05:06"              -->
  <!-- "h" = Connection Handle,                   E.g. 0x0001                           -->
  <!-- "t" = Event Timeout (ms),                  E.g. 5000                             -->
  <!-- "m" = Module Number for vendor specific opcode 0xFC00                            -->
  <!-- "o" = Opcode for vendor specific                                                 -->
  <!-- "R" = Related events and commands                                                -->
  <!--                                                                                  -->

  <!-- Properties of Parameter  -->
  <!-- =======================  -->
  <!--                          -->
  <!-- "h" = Hidden parameter   -->
  <!-- "r" = Reversed parameter -->
  <!-- "s" = Reverse the whole size of the parameter -->
  <!--       valid only if "r" has been specified    -->


  <!-- Escape Code for Strings                                       -->
  <!-- =======================                                       -->
  <!--                                                               -->
  <!-- To specify a value in hex type "\xFF"                         -->
  <!-- To specify a value in decimal type "\999"                     -->
  <!--                                                               -->
  <!-- E.g. "Hello\xFF" will specify ('H' 'e' 'l' 'l' 'o' 0xFF)      -->
  <!--                                                               -->

  <!-- ******************************************************* -->
  <!-- ******************************************************* -->
  <!--                                                         -->
  <!-- Packets Definitions                                     -->
  <!--                                                         -->
  <!-- ******************************************************* -->
  <!-- ******************************************************* -->
  <Type name="CommandComplete">
    <Param type="t">
      <Name>Timeout</Name>
      <Default>5000</Default>
      <Desc>Time in msec to wait for the event</Desc>
    </Param>
    <Param type="u" size="1" assign="NumHCIBuffers">
      <Name>Number HCI commands</Name>
      <Default>any</Default>
      <Desc>Number of additional HCI Command Packets to be sent to the Host Controller from the host</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Command Opcode</Name>
    </Param>
  </Type>

  <Packet name="se" type="se" typemask="0x00000002">
    <Param type="u" size="1">
      <Name>Layer</Name>
      <Value>4</Value>
    </Param>
    <Param type="o" size="1">
      <Name>Event Opcode</Name>
    </Param>
    <Param type="u" size="1" label="len">
      <Name>Length</Name>
    </Param>
    <Param type="x" size="len">
      <Name>Payload</Name>
    </Param>
  </Packet>

  <Packet name="sc" type="sc">
    <Param type="u" size="1">
      <Name>Layer</Name>
      <Value>1</Value>
    </Param>
    <Param type="o" size="2">
      <Name>Event Opcode</Name>
    </Param>
    <Param type="u" size="1" label="len">
      <Name>Length</Name>
    </Param>
    <Param type="x" size="len">
      <Name>Payload</Name>
    </Param>
  </Packet>

  <Packet name="acl_in" type="ce" typemask="0x00000008">
    <Param type="u" size="1">
      <Name>Layer</Name>
      <Value>2</Value>
    </Param>
    <Param type="u" size="2">
      <Name>Handle</Name>
    </Param>
    <Param type="u" size="2" label="len">
      <Name>Length</Name>
    </Param>
    <Param type="x" size="len">
      <Name>Payload</Name>
    </Param>
  </Packet>

  <!-- ******************************************************* -->
  <!-- ******************************************************* -->
  <!--                                                         -->
  <!-- Enumerations and masks value tables                     -->
  <!--                                                         -->
  <!-- ******************************************************* -->
  <!-- ******************************************************* -->
  <Values name="Status" type="enum">
    <Value val="0x00">Success</Value>
    <Value val="0x01">Unknown HCI Command</Value>
    <Value val="0x02">Unknown Connection Identifier</Value>
    <Value val="0x03">Hardware Failure</Value>
    <Value val="0x04">Page Timeout</Value>
    <Value val="0x05">Authentication Failure</Value>
    <Value val="0x06">PIN/Key Missing</Value>
    <Value val="0x07">Memory Capacity Exceeded</Value>
    <Value val="0x08">Connection Timeout</Value>
    <Value val="0x09">Connection Limit Exceeded</Value>
    <Value val="0x0A">Synchronous Connection Limit To A Device Exceeded</Value>
    <Value val="0x0B">ACL Connection Already Exists</Value>
    <Value val="0x0C">Command Disallowed</Value>
    <Value val="0x0D">Connection Rejected Due To Limited Resources</Value>
    <Value val="0x0E">Connection Rejected Due To Security Reasons</Value>
    <Value val="0x0F">Connection Rejected Due To Unacceptable BD_ADDR</Value>
    <Value val="0x10">Connection Accept Timeout Exceeded</Value>
    <Value val="0x11">Unsupported Feature Or Parameter Value</Value>
    <Value val="0x12">Invalid HCI Command Parameters</Value>
    <Value val="0x13">Remote User Terminated Connection</Value>
    <Value val="0x14">Remote Device Terminated Connection Due To Low Resources</Value>
    <Value val="0x15">Remote Device Terminated Connection Due To Power Off</Value>
    <Value val="0x16">Connection Terminated By Local Host</Value>
    <Value val="0x17">Repeated Attempts</Value>
    <Value val="0x18">Pairing Not Allowed</Value>
    <Value val="0x19">Unknown LMP PDU</Value>
    <Value val="0x1A">Unsupported Remote or LMP Feature</Value>
    <Value val="0x1B">SCO Offset Rejected</Value>
    <Value val="0x1C">SCO Interval Rejected</Value>
    <Value val="0x1D">SCO Air Mode Rejected</Value>
    <Value val="0x1E">Invalid LMP Parameters</Value>
    <Value val="0x1F">Unspecified Error</Value>
    <Value val="0x20">Unsupported LMP Parameter Value</Value>
    <Value val="0x21">Role Change Not Allowed</Value>
    <Value val="0x22">LMP/LL Response Timeout</Value>
    <Value val="0x23">LMP Error Transaction Collision</Value>
    <Value val="0x24">LMP PDU Not Allowed</Value>
    <Value val="0x25">Encryption Mode Not Acceptable</Value>
    <Value val="0x26">Link Key Can Not be Changed</Value>
    <Value val="0x27">Requested QoS Not Supported</Value>
    <Value val="0x28">Instant Passed</Value>
    <Value val="0x29">Pairing With Unit Key Not Supported</Value>
    <Value val="0x2A">Different Transaction Collision</Value>
    <Value val="0x2B">Reserved</Value>
    <Value val="0x2C">QoS Unacceptable Parameter</Value>
    <Value val="0x2D">QoS Rejected</Value>
    <Value val="0x2E">Channel Assessment Not Supported</Value>
    <Value val="0x2F">Insufficient Security</Value>
    <Value val="0x30">Parameter Out Of Mandatory Range</Value>
    <Value val="0x31">Reserved</Value>
    <Value val="0x32">Role Switch Pending</Value>
    <Value val="0x33">Reserved</Value>
    <Value val="0x34">Reserved Slot Violation</Value>
    <Value val="0x35">Role Switch Failed</Value>
    <Value val="0x36">Extended Inquiry Response Too Large</Value>
    <Value val="0x37">Simple Pairing Not Supported By Host</Value>
    <Value val="0x38">Host Busy - Pairing</Value>
    <Value val="0x39">Connection Rejected Due To No Suitable Channel Found</Value>
    <Value val="0x3A">Controller Busy</Value>
    <Value val="0x3B">Unacceptable Connection Interval</Value>
    <Value val="0x3C">Directed Advertising Timeout</Value>
    <Value val="0x3D">Connection Terminated Due To MIC Failure</Value>
    <Value val="0x3E">Connection Failed To Be Established</Value>
    <Value val="0x3F">MAC Connection Failed</Value>
    <Value val="0x40">Coarse Clock Adjust Rejected</Value>
  </Values>

  <Values name="Role" type="enum">
    <Value val="0x00">Master</Value>
    <Value val="0x01">Slave</Value>
  </Values>

  <Values name="DisconnectReason" type="enum">
    <Value val="0x05">Authentication Failure</Value>
    <Value val="0x13">Remote User Terminated Connection</Value>
    <Value val="0x14">Remote Device Terminated Connection Due To Low Resources</Value>
    <Value val="0x15">Remote Device Terminated Connection due to Power Off</Value>
    <Value val="0x1A">Unsupported Remote Feature</Value>
    <Value val="0x29">Pairing With Unit Key Not Supported</Value>
    <Value val="0x3B">Unacceptable Connection Interval</Value>
  </Values>

  <Values name="RejectReason" type="enum">
    <Value val="0x0D">Connection Rejected due to Limited Resources</Value>
    <Value val="0x0E">Connection Rejected Due To Security Reasons</Value>
    <Value val="0x0F">Connection Rejected due to Unacceptable BD_ADDR</Value>
  </Values>

  <Values name="OffOn" type="enum">
    <Value val="0x00">Off</Value>
    <Value val="0x01">On</Value>
  </Values>

  <Values name="OnOff" type="enum">
    <Value val="0x00">On</Value>
    <Value val="0x01">Off</Value>
  </Values>

  <Values name="EnableDisable" type="enum">
    <Value val="0">Disable</Value>
    <Value val="1">Enable</Value>
  </Values>

  <Values name="TransmitLevelType" type="enum">
    <Value val="0">Read Current Transmit Power Level</Value>
    <Value val="1">Read Maximum Transmit Power Level</Value>
  </Values>

  <Values name="FlowControlEnable" type="enum">
    <Value val="0x00">Flow Control Off</Value>
    <Value val="0x01">Flow Control On for ACL</Value>
    <Value val="0x02">Flow Control On for SCO</Value>
    <Value val="0x03">Flow Control On for both ACL and SCO</Value>
  </Values>

  <Values name="HCIVersion" type="enum">
    <Value val="0x00">Bluetooth HCI Specification 1.0B</Value>
    <Value val="0x01">Bluetooth HCI Specification 1.1</Value>
    <Value val="0x02">Bluetooth HCI Specification 1.2</Value>
    <Value val="0x03">Bluetooth HCI Specification 2.0 + EDR</Value>
    <Value val="0x04">Bluetooth HCI Specification 2.1 + EDR</Value>
    <Value val="0x05">Bluetooth HCI Specification 3.0 + HS</Value>
    <Value val="0x06">Bluetooth HCI Specification 4.0</Value>
    <Value val="0x07">Bluetooth HCI Specification 4.1</Value>
  </Values>

  <Values name="LLVersion" type="enum">
    <Value val="0x00">Bluetooth Core Specification 1.0B</Value>
    <Value val="0x01">Bluetooth Core Specification 1.1</Value>
    <Value val="0x02">Bluetooth Core Specification 1.2</Value>
    <Value val="0x03">Bluetooth Core Specification 2.0 + EDR</Value>
    <Value val="0x04">Bluetooth Core Specification 2.1 + EDR</Value>
    <Value val="0x05">Bluetooth Core Specification 3.0 + HS</Value>
    <Value val="0x06">Bluetooth Core Specification 4.0</Value>
    <Value val="0x07">Bluetooth Core Specification 4.1</Value>
  </Values>

  <Values name="CompID" type="enum">
    <Value val="0">Ericsson Technology Licensing</Value>
    <Value val="1">Nokia Mobile Phones</Value>
    <Value val="2">Intel Corp.</Value>
    <Value val="3">IBM Corp.</Value>
    <Value val="4">Toshiba Corp.</Value>
    <Value val="5">3Com</Value>
    <Value val="6">Microsoft</Value>
    <Value val="7">Lucent</Value>
    <Value val="8">Motorola</Value>
    <Value val="9">Infineon Technologies AG</Value>
    <Value val="10">Cambridge Silicon Radio</Value>
    <Value val="11">Silicon Wave</Value>
    <Value val="12">Digianswer A/S</Value>
    <Value val="13">Texas Instruments Inc.</Value>
    <Value val="14">Parthus Technologies Inc.</Value>
    <Value val="15">Broadcom Corporation</Value>
    <Value val="16">Mitel Semiconductor</Value>
    <Value val="17">Widcomm, Inc.</Value>
    <Value val="18">Zeevo, Inc.</Value>
    <Value val="19">Atmel Corporation</Value>
    <Value val="20">Mitsubishi Electric Corporation</Value>
    <Value val="21">RTX Telecom A/S</Value>
    <Value val="22">KC Technology Inc.</Value>
    <Value val="23">Newlogic</Value>
    <Value val="24">Transilica, Inc.</Value>
    <Value val="25">Rohde &amp; Schwarz GmbH &amp; Co. KG</Value>
    <Value val="26">TTPCom Limited</Value>
    <Value val="27">Signia Technologies, Inc.</Value>
    <Value val="28">Conexant Systems Inc.</Value>
    <Value val="29">Qualcomm</Value>
    <Value val="30">Inventel</Value>
    <Value val="31">AVM Berlin</Value>
    <Value val="32">BandSpeed, Inc.</Value>
    <Value val="33">Mansella Ltd</Value>
    <Value val="34">NEC Corporation</Value>
    <Value val="35">WavePlus Technology Co., Ltd.</Value>
    <Value val="36">Alcatel</Value>
    <Value val="37">Philips Semiconductors</Value>
    <Value val="38">C Technologies</Value>
    <Value val="39">Open Interface</Value>
    <Value val="40">R F Micro Devices</Value>
    <Value val="41">Hitachi Ltd</Value>
    <Value val="42">Symbol Technologies, Inc.</Value>
    <Value val="43">Tenovis</Value>
    <Value val="44">Macronix International Co. Ltd.</Value>
    <Value val="45">GCT Semiconductor</Value>
    <Value val="46">Norwood Systems</Value>
    <Value val="47">MewTel Technology Inc.</Value>
    <Value val="48">ST Microelectronics</Value>
    <Value val="49">Synopsys</Value>
    <Value val="50">Red-M (Communications) Ltd</Value>
    <Value val="51">Commil Ltd</Value>
    <Value val="52">Computer Access Technology Corporation (CATC)</Value>
    <Value val="53">Eclipse (HQ Espana) S.L.</Value>
    <Value val="54">Renesas Technology Corp.</Value>
    <Value val="55">Mobilian Corporation</Value>
    <Value val="56">Terax</Value>
    <Value val="57">Integrated System Solution Corp.</Value>
    <Value val="58">Matsushita Electric Industrial Co., Ltd.</Value>
    <Value val="59">Gennum Corporation</Value>
    <Value val="60">Research In Motion</Value>
  </Values>

  <Values name="TrueFalse" type="enum">
    <Value val="False"></Value>
    <Value val="True"></Value>
  </Values>

  <Values name="WriteFileType" type="enum">
    <Value val="0">Create</Value>
    <Value val="1">Append</Value>
  </Values>

  <Values name="ParallelPortOffsets" type="enum">
    <Value val="0">Port 0x0378</Value>
    <Value val="1">Port 0x0379</Value>
    <Value val="2">Port 0x037a</Value>
  </Values>

  <Values name="HCIEvents" type="enum">
    <Value code="0x01" val="HCI_Inquiry_Complete_Event" />
    <Value code="0x02" val="HCI_Inquiry_Result_Event" />
    <Value code="0x03" val="HCI_Connection_Complete_Event" />
    <Value code="0x04" val="HCI_Connection_Request_Event" />
    <Value code="0x05" val="HCI_Disconnection_Complete_Event" />
    <Value code="0x06" val="HCI_Authentication_Complete_Event" />
    <Value code="0x07" val="HCI_Remote_Name_Request_Complete_Event" />
    <Value code="0x08" val="HCI_Encryption_Change_Event" />
    <Value code="0x09" val="HCI_Change_Connection_Link_Key_Complete_Event" />
    <Value code="0x0A" val="HCI_Master_Link_Key_Complete_Event" />
    <Value code="0x0B" val="HCI_Read_Remote_Supported_Features_Complete_Event" />
    <Value code="0x0C" val="HCI_Read_Remote_Version_Information_Complete_Event" />
    <Value code="0x0D" val="HCI_QoS_Setup_Complete_Event" />
    <Value code="0x0E" val="HCI_Command_Complete_Event" />
    <Value code="0x0F" val="HCI_Command_Status_Event" />
    <Value code="0x10" val="HCI_Hardware_Error_Event" />
    <Value code="0x11" val="HCI_Flush_Occurred_Event" />
    <Value code="0x12" val="HCI_Role_Change_Event" />
    <Value code="0x13" val="HCI_Number_Of_Completed_Packets_Event" />
    <Value code="0x14" val="HCI_Mode_Change_Event" />
    <Value code="0x15" val="HCI_Return_Link_Keys_Event" />
    <Value code="0x16" val="HCI_PIN_Code_Request_Event" />
    <Value code="0x17" val="HCI_Link_Key_Request_Event" />
    <Value code="0x18" val="HCI_Link_Key_Notification_Event" />
    <Value code="0x19" val="HCI_Loopback_Command_Event" />
    <Value code="0x1A" val="HCI_Data_Buffer_Overflow_Event" />
    <Value code="0x1B" val="HCI_Max_Slots_Change_Event" />
    <Value code="0x1C" val="HCI_Read_Clock_Offset_Complete_Event" />
    <Value code="0x1D" val="HCI_Connection_Packet_Type_Changed_Event" />
    <Value code="0x1E" val="HCI_QoS_Violation_Event" />
    <Value code="0x1F" val="HCI_Page_Scan_Mode_Change_Event" />
    <Value code="0x20" val="HCI_Page_Scan_Repetition_Mode_Change_Event" />
    <Value code="0x21" val="HCI_Flow_Specification_Complete_Event" />
    <Value code="0x22" val="HCI_Inquiry_Result_with_RSSI_Event" />
    <Value code="0x23" val="HCI_Read_Remote_Extended_Features_Complete_Event" />
    <Value code="0x2C" val="HCI_Synchronous_Connection_Complete_Event" />
    <Value code="0x2D" val="HCI_Synchronous_Connection_Changed_Event" />
    <Value code="0x2E" val="HCI_Sniff_Subrate_Changed_Event" />
    <Value code="0x2F" val="HCI_Extended_Inquiry_Result_Event" />
    <Value code="0x30" val="HCI_Refresh_Encryption_Key_Event" />
    <Value code="0x31" val="HCI_IO_Capability_Request_event" />
    <Value code="0x32" val="HCI_IO_Capability_Response_event" />
    <Value code="0x33" val="HCI_User_Confirmation_Request_event" />
    <Value code="0x34" val="HCI_User_Passkey_Request_event" />
    <Value code="0x35" val="HCI_Remote_Oob_request_event" />
    <Value code="0x36" val="HCI_Simple_Pairing_complete_event" />
    <Value code="0x37" val="HCI_Remote_Oob_Response_event" />-->
    <Value code="0x38" val="HCI_Link_Supervision_Timeout_Change_Event" />
    <Value code="0x39" val="HCI_Enhanced_Flush_Occured_Event" />
    <Value code="0x3A" val="HCI_Sniff_Request_Event" />
    <Value code="0x42" val="HCI_LE_Advertising_Packet_Report_Event" />
    <Value code="0x44" val="HCI_LE_Remote_LL_Connection_Request_Event" />
    <Value code="0x45" val="HCI_LE_LL_Connection_Created_Event" />
    <Value code="0x46" val="HCI_LE_LL_Connection_Termination_Event" />
    <Value code="0x49" val="HCI_LE_Number_of_Completed_Packets_Event" />
    <Value code="0x4B" val="HCI_LE_Encryption_Requested_Event" />
    <Value code="0x4C" val="HCI_LE_Encrypted_Event" />

    <Value code="0x57" val="HCI_APTO_Expired_Event" />

    <Value code="0xE0" val="HCI_LE_Ext_Gap_Event" />
    <Value code="0xF0" val="HCI_FM_Event" />
    <Value code="0xF1" val="HCI_GPS_Channel_9_event" />
    <Value code="0xF2" val="HCI_LE_Received_Data_event" />
    <Value code="0xFD" val="HCI_BLE_Event" />
  </Values>

  <Values name="HCIHardwareErrors" type="enum">
    <Value val="0x80">Past Start Time Error</Value>
    <Value val="0x81">Out of Memory Error</Value>
    <Value val="0x82">Firmware Internal Error</Value>
    <Value val="0x83">Invalid RF Command</Value>
    <Value val="0x84">Unknown RF Status</Value>
    <Value val="0x85">Unexpected RF Status</Value>
    <Value val="0x86">Unknown LL State</Value>
    <Value val="0x87">Frequency Synthesizer Programming Error</Value>
    <Value val="0x88">Frequency Synthesizer Fail To Start Error</Value>
    <Value val="0x89">RF Initialization Error</Value>
    <Value val="0x8A">PDU Size Exceeds MTU</Value>
    <Value val="0x8B">Packet Length Exceeds PDU Size</Value>
    <Value val="0x8C">Inadequate Packet Length</Value>
    <Value val="0x8D">Disallowed Phy Change</Value>
    <Value val="0x8E">No Timer Available</Value>
    <Value val="0xFF">Unknown Error</Value>
  </Values>

  <Values name="MsgBoxType" type="enum">
    <Value val="0">OK button</Value>
    <Value val="1">OK and Cancel buttons</Value>
    <Value val="2">Abort, Retry and Ignore buttons</Value>
    <Value val="3">Yes, No and Cancel buttons</Value>
    <Value val="4">Yes and No buttons</Value>
    <Value val="5">Retry and Cancel buttons</Value>
  </Values>

  <Values name="LinkType" type="enum">
    <Value val="0x00">SCO</Value>
    <Value val="0x01">ACL</Value>
    <Value val="0x02">eSCO</Value>
  </Values>

  <Values name="RSSIType" type="enum">
    <Value val="127">Invalid RSSI</Value>
  </Values>

  <!-- ================================================================== -->
  <!--                            Mask values                             -->
  <!-- ================================================================== -->

  <Values name="LinkPolicy" type="mask">
    <Value val="0x0001">Role Switch</Value>
    <Value val="0x0002">Hold Mode</Value>
    <Value val="0x0004">Sniff Mode</Value>
    <Value val="0x0008">Park Mode</Value>
  </Values>

  <Values name="EventMask" type="mask">
    <Value val="0x0000000000000000">No Events Specified</Value>
    <Value val="0x0000000000000001">Inquiry Complete Event</Value>
    <Value val="0x0000000000000002">Inquiry Result Event</Value>
    <Value val="0x0000000000000004">Connection Complete Event</Value>
    <Value val="0x0000000000000008">Connection Request Event</Value>
    <Value val="0x0000000000000010">Disconnection Complete Event</Value>
    <Value val="0x0000000000000020">Authentication Complete Event</Value>
    <Value val="0x0000000000000040">Remote Name Request Complete Event</Value>
    <Value val="0x0000000000000080">Encryption Change Event</Value>
    <Value val="0x0000000000000100">Change Connection Link Key Complete Event</Value>
    <Value val="0x0000000000000200">Master Link Key Complete Event</Value>
    <Value val="0x0000000000000400">Read Remote Supported Features Complete Event</Value>
    <Value val="0x0000000000000800">Read Remote Version Information Complete Event</Value>
    <Value val="0x0000000000001000">QoS Setup Complete Event</Value>
    <Value val="0x0000000000002000">Reserved</Value>
    <Value val="0x0000000000004000">Reserved</Value>
    <Value val="0x0000000000008000">Hardware Error Event</Value>
    <Value val="0x0000000000010000">Flush Occurred Event</Value>
    <Value val="0x0000000000020000">Role Change Event</Value>
    <Value val="0x0000000000040000">Reserved</Value>
    <Value val="0x0000000000080000">Mode Change Event</Value>
    <Value val="0x0000000000100000">Return Link Keys Event</Value>
    <Value val="0x0000000000200000">PIN Code Request Event</Value>
    <Value val="0x0000000000400000">Link Key Request Event</Value>
    <Value val="0x0000000000800000">Link Key Notification Event</Value>
    <Value val="0x0000000001000000">Loopback Command Event</Value>
    <Value val="0x0000000002000000">Data Buffer Overflow Event</Value>
    <Value val="0x0000000004000000">Max Slots Change Event</Value>
    <Value val="0x0000000008000000">Read Clock Offset Complete Event</Value>
    <Value val="0x0000000010000000">Connection Packet Type Changed Event</Value>
    <Value val="0x0000000020000000">QoS Violation Event</Value>
    <Value val="0x0000000040000000">Page Scan Mode Change Event [deprecated]</Value>
    <Value val="0x0000000080000000">Page Scan Repetition Mode Change Event</Value>
    <Value val="0x0000000100000000">Flow Specification Complete Event</Value>
    <Value val="0x0000000200000000">Inquiry Result with RSSI Event</Value>
    <Value val="0x0000000400000000">Read Remote Extended Features Complete Event</Value>
    <Value val="0x0000000800000000">Reserved</Value>
    <Value val="0x0000001000000000">Reserved</Value>
    <Value val="0x0000002000000000">Reserved</Value>
    <Value val="0x0000004000000000">Reserved</Value>
    <Value val="0x0000008000000000">Reserved</Value>
    <Value val="0x0000010000000000">Reserved</Value>
    <Value val="0x0000020000000000">Reserved</Value>
    <Value val="0x0000040000000000">Reserved</Value>
    <Value val="0x0000080000000000">Synchronous Connection Complete Event</Value>
    <Value val="0x0000100000000000">Synchronous Connection Changed Event</Value>
    <Value val="0x0000200000000000">Sniff Subrate Changed Event</Value>
    <Value val="0x0000400000000000">Extended Inquiry Result Event</Value>
    <Value val="0x0000800000000000">Encryption Key Refresh Event</Value>
    <Value val="0x0001000000000000">IO Capabilities Request Event</Value>
    <Value val="0x0002000000000000">IO Capabilities Request Reply Event</Value>
    <Value val="0x0004000000000000">User Confirmation Request Event</Value>
    <Value val="0x0008000000000000">User Passkey Request Event</Value>
    <Value val="0x0010000000000000">Remote OOB Data Request Event</Value>
    <Value val="0x0020000000000000">Simple Pairing Complete Event</Value>
    <Value val="0x0040000000000000">Reserved</Value>
    <Value val="0x0080000000000000">Link Supervision Timeout Change Event</Value>
    <Value val="0x0100000000000000">Enhanced Flush Complete Event</Value>
    <Value val="0x0200000000000000">Reserved</Value>
    <Value val="0x0400000000000000">User Passkey Notification Event</Value>
    <Value val="0x0800000000000000">Keypress Notification Event</Value>
    <Value val="0x1000000000000000">Remote Host Supported Features Notification Event</Value>
    <Value val="0x2000000000000000">LE Meta-Event</Value>
  </Values>

  <Values name="EventMask2" type="mask">
    <Value val="0x0000000000000000">No Events Specified</Value>
    <Value val="0x0000000000000001">Physical Link Complete Event</Value>
    <Value val="0x0000000000000002">Channel Selected Event</Value>
    <Value val="0x0000000000000004">Disconnection Physical Link Event</Value>
    <Value val="0x0000000000000008">Physical Link Loss Early Warning Event</Value>
    <Value val="0x0000000000000010">Physical Link Recovery Event</Value>
    <Value val="0x0000000000000020">Logical Link Complete Event</Value>
    <Value val="0x0000000000000040">Disconnection Logical link Complete Event</Value>
    <Value val="0x0000000000000080">Flow Spec modify Complete Event</Value>
    <Value val="0x0000000000000100">Number of Completed Data Blocks Event</Value>
    <Value val="0x0000000000000200">AMP Start Test Event</Value>
    <Value val="0x0000000000000400">AMP Test End </Value>
    <Value val="0x0000000000000800">AMP Receiver Report Event</Value>
    <Value val="0x0000000000001000">Short Range Mode Change Complete Event</Value>
    <Value val="0x0000000000002000">AMP Status Change Event </Value>
    <Value val="0x0000000000004000">Triggered Clock Capture Event</Value>
    <Value val="0x0000000000008000">Synchronization Train Complete Event</Value>
    <Value val="0x0000000000010000">Synchronization Train Received Event</Value>
    <Value val="0x0000000000020000">Connectionless Slave Broadcast Receiver Event</Value>
    <Value val="0x0000000000040000">Connectionless Slave Broadcast Timeout Event</Value>
    <Value val="0x0000000000080000">Truncated Page Complete Event</Value>
    <Value val="0x0000000000100000">Slave Page Response Timeout Event</Value>
    <Value val="0x0000000000200000">Connectionless Slave Broadcast Channel Map Change Event</Value>
    <Value val="0x0000000000400000">Inquiry Response Notification Event</Value>
    <Value val="0x0000000000800000">Authenticated Payload Timeout Expired Event</Value>
  </Values>

  <!-- ******************************************************* -->
  <!-- ******************************************************* -->
  <!--                                                         -->
  <!-- BLE Enumerations and masks value tables              -->
  <!--                                                         -->
  <!-- ******************************************************* -->
  <!-- ******************************************************* -->

  <Values name="HCI_LE_Event_Id" type="enum">
    <Value code="0x4B" val="HCI_LE_Encryption_Requested_Event" />
    <Value code="0x4C" val="HCI_LE_Encrypted_Event" />
	<Value code="0x57" val="HCI_APTO_Expired_Event" />
  </Values>

  <Values name="HCI_LE_Filter_Type" type="enum">
    <Value val="0x00">Advertiser</Value>
    <Value val="0x01">Scanner</Value>
  </Values>

  <Values name="HCI_LE_Filter_Policy" type="enum">
    <Value val="0x00">Block All Unknown</Value>
    <Value val="0x01">Allow Scanning</Value>
    <Value val="0x02">Allow Connections</Value>
    <Value val="0x03">Allow All</Value>
  </Values>

  <Values name="HCI_LE_Address_Type" type="enum">
    <Value val="0x00">Public</Value>
    <Value val="0x01">Random</Value>
    <Value val="0x02">Public Identity</Value>
    <Value val="0x03">Random Identity</Value>
  </Values>

  <Values name="HCI_LE_White_List_Usage" type="enum">
    <Value val="0x00">White_List Not In Use</Value>
    <Value val="0x01">White List Is Used</Value>
  </Values>

  <Values name="HCI_LE_Event_Mask" type="mask">
    <Value val="0x0000000000000001">LE Connection Complete Event</Value>
    <Value val="0x0000000000000002">LE Advertising  Report Event</Value>
    <Value val="0x0000000000000004">LE Connection Update Complete Event</Value>
    <Value val="0x0000000000000008">LE Read Remote Used Features Complete Event</Value>
    <Value val="0x0000000000000010">LE Long Term Key Request Event</Value>
    <Value val="0x0000000000000020">LE Remote Connection Parameter Request Event</Value>
    <Value val="0x0000000000000040">LE Data Length Change Event</Value>
    <Value val="0x0000000000000080">LE Read Local P256 Public Key Complete Event</Value>
    <Value val="0x0000000000000100">LE Generate DHKey Complete Event</Value>
    <Value val="0x0000000000000200">LE Enhanced Connection Complete Event</Value>
    <Value val="0x0000000000000400">LE Direct Advertising Report Event</Value>
    <Value val="0x0000000000000800">LE PHY Update Complete Event</Value>
  </Values>

  <Values name="DebugMask" type="mask">
    <Value val="0x0001">unmask bit 0  </Value>
    <Value val="0x0002">unmask bit 1  </Value>
    <Value val="0x0004">unmask bit 2  </Value>
    <Value val="0x0008">unmask bit 3  </Value>
    <Value val="0x0010">unmask bit 4  </Value>
    <Value val="0x0020">unmask bit 5  </Value>
    <Value val="0x0040">unmask bit 6  </Value>
    <Value val="0x0080">unmask bit 7  </Value>
    <Value val="0x0100">unmask bit 8  </Value>
    <Value val="0x0200">unmask bit 9  </Value>
    <Value val="0x0400">unmask bit 10 </Value>
    <Value val="0x0800">unmask bit 11 </Value>
    <Value val="0x1000">unmask bit 12 </Value>
    <Value val="0x2000">unmask bit 13 </Value>
    <Value val="0x4000">unmask bit 14 </Value>
    <Value val="0x8000">unmask bit 15 </Value>
  </Values>

  <Values name="HCI_LE_Start_Stop" type="enum">
    <Value val="0x00">Start</Value>
    <Value val="0x01">Stop</Value>
  </Values>

  <Values name="HCI_LE_Enable" type="enum">
    <Value val="0x00">Disable</Value>
    <Value val="0x01">Enable</Value>
  </Values>

  <Values name="Advertising_Event_Type" type="enum">
    <Value val="0x00">Connectable Undirected Event</Value>
    <Value val="0x01">Connectable HDC Directed Event</Value>
    <Value val="0x02">Scannable Undirected Event</Value>
    <Value val="0x03">Non Connectable Undirected Event </Value>
    <Value val="0x04">Connectable LDC Directed Event </Value>
  </Values>

  <Values name="Advertising_Report_Event_Type" type="enum">
    <Value val="0x00">Connectable Undirect Event</Value>
    <Value val="0x01">Connectable Direct Event</Value>
    <Value val="0x02">Scannable Undirect Event</Value>
    <Value val="0x03">Non Connectable Undirect Event </Value>
    <Value val="0x04">Scan Response </Value>
  </Values>

  <!-- Vendor Specific - Texas Instruments Inc. Only! -->
  <Values name="Scan_Request_Report_Event_Type" type="enum">
    <Value val="0x00">Scan Request </Value>
  </Values>

  <Values name="HCI_LE_Event_Opcode" type="enum">
    <Value val="0x01">LE Connection Complete Event</Value>
    <Value val="0x02">LE Advertising Report Event</Value>
    <Value val="0x03">LE Connection Update Complete Event</Value>
    <Value val="0x04">LE Read Remote Feature Support Complete Event</Value>
    <Value val="0x05">LE Long Term Key Requested Event</Value>
    <Value val="0x06">LE Remote Connection Parameter Request Event</Value>
    <Value val="0x07">LE Data Length Change Event</Value>
    <Value val="0x08">LE Read Local P256 Public Key Complete Event</Value>
    <Value val="0x09">LE Generate DHKey Complete Event</Value>
    <Value val="0x0A">LE Enhanced Connection Complete Event</Value>
    <Value val="0x0B">LE Direct Advertising Report Event</Value>
    <Value val="0x0C">LE PHY Update Complete Event</Value>
    <!-- Vendor Specific - Texas Instruments Inc. Only! -->
    <Value val="0x80">LE Scan Request Report Event</Value>
  </Values>

  <Values name="HCI_LE_More_Profiles" type="enum">
    <Value val="0x00">No Other Profiles Supported</Value>
    <Value val="0x01">Other Profiles Supported</Value>
  </Values>

  <Values name="HCI_LE_Scan_Mode" type="enum">
    <Value val="0x00">Passive</Value>
    <Value val="0x01">Active</Value>
  </Values>

  <Values name="HCI_LE_Key_Type" type="enum">
    <Value val="0x00">Apply to HCI_LE_Encrypt</Value>
    <Value val="0x01">Apply to Data Packets</Value>
  </Values>

  <Values name="HCI_LE_Advertising_Completed_Reason" type="enum">
    <Value val="0x00">LL Connection Requested by Peer Device</Value>
    <Value val="0x01">Advertising Stopped by the Host</Value>
  </Values>

  <Values name="HCI_LE_Connection_Termination_Reason" type="enum">
    <Value val="0x00">Termination Requested by the Local Device</Value>
    <Value val="0x01">Termination Requested by the Peer Device</Value>
    <Value val="0x02">Link Supervision Timeout</Value>
    <Value val="0x03">Termination Due To MIC failure</Value>
    <Value val="0x04">Termination Due To Peer Device Transaction Too Late</Value>
  </Values>

  <Values name="HCI_LE_Connection_Role" type="enum">
    <Value val="0x00">Link Role Master</Value>
    <Value val="0x01">Link Role Slave</Value>
  </Values>

  <!-- HCI LE LL Extension Vendor Specific Command Parameters ============== -->

  <Values name="Rx_Gain_Command_Type" type="enum">
    <Value val="0">RX Gain Standard</Value>
    <Value val="1">RX Gain High</Value>
  </Values>

  <Values name="Tx_Power_Command_Type" type="enum">
    <Value val="0">CC26xx: -21 dBm CC254x: -23 dBm</Value>
    <Value val="1">CC26xx: -18 dBm CC254x:  -6 dBm</Value>
    <Value val="2">CC26xx: -15 dBm CC254x:   0 dBm</Value>
    <Value val="3">CC26xx: -12 dBm CC254x:   4 dBm</Value>
    <Value val="4">CC26xx:  -9 dBm</Value>
    <Value val="5">CC26xx:  -6 dBm</Value>
    <Value val="6">CC26xx:  -3 dBm</Value>
    <Value val="7">CC26xx:   0 dBm</Value>
    <Value val="8">CC26xx:   1 dBm</Value>
    <Value val="9">CC26xx:   2 dBm</Value>
    <Value val="10">CC26xx:  3 dBm</Value>
    <Value val="11">CC26xx:  4 dBm</Value>
    <Value val="12">CC26xx:  5 dBm</Value>
  </Values>

  <Values name="One_Pkt_Per_Evt_Command_Type" type="enum">
    <Value val="0">Disable</Value>
    <Value val="1">Enable</Value>
  </Values>

  <Values name="Clk_Div_On_Halt_Command_Type" type="enum">
    <Value val="0">Disable</Value>
    <Value val="1">Enable</Value>
  </Values>

  <Values name="Declare_NV_Usage_Command_Type" type="enum">
    <Value val="0">NV Not In Use</Value>
    <Value val="1">NV In Use</Value>
  </Values>

  <Values name="Delay_Post_Proc_Command_Type" type="enum">
    <Value val="0">Disable</Value>
    <Value val="1">Enable</Value>
  </Values>

  <Values name="Fast_Tx_Response_Time_Command_Type" type="enum">
    <Value val="0">Disable</Value>
    <Value val="1">Enable</Value>
  </Values>

  <Values name="Modem_Test_Tx_Command_Type" type="enum">
    <Value val="0">Modulated Transmit Carrier</Value>
    <Value val="1">Unmodulated Transmit Carrier</Value>
  </Values>

  <Values name="Set_Frequency_Tune_Command_Type" type="enum">
    <Value val="0">Tune Frequency Down</Value>
    <Value val="1">Tune Frequency Up</Value>
  </Values>

  <Values name="Map_PM_IO_Port_Command_Type" type="enum">
    <Value val="0">PM IO Port 0</Value>
    <Value val="1">PM IO Port 1</Value>
    <Value val="2">PM IO Port 2</Value>
    <Value val="0xFF">PM IO Port None</Value>
  </Values>

  <Values name="PER_Command_Type" type="enum">
    <Value val="0">Reset PER Counters</Value>
    <Value val="1">Read PER Counters</Value>
  </Values>

  <Values name="Halt_During_Rf_Command_Type" type="enum">
    <Value val="0">Diable Halt During RF</Value>
    <Value val="1">Enable Halt During RF</Value>
  </Values>

  <Values name="Override_Slave_Latency_Command_Type" type="enum">
    <Value val="0">Disable</Value>
    <Value val="1">Enable</Value>
  </Values>

  <Values name="Build_Revision_Command_Type" type="enum">
    <Value val="0">Set User Revision Number</Value>
    <Value val="1">Read Build Revision</Value>
  </Values>

  <Values name="Overlapped_Processing_Command_Type" type="enum">
    <Value val="0">Disable Overlapped Processing</Value>
    <Value val="1">Enable Overlapped Processing</Value>
  </Values>

  <Values name="Scan_Request_Command_Type" type="enum">
    <Value val="0">Disable</Value>
    <Value val="1">Enable</Value>
  </Values>

  <Values name="NumComplPktsFlush_Command_Type" type="enum">
    <Value val="0">Disable NumComplPkts Flush on Event</Value>
    <Value val="1">Enable NumComplPkts Flush on Event</Value>
  </Values>

  <Values name="PhyParameter_Type" type="enum">
    <Value val="0x00">No Phy</Value>
    <Value val="0x01">1 Mbps Phy</Value>
    <Value val="0x02">2 Mbps Phy</Value>
    <Value val="0x03">1 Mbps or 2 Mbps Phy</Value>
    <Value val="0x04">Coded Phy</Value>
    <Value val="0x05">Coded or 1 Mbps Phy</Value>
    <Value val="0x06">Coded or 2 Mbps Phy</Value>
    <Value val="0x07">Coded or 1 Mbps or 2 Mbps Phy</Value>
  </Values>

  <Values name="PhyParameterPreference_Type" type="enum">
    <Value val="0x00">Use Tx and Rx Phy Parameters</Value>
    <Value val="0x01">Any Tx Phy, Use Rx Phy Parameter</Value>
    <Value val="0x02">Use Tx Phy Parameter, Any Rx Phy</Value>
    <Value val="0x03">Any Tx or Rx Phy</Value>
  </Values>

  <Values name="EnhancedDTMModIndex_Type" type="enum">
    <Value val="0x00">Standard Modulation Index</Value>
    <Value val="0x01">Stable Modulation Indexr</Value>
  </Values>

  <Values name="DtmTxPhyParameter_Type" type="enum">
    <Value val="0x00">No Phy</Value>
    <Value val="0x01">1 Mbps Phy</Value>
    <Value val="0x02">2 Mbps Phy</Value>
    <Value val="0x03">125 kbps Coded (C=8) Phy</Value>
    <Value val="0x04">500 kbps Coded (C=2) Phy</Value>
  </Values>

  <Values name="DtmRxPhyParameter_Type" type="enum">
    <Value val="0x00">No Phy</Value>
    <Value val="0x01">1 Mbps Phy</Value>
    <Value val="0x02">2 Mbps Phy</Value>
    <Value val="0x03">Coded Phy</Value>
  </Values>

  <!-- ******************************************************* -->
  <!-- ******************************************************* -->
  <!--                                                         -->
  <!-- Groups and Commands                                     -->
  <!--                                                         -->
  <!-- ******************************************************* -->
  <!-- ******************************************************* -->

  <!-- OGF 63 ============================================================== -->
  <Command name="HCI Vendor Specific Commands" type="gb"                      />
  <!-- ===================================================================== -->

  <Values name="HCI_VS_Commands" type="enum">
    <!-- HCI Extension ===================================================== -->
    <Value val="0xFC00">HCI_EXT_SetRxGain                               </Value>
    <Value val="0xFC01">HCI_EXT_SetTxPower                              </Value>
    <Value val="0xFC02">HCI_EXT_OnePktPerEvt                            </Value>
    <Value val="0xFC03">HCI_EXT_ClkDivideOnHalt                         </Value>
    <Value val="0xFC04">HCI_EXT_DeclareNvUsage                          </Value>
    <Value val="0xFC05">HCI_EXT_Decrypt                                 </Value>
    <Value val="0xFC06">HCI_EXT_SetLocalSupportedFeatures               </Value>
    <Value val="0xFC07">HCI_EXT_SetFastTxRespTime                       </Value>
    <Value val="0xFC08">HCI_EXT_ModemTestTx                             </Value>
    <Value val="0xFC09">HCI_EXT_ModemHopTestTx                          </Value>
    <Value val="0xFC0A">HCI_EXT_ModemTestRx                             </Value>
    <Value val="0xFC0B">HCI_EXT_EndModemTest                            </Value>
    <Value val="0xFC0C">HCI_EXT_SetBDADDR                               </Value>
    <Value val="0xFC0D">HCI_EXT_SetSCA                                  </Value>
    <Value val="0xFC0E">HCI_EXT_EnablePTM                               </Value>
    <Value val="0xFC0F">HCI_EXT_SetFreqTune                             </Value>
    <Value val="0xFC10">HCI_EXT_SaveFreqTune                            </Value>
    <Value val="0xFC11">HCI_EXT_SetMaxDtmTxPower                        </Value>
    <Value val="0xFC12">HCI_EXT_MapPmIoPort                             </Value>
    <Value val="0xFC13">HCI_EXT_DisconnectImmed                         </Value>
    <Value val="0xFC14">HCI_EXT_PER                                     </Value>
    <Value val="0xFC15">HCI_EXT_PerByChan                               </Value>
    <Value val="0xFC16">HCI_EXT_ExtendRfRange                           </Value>
    <Value val="0xFC17">HCI_EXT_AdvEventNotice                          </Value>
    <Value val="0xFC18">HCI_EXT_ConnEventNotice                         </Value>
    <Value val="0xFC19">HCI_EXT_HaltDuringRf                            </Value>
    <Value val="0xFC1A">HCI_EXT_OverrideSL                              </Value>
    <Value val="0xFC1B">HCI_EXT_BuildRevision                           </Value>
    <Value val="0xFC1C">HCI_EXT_DelaySleep                              </Value>
    <Value val="0xFC1D">HCI_EXT_ResetSystem                             </Value>
    <Value val="0xFC1E">HCI_EXT_OverlappedProcessing                    </Value>
    <Value val="0xFC1F">HCI_EXT_NumComplPktsLimit                       </Value>
    <Value val="0xFC20">HCI_EXT_GetConnInfo                             </Value>
    <Value val="0xFC21">HCI_EXT_SetMaxDataLength                        </Value>
    <Value val="0xFC22">HCI_EXT_ScanEventNotice                         </Value>
    <Value val="0xFC23">HCI_EXT_ScanReqReport                           </Value>
    <Value val="0xFC24">HCI_EXT_SetDtmTxPktCntCmd                       </Value>
    <Value val="0xFC70">HCI_EXT_LLTestMode                              </Value>
    <!-- ATT =============================================================== -->
    <Value val="0xFD01">ATT_ErrorRsp                                    </Value>
    <Value val="0xFD02">ATT_ExchangeMTUReq                              </Value>
    <Value val="0xFD03">ATT_ExchangeMTURsp                              </Value>
    <Value val="0xFD04">ATT_FindInfoReq                                 </Value>
    <Value val="0xFD05">ATT_FindInfoRsp                                 </Value>
    <Value val="0xFD06">ATT_FindByTypeValueReq                          </Value>
    <Value val="0xFD07">ATT_FindByTypeValueRsp                          </Value>
    <Value val="0xFD08">ATT_ReadByTypeReq                               </Value>
    <Value val="0xFD09">ATT_ReadByTypeRsp                               </Value>
    <Value val="0xFD0A">ATT_ReadReq                                     </Value>
    <Value val="0xFD0B">ATT_ReadRsp                                     </Value>
    <Value val="0xFD0C">ATT_ReadBlobReq                                 </Value>
    <Value val="0xFD0D">ATT_ReadBlobRsp                                 </Value>
    <Value val="0xFD0E">ATT_ReadMultiReq                                </Value>
    <Value val="0xFD0F">ATT_ReadMultiRsp                                </Value>
    <Value val="0xFD10">ATT_ReadByGrpTypeReq                            </Value>
    <Value val="0xFD11">ATT_ReadByGrpTypeRsp                            </Value>
    <Value val="0xFD12">ATT_WriteReq                                    </Value>
    <Value val="0xFD13">ATT_WriteRsp                                    </Value>
    <Value val="0xFD16">ATT_PrepareWriteReq                             </Value>
    <Value val="0xFD17">ATT_PrepareWriteRsp                             </Value>
    <Value val="0xFD18">ATT_ExecuteWriteReq                             </Value>
    <Value val="0xFD19">ATT_ExecuteWriteRsp                             </Value>
    <Value val="0xFD1B">ATT_HandleValueNoti                             </Value>
    <Value val="0xFD1D">ATT_HandleValueInd                              </Value>
    <Value val="0xFD1E">ATT_HandleValueCfm                              </Value>
    <!-- GATT ============================================================== -->
    <Value val="0xFD82">GATT_ExchangeMTU                                </Value>
    <Value val="0xFD90">GATT_DiscAllPrimaryServices                     </Value>
    <Value val="0xFD86">GATT_DiscPrimaryServiceByUUID                   </Value>
    <Value val="0xFDB0">GATT_FindIncludedServices                       </Value>
    <Value val="0xFDB2">GATT_DiscAllChars                               </Value>
    <Value val="0xFD88">GATT_DiscCharsByUUID                            </Value>
    <Value val="0xFD84">GATT_DiscAllCharDescs                           </Value>
    <Value val="0xFD8A">GATT_ReadCharValue                              </Value>
    <Value val="0xFDB4">GATT_ReadUsingCharUUID                          </Value>
    <Value val="0xFD8C">GATT_ReadLongCharValue                          </Value>
    <Value val="0xFD8E">GATT_ReadMultiCharValues                        </Value>
    <Value val="0xFDB6">GATT_WriteNoRsp                                 </Value>
    <Value val="0xFDB8">GATT_SignedWriteNoRsp                           </Value>
    <Value val="0xFD92">GATT_WriteCharValue                             </Value>
    <Value val="0xFD96">GATT_WriteLongCharValue                         </Value>
    <Value val="0xFDBA">GATT_ReliableWrites                             </Value>
    <Value val="0xFDBC">GATT_ReadCharDesc                               </Value>
    <Value val="0xFDBE">GATT_ReadLongCharDesc                           </Value>
    <Value val="0xFDC0">GATT_WriteCharDesc                              </Value>
    <Value val="0xFDC2">GATT_WriteLongCharDesc                          </Value>
    <Value val="0xFD9B">GATT_Notification                               </Value>
    <Value val="0xFD9D">GATT_Indication                                 </Value>
    <Value val="0xFDFC">GATT_AddService                                 </Value>
    <Value val="0xFDFD">GATT_DelService                                 </Value>
    <Value val="0xFDFE">GATT_AddAttribute                               </Value>
    <!-- GAP =============================================================== -->
    <Value val="0xFE00">GAP_DeviceInit                                  </Value>
    <Value val="0xFE03">GAP_ConfigDeviceAddr                            </Value>
    <Value val="0xFE04">GAP_DeviceDiscoveryRequest                      </Value>
    <Value val="0xFE05">GAP_DeviceDiscoveryCancel                       </Value>
    <Value val="0xFE06">GAP_MakeDiscoverable                            </Value>
    <Value val="0xFE07">GAP_UpdateAdvertisingData                       </Value>
    <Value val="0xFE08">GAP_EndDiscoverable                             </Value>
    <Value val="0xFE09">GAP_EstablishLinkReq                            </Value>
    <Value val="0xFE0A">GAP_TerminateLinkReq                            </Value>
    <Value val="0xFE0B">GAP_Authenticate                                </Value>
    <Value val="0xFE0C">GAP_PasskeyUpdate                               </Value>
    <Value val="0xFE0D">GAP_SlaveSecurityRequest                        </Value>
    <Value val="0xFE0E">GAP_Signable                                    </Value>
    <Value val="0xFE0F">GAP_Bond                                        </Value>
    <Value val="0xFE10">GAP_TerminateAuth                               </Value>
    <Value val="0xFE11">GAP_UpdateLinkParamReq                          </Value>
    <Value val="0xFE12">GAP_UpdateLinkParamReqReply                     </Value>
    <Value val="0xFE30">GAP_SetParam                                    </Value>
    <Value val="0xFE31">GAP_GetParam                                    </Value>
    <Value val="0xFE32">GAP_ResolvePrivateAddr                          </Value>
    <Value val="0xFE33">GAP_SetAdvToken                                 </Value>
    <Value val="0xFE34">GAP_RemoveAdvToken                              </Value>
    <Value val="0xFE35">GAP_UpdateAdvTokens                             </Value>
    <Value val="0xFE36">GAP_BondSetParam                                </Value>
    <Value val="0xFE37">GAP_BondGetParam                                </Value>
    <Value val="0xFE38">GAP_BondServiceChange                           </Value>
	  <!-- Security Manager - GAP subset====================================== -->
	  <Value val="0xFE39">SM_RegisterTask                                 </Value>
	  <Value val="0xFE3A">SM_GetEccKeys                                   </Value>
	  <Value val="0xFE3B">SM_GetDHKey                                     </Value>
	  <Value val="0xFE3C">SM_GetScConfirmOob                              </Value>
    <!-- UTIL ============================================================== -->
    <Value val="0xFE80">UTIL_Reserved                                   </Value>
    <Value val="0xFE81">UTIL_NV_Read                                    </Value>
    <Value val="0xFE82">UTIL_NV_Write                                   </Value>
    <Value val="0xFE83">UTIL_ForceBoot                                  </Value>
    <Value val="0xFE84">UTIL_BuildRevision                              </Value>
    <!-- L2CAP ============================================================= -->
    <Value val="0xFCF0">L2CAP_Data                                      </Value>
    <Value val="0xFCF1">L2CAP_RegisterPsm                               </Value>
    <Value val="0xFCF2">L2CAP_DeregisterPsm                             </Value>
    <Value val="0xFCF3">L2CAP_PsmInfo                                   </Value>
    <Value val="0xFCF4">L2CAP_PsmChannels                               </Value>
    <Value val="0xFCF5">L2CAP_ChannelInfo                               </Value>
    <Value val="0xFC94">L2CAP_ConnectReq                                </Value>
    <Value val="0xFC95">L2CAP_ConnectRsp                                </Value>
    <Value val="0xFC86">L2CAP_DisconnectReq                             </Value>
    <Value val="0xFC96">L2CAP_FlowCtrlCredit                            </Value>
    <Value val="0xFC8A">L2CAP_InfoReq                                   </Value>
    <Value val="0xFC92">L2CAP_ConnParamUpdateReq                        </Value>
  </Values>

  <!-- HCI BLE LL Vendor Specific Events =================================== -->

  <Values name="HCI_VS_Events" type="enum">
    <!-- HCI Extension ===================================================== -->
    <Value val="0x0400">HCI_EXT_SetRxGainDone                           </Value>
    <Value val="0x0401">HCI_EXT_SetTxPowerDone                          </Value>
    <Value val="0x0402">HCI_EXT_OnePacketPerEventDone                   </Value>
    <Value val="0x0403">HCI_EXT_ClockDivideOnHaltDone                   </Value>
    <Value val="0x0404">HCI_EXT_DeclareNvUsageDone                      </Value>
    <Value val="0x0405">HCI_EXT_DecryptCommandDone                      </Value>
    <Value val="0x0406">HCI_EXT_WriteLocalFeatureSupportDone            </Value>
    <Value val="0x0407">HCI_EXT_SetFastTxResponseTimeDone               </Value>
    <Value val="0x0408">HCI_EXT_ModemTestTxDone                         </Value>
    <Value val="0x0409">HCI_EXT_ModemHopTestTxDone                      </Value>
    <Value val="0x040A">HCI_EXT_ModemTestRxDone                         </Value>
    <Value val="0x040B">HCI_EXT_EndModemTestDone                        </Value>
    <Value val="0x040C">HCI_EXT_SetBDADDRDone                           </Value>
    <Value val="0x040D">HCI_EXT_SetSCADone                              </Value>
    <Value val="0x040E">HCI_EXT_EnablePTMDone                           </Value>
    <Value val="0x040F">HCI_EXT_SetFreqTuneDone                         </Value>
    <Value val="0x0410">HCI_EXT_SaveFreqTuneDone                        </Value>
    <Value val="0x0411">HCI_EXT_SetMaxDtmTxPowerDone                    </Value>
    <Value val="0x0412">HCI_EXT_MapPmIoPortDone                         </Value>
    <Value val="0x0413">HCI_EXT_DisconnectImmedDone                     </Value>
    <Value val="0x0414">HCI_EXT_PER                                     </Value>
    <Value val="0x0415">HCI_EXT_PerByChanDone                           </Value>
    <Value val="0x0416">HCI_EXT_ExtendRfRangeDone                       </Value>
    <Value val="0x0417">HCI_EXT_AdvEventNoticeDone                      </Value>
    <Value val="0x0418">HCI_EXT_ConnEventNoticeDone                     </Value>
    <Value val="0x0419">HCI_EXT_HaltDuringRfDone                        </Value>
    <Value val="0x041A">HCI_EXT_OverrideSLDone                          </Value>
    <Value val="0x041B">HCI_EXT_BuildRevisionDone                       </Value>
    <Value val="0x041C">HCI_EXT_DelaySleepDone                          </Value>
    <Value val="0x041D">HCI_EXT_ResetSystemDone                         </Value>
    <Value val="0x041E">HCI_EXT_OverlappedProcessingDone                </Value>
    <Value val="0x041F">HCI_EXT_NumComplPktsLimitDone                   </Value>
    <Value val="0x0420">HCI_EXT_GetConnInfoDone                         </Value>
    <Value val="0x0421">HCI_EXT_SetMaxDataLengthDone                    </Value>
    <Value val="0x0422">HCI_EXT_ScanEventNoticeDone                     </Value>
    <Value val="0x0423">HCI_EXT_ScanReqReportDone                       </Value>
    <Value val="0x0424">HCI_EXT_SetDtmTxPktCntCmd                       </Value>
    <Value val="0x0470">HCI_EXT_LLTestModeDone                          </Value>
    <!-- GAP =============================================================== -->
    <Value val="0x0600">GAP_DeviceInitDone                              </Value>
    <Value val="0x0601">GAP_DeviceDiscovery                             </Value>
    <Value val="0x0602">GAP_AdvertDataUpdateDone                        </Value>
    <Value val="0x0603">GAP_MakeDiscoverableDone                        </Value>
    <Value val="0x0604">GAP_EndDiscoverableDone                         </Value>
    <Value val="0x0605">GAP_LinkEstablished                             </Value>
    <Value val="0x0606">GAP_LinkTerminated                              </Value>
    <Value val="0x0607">GAP_LinkParamUpdate                             </Value>
    <Value val="0x0608">GAP_RandomAddrChanged                           </Value>
    <Value val="0x0609">GAP_SignatureUpdated                            </Value>
    <Value val="0x060A">GAP_AuthenticationComplete                      </Value>
    <Value val="0x060B">GAP_PasskeyNeeded                               </Value>
    <Value val="0x060C">GAP_SlaveRequestedSecurity                      </Value>
    <Value val="0x060D">GAP_DeviceInformation                           </Value>
    <Value val="0x060E">GAP_BondComplete                                </Value>
    <Value val="0x060F">GAP_PairingRequested                            </Value>
	  <Value val="0x0610">SM_GetEccKeys                                   </Value>
	  <Value val="0x0611">SM_GetDHKey                                     </Value>
    <Value val="0x0612">GAP_LinkParamUpdateRequest                      </Value>
    <Value val="0x067F">CommandStatus                                   </Value>
    <!-- L2CAP ============================================================= -->
    <Value val="0x0481">L2CAP_CmdReject                                 </Value>
    <Value val="0x048B">L2CAP_InfoRsp                                   </Value>
    <Value val="0x0493">L2CAP_ConnParamUpdateRsp                        </Value>
    <Value val="0x0494">L2CAP_ConnectReq                                </Value>
    <Value val="0x04E0">L2CAP_ChannelEstablished                        </Value>
    <Value val="0x04E1">L2CAP_ChannelTerminated                         </Value>
    <Value val="0x04E2">L2CAP_OutOfCredit                               </Value>
    <Value val="0x04E3">L2CAP_PeerCreditThreshold                       </Value>
    <Value val="0x04E4">L2CAP_SendSduDone                               </Value>
    <Value val="0x04F0">L2CAP_Data                                      </Value>
    <!-- ATT =============================================================== -->
    <Value val="0x0501">ATT_ErrorRsp                                    </Value>
    <Value val="0x0502">ATT_ExchangeMTUReq                              </Value>
    <Value val="0x0503">ATT_ExchangeMTURsp                              </Value>
    <Value val="0x0504">ATT_FindInfoReq                                 </Value>
    <Value val="0x0505">ATT_FindInfoRsp                                 </Value>
    <Value val="0x0506">ATT_FindByTypeValueReq                          </Value>
    <Value val="0x0507">ATT_FindByTypeValueRsp                          </Value>
    <Value val="0x0508">ATT_ReadByTypeReq                               </Value>
    <Value val="0x0509">ATT_ReadByTypeRsp                               </Value>
    <Value val="0x050A">ATT_ReadReq                                     </Value>
    <Value val="0x050B">ATT_ReadRsp                                     </Value>
    <Value val="0x050C">ATT_ReadBlobReq                                 </Value>
    <Value val="0x050D">ATT_ReadBlobRsp                                 </Value>
    <Value val="0x050E">ATT_ReadMultiReq                                </Value>
    <Value val="0x050F">ATT_ReadMultiRsp                                </Value>
    <Value val="0x0510">ATT_ReadByGrpTypeReq                            </Value>
    <Value val="0x0511">ATT_ReadByGrpTypeRsp                            </Value>
    <Value val="0x0512">ATT_WriteReq                                    </Value>
    <Value val="0x0513">ATT_WriteRsp                                    </Value>
    <Value val="0x0516">ATT_PrepareWriteReq                             </Value>
    <Value val="0x0517">ATT_PrepareWriteRsp                             </Value>
    <Value val="0x0518">ATT_ExecuteWriteReq                             </Value>
    <Value val="0x0519">ATT_ExecuteWriteRsp                             </Value>
    <Value val="0x051B">ATT_HandleValueNoti                             </Value>
    <Value val="0x051D">ATT_HandleValueInd                              </Value>
    <Value val="0x051E">ATT_HandleValueCfm                              </Value>
    <Value val="0x057E">ATT_FlowCtrlViolatedEvt_t                       </Value>
    <Value val="0x057F">ATT_MtuUpdatedEvt                               </Value>
    <!-- GATT =============================================================== -->
    <Value val="0x0580">GATT_ClientCharCfgUpdated                       </Value>
  </Values>

  <Values name="StackInfo" type="mask">
    <Value val="0x01">IARProject </Value>
    <Value val="0x02">CCSProject </Value>
    <Value val="0x10">IARLibrary </Value>
    <Value val="0x80">ROMBuild   </Value>
  </Values>

  <Values name="ControllerInfo" type="mask">
    <Value val="0x01">ADV_NCONN      </Value>
    <Value val="0x02">ADV_CONN       </Value>
    <Value val="0x04">SCAN           </Value>
    <Value val="0x08">INIT           </Value>
    <Value val="0x10">PING           </Value>
    <Value val="0x20">SLV_FEAT_EXCHG </Value>
    <Value val="0x40">CONN_PARAM_REQ </Value>
  </Values>

  <Values name="HostInfo" type="mask">
    <Value val="0x01">BROADCASTER </Value>
    <Value val="0x02">OBSERVER    </Value>
    <Value val="0x04">PERIPHERAL  </Value>
    <Value val="0x08">CENTRAL     </Value>
  </Values>

  <Values name="ProfileRoles" type="mask">
    <Value val="0x01">GAP_PROFILE_BROADCASTER  </Value>
    <Value val="0x02">GAP_PROFILE_OBSERVER     </Value>
    <Value val="0x04">GAP_PROFILE_PERIPHERAL   </Value>
    <Value val="0x08">GAP_PROFILE_CENTRAL      </Value>
  </Values>

  <Values name="AuthReqs" type="mask">
    <Value val="0x01">Bonding   </Value>
    <Value val="0x04">MITM      </Value>
    <Value val="0x08">SC        </Value>
    <Value val="0x10">KP        </Value>
  </Values>

  <Values name="KeyTypes" type="mask">
    <Value val="0x01">sEncKey  </Value>
    <Value val="0x02">sIdKey   </Value>
    <Value val="0x04">sSign    </Value>
    <Value val="0x08">sLinkKey </Value>
    <Value val="0x10">mEncKey  </Value>
    <Value val="0x20">mIdKey   </Value>
    <Value val="0x40">mSign    </Value>
    <Value val="0x80">mLinkKey </Value>
  </Values>

  <Values name="AdvertisingChannels" type="mask">
    <Value val="0x01">Chan 37</Value>
    <Value val="0x02">Chan 38</Value>
    <Value val="0x04">Chan 39</Value>
  </Values>

  <Values name="GATTServiceUUID" type="enum">
    <Value val="0x2800">PrimaryService   </Value>
    <Value val="0x2801">SecondaryService </Value>
  </Values>

  <Values name="GATTPermissions" type="mask">
    <Value val="0x01">GATT_PERMIT_READ         </Value>
    <Value val="0x02">GATT_PERMIT_WRITE        </Value>
    <Value val="0x04">GATT_PERMIT_AUTHEN_READ  </Value>
    <Value val="0x08">GATT_PERMIT_AUTHEN_WRITE </Value>
    <Value val="0x10">GATT_PERMIT_AUTHOR_READ  </Value>
    <Value val="0x20">GATT_PERMIT_AUTHOR_WRITE </Value>
	<Value val="0x40">GATT_PERMIT_ENCRYPT_READ </Value>
	<Value val="0x80">GATT_PERMIT_ENCRYPT_WRITE </Value>
	<Value val="0x40">GATT_PERMIT_ENCRYPT_READ </Value>
  </Values>

  <Values name="IOCapabilities" type="enum">
    <Value val="0x00">DisplayOnly    </Value>
    <Value val="0x01">DisplayYesNo   </Value>
    <Value val="0x02">KeyboardOnly   </Value>
    <Value val="0x03">NoInputNoOutput</Value>
    <Value val="0x04">KeyboardDisplay</Value>
  </Values>

  <Values name="AddrModes" type="enum">
    <Value val="0x00">ADDRMODE_PUBLIC</Value>
    <Value val="0x01">ADDRMODE_STATIC</Value>
    <Value val="0x02">ADDRMODE_PRIVATE_NONRESOLVE</Value>
    <Value val="0x03">ADDRMODE_PRIVATE_RESOLVE</Value>
  </Values>

  <Values name="AddrTypes" type="enum">
    <Value val="0x00">ADDRTYPE_PUBLIC</Value>
    <Value val="0x01">ADDRTYPE_RANDOM</Value>
    <Value val="0x02">ADDRTYPE_PUBLIC_ID</Value>
    <Value val="0x03">ADDRTYPE_RANDOM_ID</Value>
  </Values>

  <Values name="AdTypes" type="enum">
    <Value val="0x00">SCAN_RSP Data      </Value>
    <Value val="0x01">Advertisement Data </Value>
  </Values>

  <Values name="AdEventTypes" type="enum">
    <Value val="0x00">GAP_ADTYPE_ADV_IND            </Value>
    <Value val="0x01">GAP_ADTYPE_ADV_HDC_DIRECT_IND </Value>
    <Value val="0x02">GAP_ADTYPE_ADV_SCAN_IND       </Value>
    <Value val="0x03">GAP_ADTYPE_ADV_NONCONN_IND    </Value>
    <Value val="0x04">GAP_ADTYPE_ADV_LDC_DIRECT_IND </Value>
  </Values>

  <Values name="AdReportEventTypes" type="enum">
    <Value val="0x00">GAP_ADRPT_ADV_IND - Connectable undirected</Value>
    <Value val="0x01">GAP_ADRPT_ADV_DIRECT_IND - Connectable directed</Value>
    <Value val="0x02">GAP_ADRPT_ADV_SCAN_IND - Scannable undirected</Value>
    <Value val="0x03">GAP_ADRPT_ADV_NONCONN_IND - Non-Connectable undirected</Value>
    <Value val="0x04">GAP_ADRPT_SCAN_RSP - Scan Response</Value>
  </Values>

  <Values name="DisableEnable" type="enum">
    <Value val="0x00">Disabled </Value>
    <Value val="0x01">Enabled  </Value>
  </Values>

  <Values name="NoYes" type="enum">
    <Value val="0x00">No </Value>
    <Value val="0x01">Yes  </Value>
  </Values>

  <Values name="ResetTypes" type="enum">
    <Value val="0x00">Chip Reset  </Value>
    <Value val="0x01">Soft Reset  </Value>
  </Values>

  <Values name="GeneralLimited" type="enum">
    <Value val="0x00">DEVDISC_MODE_NONDISCOVERABLE</Value>
    <Value val="0x01">DEVDISC_MODE_GENERAL</Value>
    <Value val="0x02">DEVDISC_MODE_LIMITED</Value>
    <Value val="0x03">DEVDISC_MODE_ALL</Value>
  </Values>

  <Values name="DiscoveryFilterPolicy" type="enum">
    <Value val="0x00">DEVDISC_POLICY_ALL</Value>
    <Value val="0x01">DEVDISC_POLICY_WL</Value>
    <Value val="0x02">DEVDISC_POLICY_ALL_DIRECTED</Value>
    <Value val="0x03">DEVDISC_POLICY_WL_DIRECTED</Value>
  </Values>

  <Values name="RejectResult" type="enum">
    <Value val="0x0000">CMD_NOT_UNDERSTOOD</Value>
    <Value val="0x0001">SIGNAL_MTU_EXCEED</Value>
    <Value val="0x0002">REJECT_INVALID_CID</Value>
  </Values>

  <Values name="ConnParamUpdateResult" type="enum">
    <Value val="0x0000">CONN_PARAMS_ACCEPTED</Value>
    <Value val="0x0001">CONN_PARAMS_REJECTED</Value>
  </Values>

  <Values name="ConnectResultValues" type="enum">
    <Value val="0x0000">L2CAP_CONN_SUCCESS</Value>
    <Value val="0x0001">Reserved</Value>
    <Value val="0x0002">L2CAP_CONN_PSM_NOT_SUPPORTED</Value>
    <Value val="0x0003">Reserved</Value>
    <Value val="0x0004">L2CAP_CONN_NO_RESOURCES</Value>
    <Value val="0x0005">L2CAP_CONN_INSUFFICIENT_AUTHEN</Value>
    <Value val="0x0006">L2CAP_CONN_INSUFFICIENT_AUTHOR</Value>
    <Value val="0x0007">L2CAP_CONN_INSUFFICIENT_KEY_SIZE</Value>
    <Value val="0x0008">L2CAP_CONN_INSUFFICIENT_ENCRYPT</Value>
  </Values>

    <Values name="ChannelState" type="enum">
    <Value val="0x0000">L2CAP_CLOSED</Value>
    <Value val="0x0001">L2CAP_OPEN</Value>
    <Value val="0x0002">L2CAP_PENDING_CONN_RSP</Value>
    <Value val="0x0003">L2CAP_PENDING_DISCONN_RSP</Value>
    <Value val="0x0004">L2CAP_PENDING_PARAM_UPDATE_RSP</Value>
    <Value val="0x0005">L2CAP_PENDING_INFO_RSP</Value>
    <Value val="0x0006">L2CAP_PENDING_SEC_VERIFY</Value>
  </Values>

  <Values name="TerminateReasonValues" type="enum">
    <Value val="0x0000">L2CAP_TERM_LINK_DOWN</Value>
    <Value val="0x0001">L2CAP_TERM_BY_PSM</Value>
    <Value val="0x0002">L2CAP_TERM_BY_PEER_PSM</Value>
    <Value val="0x0003">L2CAP_TERM_MAX_CREDIT_EXCEED</Value>
    <Value val="0x0004">L2CAP_TERM_SDU_LEN_EXCEED</Value>
    <Value val="0x0005">L2CAP_TERM_PSM_MTU_EXCEED</Value>
    <Value val="0x0006">L2CAP_TERM_RX_PKT_NO_CREDIT</Value>
    <Value val="0x0007">L2CAP_TERM_RX_ERROR</Value>
    <Value val="0x0008">L2CAP_TERM_TX_ERROR</Value>
    <Value val="0x0009">L2CAP_TERM_MEM_ALLOC_ERROR</Value>
  </Values>

  <Values name="InfoTypes" type="enum">
    <Value val="0x0001">CONNECTIONLESS_MTU</Value>
    <Value val="0x0002">EXTENDED_FEATURES</Value>
    <Value val="0x0003">FIXED_CHANNELS</Value>
  </Values>

  <Values name="CIDTypes" type="enum">
    <Value val="0x0004">L2CAP_CID_ATT</Value>
    <Value val="0x0005">L2CAP_CID_SIG</Value>
    <Value val="0x0006">L2CAP_CID_SMP</Value>
  </Values>

  <Values name="GAPParamIDs" type="enum">
    <Value val="0">TGAP_GEN_DISC_ADV_MIN</Value>
    <Value val="1">TGAP_LIM_ADV_TIMEOUT</Value>
    <Value val="2">TGAP_GEN_DISC_SCAN</Value>
    <Value val="3">TGAP_LIM_DISC_SCAN</Value>
    <Value val="4">TGAP_CONN_EST_ADV_TIMEOUT</Value>
    <Value val="5">TGAP_CONN_PARAM_TIMEOUT</Value>
    <Value val="6">TGAP_LIM_DISC_ADV_INT_MIN</Value>
    <Value val="7">TGAP_LIM_DISC_ADV_INT_MAX</Value>
    <Value val="8">TGAP_GEN_DISC_ADV_INT_MIN</Value>
    <Value val="9">TGAP_GEN_DISC_ADV_INT_MAX</Value>
    <Value val="10">TGAP_CONN_ADV_INT_MIN</Value>
    <Value val="11">TGAP_CONN_ADV_INT_MAX</Value>
    <Value val="12">TGAP_CONN_SCAN_INT</Value>
    <Value val="13">TGAP_CONN_SCAN_WIND</Value>
    <Value val="14">TGAP_CONN_HIGH_SCAN_INT</Value>
    <Value val="15">TGAP_CONN_HIGH_SCAN_WIND</Value>
    <Value val="16">TGAP_GEN_DISC_SCAN_INT</Value>
    <Value val="17">TGAP_GEN_DISC_SCAN_WIND</Value>
    <Value val="18">TGAP_LIM_DISC_SCAN_INT</Value>
    <Value val="19">TGAP_LIM_DISC_SCAN_WIND</Value>
    <Value val="20">TGAP_CONN_EST_ADV</Value>
    <Value val="21">TGAP_CONN_EST_INT_MIN</Value>
    <Value val="22">TGAP_CONN_EST_INT_MAX</Value>
    <Value val="23">TGAP_CONN_EST_SCAN_INT</Value>
    <Value val="24">TGAP_CONN_EST_SCAN_WIND</Value>
    <Value val="25">TGAP_CONN_EST_SUPERV_TIMEOUT</Value>
    <Value val="26">TGAP_CONN_EST_LATENCY</Value>
    <Value val="27">TGAP_CONN_EST_MIN_CE_LEN</Value>
    <Value val="28">TGAP_CONN_EST_MAX_CE_LEN</Value>
    <Value val="29">TGAP_PRIVATE_ADDR_INT</Value>
    <Value val="30">TGAP_CONN_PAUSE_CENTRAL</Value>
    <Value val="31">TGAP_CONN_PAUSE_PERIPHERAL</Value>
    <Value val="32">TGAP_SM_TIMEOUT</Value>
    <Value val="33">TGAP_SM_MIN_KEY_LEN</Value>
    <Value val="34">TGAP_SM_MAX_KEY_LEN</Value>
    <Value val="35">TGAP_FILTER_ADV_REPORTS</Value>
    <Value val="36">TGAP_SCAN_RSP_RSSI_MIN</Value>
    <Value val="37">TGAP_REJECT_CONN_PARAMS</Value>
    <Value val="38">TGAP_GAP_TESTCODE</Value>
    <Value val="39">TGAP_SM_TESTCODE</Value>
    <Value val="40">TGAP_AUTH_TASK_ID</Value>
    <Value val="41">TGAP_VERIFY_CAR</Value>
    <Value val="100">TGAP_GATT_TESTCODE</Value>
    <Value val="101">TGAP_ATT_TESTCODE</Value>
    <Value val="102">TGAP_GGS_TESTCODE</Value>
    <Value val="103">TGAP_L2CAP_TESTCODE</Value>
  </Values>

  <Values name="GAPBondParamIDs" type="enum">
    <Value val="0x400">GAPBOND_PAIRING_MODE</Value>
    <Value val="0x401">GAPBOND_INITIATE_WAIT</Value>
    <Value val="0x402">GAPBOND_MITM_PROTECTION</Value>
    <Value val="0x403">GAPBOND_IO_CAPABILITIES</Value>
    <Value val="0x404">GAPBOND_OOB_ENABLED</Value>
    <Value val="0x405">GAPBOND_OOB_DATA</Value>
    <Value val="0x406">GAPBOND_BONDING_ENABLED</Value>
    <Value val="0x407">GAPBOND_KEY_DIST_LIST</Value>
    <Value val="0x408">GAPBOND_DEFAULT_PASSCODE</Value>
    <Value val="0x409">GAPBOND_ERASE_ALLBONDS</Value>
    <Value val="0x40A">GAPBOND_AUTO_FAIL_PAIRING</Value>
    <Value val="0x40B">GAPBOND_AUTO_FAIL_REASON</Value>
    <Value val="0x40C">GAPBOND_KEYSIZE</Value>
    <Value val="0x40D">GAPBOND_AUTO_SYNC_WL</Value>
    <Value val="0x40E">GAPBOND_BOND_COUNT</Value>
    <Value val="0x40F">GAPBOND_BOND_FAIL_ACTION</Value>
    <Value val="0x410">GAPBOND_ERASE_SINGLEBOND</Value>
	  <Value val="0x411">GAPBOND_SECURE_CONNECTION</Value>
	  <Value val="0x412">GAPBOND_ECCKEY_REGEN_POLICY</Value>
	  <Value val="0x413">GAPBOND_GAPBOND_ECC_KEY</Value>
	  <Value val="0x414">GAPBOND_REMOTE_OOB_SC_ENABLED</Value>
	  <Value val="0x415">GAPBOND_REMOTE_OOB_DATA</Value>
	  <Value val="0x416">GAPBOND_LOCAL_OOB_SC_ENABLED</Value>
	  <Value val="0x417">GAPBOND_LOCAL_OOB_SC_DATA</Value>
  </Values>

  <Values name="UpdateAdDataStatusTypes" type="enum">
    <Value val="0x00">SUCCESS</Value>
    <Value val="0x12">bleIncorrectMode</Value>
    <Value val="0x02">INVALIDPARAMETER</Value>
  </Values>

  <Values name="reqOpcode" type="enum">
    <Value val="0x01">ATT_ERROR_RSP</Value>
    <Value val="0x02">ATT_EXCHANGE_MTU_REQ</Value>
    <Value val="0x03">ATT_EXCHANGE_MTU_RSP</Value>
    <Value val="0x04">ATT_FIND_INFO_REQ</Value>
    <Value val="0x05">ATT_FIND_INFO_RSP</Value>
    <Value val="0x06">ATT_FIND_BY_TYPE_VALUE_REQ</Value>
    <Value val="0x07">ATT_FIND_BY_TYPE_VALUE_RSP</Value>
    <Value val="0x08">ATT_READ_BY_TYPE_REQ</Value>
    <Value val="0x09">ATT_READ_BY_TYPE_RSP</Value>
    <Value val="0x0A">ATT_READ_REQ</Value>
    <Value val="0x0B">ATT_READ_RSP</Value>
    <Value val="0x0C">ATT_READ_BLOB_REQ</Value>
    <Value val="0x0D">ATT_READ_BLOB_RSP</Value>
    <Value val="0x0E">ATT_READ_MULTI_REQ</Value>
    <Value val="0x0F">ATT_READ_MULTI_RSP</Value>
    <Value val="0x10">ATT_READ_BY_GRP_TYPE_REQ</Value>
    <Value val="0x11">ATT_READ_BY_GRP_TYPE_RSP</Value>
    <Value val="0x12">ATT_WRITE_REQ</Value>
    <Value val="0x13">ATT_WRITE_RSP</Value>
    <Value val="0x16">ATT_PREPARE_WRITE_REQ</Value>
    <Value val="0x17">ATT_PREPARE_WRITE_RSP</Value>
    <Value val="0x18">ATT_EXECUTE_WRITE_REQ</Value>
    <Value val="0x19">ATT_EXECUTE_WRITE_RSP</Value>
    <Value val="0x1B">ATT_HANDLE_VALUE_NOTI</Value>
    <Value val="0x1D">ATT_HANDLE_VALUE_IND</Value>
    <Value val="0x1E">ATT_HANDLE_VALUE_CFM</Value>
  </Values>

  <Values name="BondCompleteStatusTypes" type="enum">
    <Value val="0x00">SUCCESS</Value>
    <Value val="0x06">KEY_REQ_REJECTED</Value>
    <Value val="0x1A">KEY_REQ_UNSUPPORTED</Value>
  </Values>

  <Values name="StatusTypes" type="enum">
    <Value val="0x00">SUCCESS</Value>
    <Value val="0x01">FAILURE</Value>
    <Value val="0x02">INVALIDPARAMETER</Value>
    <Value val="0x03">INVALID_TASK</Value>
    <Value val="0x04">MSG_BUFFER_NOT_AVAIL</Value>
    <Value val="0x05">INVALID_MSG_POINTER</Value>
    <Value val="0x06">INVALID_EVENT_ID</Value>
    <Value val="0x07">INVALID_INTERRUPT_ID</Value>
    <Value val="0x08">NO_TIMER_AVAIL</Value>
    <Value val="0x09">NV_ITEM_UNINIT</Value>
    <Value val="0x0A">NV_OPER_FAILED</Value>
    <Value val="0x0B">INVALID_MEM_SIZE</Value>
    <Value val="0x0C">NV_BAD_ITEM_LEN</Value>
    <Value val="0x10">bleNotReady</Value>
    <Value val="0x11">bleAlreadyInRequestedMode</Value>
    <Value val="0x12">bleIncorrectMode</Value>
    <Value val="0x13">bleMemAllocError</Value>
    <Value val="0x14">bleNotConnected</Value>
    <Value val="0x15">bleNoResources</Value>
    <Value val="0x16">blePending</Value>
    <Value val="0x17">bleTimeout</Value>
    <Value val="0x18">bleInvalidRange</Value>
    <Value val="0x19">bleLinkEncrypted</Value>
    <Value val="0x1A">bleProcedureComplete</Value>
    <Value val="0x1B">bleInvalidMtuSize</Value>
    <Value val="0x21">bleUnexpectedRole</Value>
    <Value val="0x30">bleGAPUserCanceled</Value>
    <Value val="0x31">bleGAPConnNotAcceptable</Value>
    <Value val="0x32">bleGAPBondRejected</Value>
    <Value val="0x40">bleInvalidPDU</Value>
    <Value val="0x41">bleInsufficientAuthen</Value>
    <Value val="0x42">bleInsufficientEncrypt</Value>
    <Value val="0x43">bleInsufficientKeySize</Value>
  </Values>

  <Values name="SMPFailureTypes" type="enum">
    <Value val="0x00">SUCCESS</Value>
    <Value val="0x01">SMP_PAIRING_FAILED_PASSKEY_ENTRY_FAILED</Value>
    <Value val="0x02">SMP_PAIRING_FAILED_OOB_NOT_AVAIL</Value>
    <Value val="0x03">SMP_PAIRING_FAILED_AUTH_REQ</Value>
    <Value val="0x04">SMP_PAIRING_FAILED_CONFIRM_VALUE</Value>
    <Value val="0x05">SMP_PAIRING_FAILED_NOT_SUPPORTED</Value>
    <Value val="0x06">SMP_PAIRING_FAILED_ENC_KEY_SIZE</Value>
    <Value val="0x07">SMP_PAIRING_FAILED_CMD_NOT_SUPPORTED</Value>
    <Value val="0x08">SMP_PAIRING_FAILED_UNSPECIFIED</Value>
    <Value val="0x09">SMP_PAIRING_FAILED_REPEATED_ATTEMPTS</Value>
	<Value val="0x0A">SMP_PAIRING_FAILED_INVALID_PARAMETERS</Value>
	<Value val="0x0B">SMP_PAIRING_FAILED_DHKEY_CHECK_FAILED</Value>
	<Value val="0x0C">SMP_PAIRING_FAILED_NUM_COMPARISON_FAILED</Value>
	<Value val="0x0D">SMP_PAIRING_FAILED_BREDR_PAIR_IN_PROGRESS</Value>
	<Value val="0x0E">SMP_PAIRING_FAILED_CT_KEYDER_NOT_ALLOWED</Value>
    <Value val="0x0F">Command Disallowed</Value>
    <Value val="0x11">Unsupported Feature Or Parameter Value</Value>
    <Value val="0x12">Invalid HCI Command Parameters</Value>
    <Value val="0x17">bleTimeout</Value>
  </Values>

  <Values name="ATTErrorCode" type="enum">
    <Value val="0x01">INVALID_HANDLE</Value>
    <Value val="0x02">READ_NOT_PERMITTED</Value>
    <Value val="0x03">WRITE_NOT_PERMITTED</Value>
    <Value val="0x04">INVALID_PDU</Value>
    <Value val="0x05">INSUFFICIENT_AUTHEN</Value>
    <Value val="0x06">UNSUPPORTED_REQ</Value>
    <Value val="0x07">INVALID_OFFSET</Value>
    <Value val="0x08">INSUFFICIENT_AUTHOR</Value>
    <Value val="0x09">PREPARE_QUEUE_FULL</Value>
    <Value val="0x0a">ATTR_NOT_FOUND</Value>
    <Value val="0x0b">ATTR_NOT_LONG</Value>
    <Value val="0x0c">INSUFFICIENT_KEY_SIZE</Value>
    <Value val="0x0d">INVALID_VALUE_SIZE</Value>
    <Value val="0x0e">UNLIKELY_ERROR</Value>
    <Value val="0x0f">INSUFFICIENT_ENCRYPTION</Value>
    <Value val="0x10">UNSUPPORTED_GRP_TYPE</Value>
    <Value val="0x11">INSUFFICIENT_RESOURCES</Value>
    <Value val="0x80">INVALID_VALUE</Value>
  </Values>

  <Values name="infoFormat" type="enum">
    <Value val="0x01">HANDLE_BT_UUID_TYPE - handle(s) and 16-bit Bluetooth UUID(s)</Value>
    <Value val="0x02">HANDLE_UUID_TYPE - handle(s) and 128-bit UUID(s)</Value>
  </Values>

  <Values name="RxSignature" type="enum">
    <Value val="0x00">SIG_NOT_INCLUDED</Value>
    <Value val="0x01">SIG_VALID</Value>
    <Value val="0x02">SIG_INVALID</Value>
  </Values>

  <Values name="ExecuteFlags" type="enum">
    <Value val="0x00">CANCEL_WRITES</Value>
    <Value val="0x01">WRITE_VALUES</Value>
  </Values>

  <Values name="FilterPolicyTypes" type="enum">
    <Value val="0x00">GAP_FILTER_POLICY_ALL</Value>
    <Value val="0x01">GAP_FILTER_POLICY_WHITE_SCAN</Value>
    <Value val="0x02">GAP_FILTER_POLICY_WHITE_CON</Value>
    <Value val="0x03">GAP_FILTER_POLICY_WHITE</Value>
  </Values>

  <Values name="GAPAdTypes" type="enum">
    <Value val="0x01">GAP_ADTYPE_FLAGS</Value>
    <Value val="0x02">GAP_ADTYPE_16BIT_MORE</Value>
    <Value val="0x03">GAP_ADTYPE_16BIT_COMPLETE</Value>
    <Value val="0x04">GAP_ADTYPE_32BIT_MORE</Value>
    <Value val="0x05">GAP_ADTYPE_32BIT_COMPLETE</Value>
    <Value val="0x06">GAP_ADTYPE_128BIT_MORE</Value>
    <Value val="0x07">GAP_ADTYPE_128BIT_COMPLETE</Value>
    <Value val="0x08">GAP_ADTYPE_LOCAL_NAME_SHORT</Value>
    <Value val="0x09">GAP_ADTYPE_LOCAL_NAME_COMPLETE</Value>
    <Value val="0x0A">GAP_ADTYPE_POWER_LEVEL</Value>
    <Value val="0x0D">GAP_ADTYPE_OOB_CLASS_OF_DEVICE</Value>
    <Value val="0x0E">GAP_ADTYPE_OOB_SIMPLE_PAIRING_HASHC</Value>
    <Value val="0x0F">GAP_ADTYPE_OOB_SIMPLE_PAIRING_RANDR</Value>
    <Value val="0x10">GAP_ADTYPE_SM_TK</Value>
    <Value val="0x11">GAP_ADTYPE_SM_OOB_FLAG</Value>
    <Value val="0x12">GAP_ADTYPE_SLAVE_CONN_INTERVAL_RANGE</Value>
    <Value val="0x13">GAP_ADTYPE_SIGNED_DATA</Value>
    <Value val="0x14">GAP_ADTYPE_SERVICES_LIST_16BIT</Value>
    <Value val="0x15">GAP_ADTYPE_SERVICES_LIST_128BIT</Value>
    <Value val="0x16">GAP_ADTYPE_SERVICE_DATA</Value>
    <Value val="0xFF">GAP_ADTYPE_MANUFACTURER_SPECIFIC</Value>
  </Values>

  <Values name="LLTestModeTestCases" type="enum">
    <Value val="0">TP_CON_MAS_BV_19</Value>
    <Value val="1">TP_CON_MAS_BV_26</Value>
    <Value val="2">TP_CON_MAS_BV_28</Value>
    <Value val="3">TP_CON_MAS_BV_31_1</Value>
    <Value val="4">TP_CON_MAS_BV_31_2</Value>
    <Value val="5">TP_CON_MAS_BV_31_3</Value>
    <Value val="6">TP_CON_MAS_BV_32</Value>
    <Value val="7">TP_CON_MAS_BV_33</Value>
    <Value val="8">TP_CON_MAS_BI_02</Value>
    <Value val="9">TP_CON_MAS_BI_04</Value>
    <Value val="10">TP_CON_MAS_BI_06</Value>
    <Value val="11">TP_CON_SLA_BV_26</Value>
    <Value val="12">TP_CON_SLA_BV_28</Value>
    <Value val="13">TP_CON_SLA_BV_30_1</Value>
    <Value val="14">TP_CON_SLA_BV_30_2</Value>
    <Value val="15">TP_CON_SLA_BV_30_3</Value>
    <Value val="16">TP_CON_SLA_BV_31</Value>
    <Value val="17">TP_CON_SLA_BV_32</Value>
    <Value val="18">TP_CON_SLA_BV_33</Value>
    <Value val="19">TP_CON_SLA_BV_34</Value>
    <Value val="20">TP_CON_SLA_BI_02</Value>
    <Value val="21">TP_CON_SLA_BI_04</Value>
    <Value val="22">TP_CON_SLA_BI_05</Value>
    <Value val="23">TP_CON_SLA_BI_06</Value>
    <Value val="24">TP_CON_SLA_BI_08</Value>
    <Value val="25">TP_SEC_MAS_BV_08</Value>
    <Value val="26">TP_SEC_SLA_BV_08</Value>
    <Value val="27">TP_ENC_ADV_BI_02</Value>
    <Value val="28">TP_TIM_SLA_BV_05</Value>
    <Value val="29">TP_SEC_MAS_BV_14</Value>
    <Value val="30">TP_SEC_SLA_BI_05</Value>
    <Value val="31">TP_SEC_MAS_BI_07</Value>
    <Value val="32">TP_SEC_MAS_BV_12</Value>
    <Value val="33">TP_SEC_MAS_BV_13</Value>
    <Value val="34">TP_SEC_MAS_BV_04</Value>
    <Value val="35">TP_SEC_MAS_BI_09</Value>
    // V5.0 - 2Mbps
    <Value val="50">TP_CON_SLA_BV_05</Value>
    <Value val="51">TP_CON_SLA_BV_06</Value>
    // Tickets
    <Value val="200">LL_TEST_MODE_JIRA_220</Value>
    <Value val="201">LL_TEST_MODE_MISSED_SLV_EVT</Value>
    <Value val="0xFF">LL_TEST_MODE_INVALID</Value>
  </Values>

  <!-- HCI Vendor Specific Commands %%% -->

  <Command name="HCI_EXT_SetRxGain" type="vc" opcode="0xFC00">
    <Param type="u" size="1" valtype="Rx_Gain_Command_Type">
      <Name>RX Gain</Name>
      <Default>0</Default>
      <Desc>Set RX gain to standard or high.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_SetTxPower" type="vc" opcode="0xFC01">
    <Param type="u" size="1" valtype="Tx_Power_Command_Type">
      <Name>TX Power</Name>
      <Default>2</Default>
      <Desc>CC254x: -23, -6, 0, 4 dBm.</Desc>
      <Desc>CC26xx: -21, -18, -15, -12, -9, -6, -3, 0, 1, 2, 3, 4, 5 dBm.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_OnePktPerEvt" type="vc" opcode="0xFC02">
    <Param type="u" size="1" valtype="One_Pkt_Per_Evt_Command_Type">
      <Name>Control</Name>
      <Default>0</Default>
      <Desc>Enable or disable allowing only one packet per event.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_ClkDivideOnHalt" type="vc" opcode="0xFC03">
    <Param type="u" size="1" valtype="Clk_Div_On_Halt_Command_Type">
      <Name>Control</Name>
      <Default>0</Default>
      <Desc>Enable or disable clock division on halt.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_DeclareNvUsage" type="vc" opcode="0xFC04">
    <Param type="u" size="1" valtype="Declare_NV_Usage_Command_Type">
      <Name>Mode</Name>
      <Default>0</Default>
      <Desc>Indicate NV In Use or NV Not In Use.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_Decrypt" type="vc" opcode="0xFC05">
    <Param type="x" size="16">
      <Name>Key</Name>
      <Default>"BF:01:FB:9D:4E:F3:BC:36:D8:74:F5:39:41:38:68:4C"</Default>
    </Param>
    <Param type="x" size="16">
      <Name>Data</Name>
      <Default>"66:C6:C2:27:8E:3B:8E:05:3E:7E:A3:26:52:1B:AD:99"</Default>
    </Param>
  </Command>

  <Command name="HCI_EXT_SetLocalSupportedFeatures" type="vc" opcode="0xFC06">
    <Param type="x" size="8">
      <Name>FeatureSet</Name>
      <Default>"01:00:00:00:00:00:00:00"</Default>
      <Desc>Write LL local supported features.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_SetFastTxRespTime" type="vc" opcode="0xFC07">
    <Param type="u" size="1" valtype="Fast_Tx_Response_Time_Command_Type">
      <Name>Control</Name>
      <Default>0</Default>
      <Desc>Enable or disable the fast Tx response time feature.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_ModemTestTx" type="vc" opcode="0xFC08">
    <Param type="u" size="1" valtype="Modem_Test_Tx_Command_Type">
      <Name>CW Mode</Name>
      <Default>0</Default>
      <Desc>Set Modem Test CW modulation.</Desc>
    </Param>
    <Param type="u" size="1">
      <Name>TX RF Channel</Name>
      <Default>0</Default>
      <Desc>TX RF Channel 0..39.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_ModemHopTestTx" type="vc" opcode="0xFC09">
  </Command>

  <Command name="HCI_EXT_ModemTestRx" type="vc" opcode="0xFC0A">
    <Param type="u" size="1">
      <Name>RX RF Channel</Name>
      <Default>0</Default>
      <Desc>RX RF Channel 0..39.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_EndModemTest" type="vc" opcode="0xFC0B">
  </Command>

  <Command name="HCI_EXT_SetBDADDR" type="vc" opcode="0xFC0C">
    <Param type="b" size="6">
      <Name>BDADDR</Name>
      <Default>"00:00:00:00:00:00"</Default>
      <Desc>BLE Public Address (MSB..LSB). Use "FF:FF:FF:FF:FF:FF" to restore previous.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_SetSCA" type="vc" opcode="0xFC0D">
    <Param type="u" size="2">
      <Name>SCA</Name>
      <Default>"40"</Default>
      <Desc>BLE Device Sleep Clock Accuracy, in PPM (0..500).</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_EnablePTM" type="vc" opcode="0xFC0E">
    <Desc>BLE Production Test Mode.</Desc>
  </Command>

  <Command name="HCI_EXT_SetFreqTune" type="vc" opcode="0xFC0F">
    <Param type="u" size="1" valtype="Set_Frequency_Tune_Command_Type">
      <Name>Set Freq Tune</Name>
      <Default>"1"</Default>
      <Desc>Set Frequency Tuning up or down.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_SaveFreqTune" type="vc" opcode="0xFC10">
    <Desc>Save Frequency Tuning value.</Desc>
  </Command>

  <Command name="HCI_EXT_SetMaxDtmTxPower" type="vc" opcode="0xFC11">
    <Param type="u" size="1" valtype="Tx_Power_Command_Type">
      <Name>TX Power</Name>
      <Default>3</Default>
      <Desc>Set TX power to -23, -6, 0, or 4 dBm.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_MapPmIoPort" type="vc" opcode="0xFC12">
    <Param type="u" size="1" valtype="Map_PM_IO_Port_Command_Type">
      <Name>PM IO Port</Name>
      <Default>0</Default>
      <Desc>Map PM IO Port to P0, P1, or P2.</Desc>
    </Param>
    <Param type="u" size="1">
      <Name>PM IO Port Pin</Name>
      <Default>0</Default>
      <Desc>Map PM IO Port Pin to 0..7.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_DisconnectImmed" type="vc" opcode="0xFC13">
    <Param type="h" size="2">
      <Name>Connection Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
    <Param type="R">
      <Name>HCI_Command_Status_Event</Name>
      <Default>HCI_EXT_DisconnectImmedDone</Default>
    </Param>
  </Command>

  <Command name="HCI_EXT_PER" type="vc" opcode="0xFC14">
    <Param type="h" size="2">
      <Name>Connection Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
    <Param type="u" size="1" valtype="PER_Command_Type">
      <Name>PER Test Command</Name>
      <Default>0</Default>
      <Desc>Reset or Read the PER counters.</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Status_Event</Name>
      <Default>HCI_EXT_PER</Default>
    </Param>
  </Command>

  <Command name="HCI_EXT_ExtendRfRange" type="vc" opcode="0xFC16">
    <Desc>Extend RF Range.</Desc>
  </Command>

  <Command name="HCI_EXT_AdvEventNotice" type="vc" opcode="0xFC17">
    <Desc>Advertising Event Notice.</Desc>
    <Param type="u" size="1">
      <Name>Task ID</Name>
      <Default>0</Default>
    </Param>
    <Param type="h" size="2">
      <Name>Event</Name>
      <Default>0x0000</Default>
    </Param>
  </Command>

  <Command name="HCI_EXT_ConnEventNotice" type="vc" opcode="0xFC18">
    <Desc>Connection Event Notice.</Desc>
    <Param type="h" size="2">
      <Name>Connection Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
    <Param type="u" size="1">
      <Name>Task ID</Name>
      <Default>0</Default>
    </Param>
    <Param type="h" size="2">
      <Name>Event</Name>
      <Default>0x0000</Default>
    </Param>
  </Command>

  <Command name="HCI_EXT_HaltDuringRf" type="vc" opcode="0xFC19">
    <Param type="u" size="1" valtype="Halt_During_Rf_Command_Type">
      <Name>Mode</Name>
      <Default>1</Default>
      <Desc>Enable/disable Halt During RF.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_OverrideSL" type="vc" opcode="0xFC1A">
    <Param type="u" size="1" valtype="Override_Slave_Latency_Command_Type">
      <Name>Control</Name>
      <Default>0</Default>
      <Desc>Enable or disable suspending slave latency.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_BuildRevision" type="vc" opcode="0xFC1B">
    <Param type="u" size="1" valtype="Build_Revision_Command_Type">
      <Name>Mode</Name>
      <Default>0</Default>
      <Desc>Set User Revision or Get Build Revision.</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>UserRevNum</Name>
      <Default>0</Default>
      <Desc>User Revision Number.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_DelaySleep" type="vc" opcode="0xFC1C">
    <Param type="u" size="2">
      <Name>Delay</Name>
      <Default>0</Default>
      <Desc>Set Sleep Delay.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_ResetSystem" type="vc" opcode="0xFC1D">
    <Param type="u" size="1" valtype="ResetTypes">
      <Name>type</Name>
      <Default>0</Default>
      <Desc></Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_OverlappedProcessing" type="vc" opcode="0xFC1E">
   <Param type="u" size="1" valtype="Overlapped_Processing_Command_Type">
      <Name>Mode</Name>
      <Default>0</Default>
      <Desc>Enable or disable Overlapped Processing.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_NumComplPktsLimit" type="vc" opcode="0xFC1F">
    <Param type="u" size="1">
      <Name>Limit</Name>
      <Default>1</Default>
      <Desc>Set Number of Completed Packets Limit.</Desc>
    </Param>
   <Param type="u" size="1" valtype="NumComplPktsFlush_Command_Type">
      <Name>flushOnEvt</Name>
      <Default>0</Default>
      <Desc>Enable or disable flush of Number of Completed Packets at end of Event.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_GetConnInfo" type="vc" opcode="0xFC20">
    <Desc>Get Connection Related Information.</Desc>
  </Command>

  <Command name="HCI_EXT_SetMaxDataLength" type="vc" opcode="0xFC21">
    <Param type="u" size="2">
      <Name>Tx Octets</Name>
      <Default>0</Default>
      <Desc>Set Supported Max Tx Octets (in bytes).</Desc>
      <Desc>A zero value leaves supportedMax variable unchanged.</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Tx Time</Name>
      <Default>0</Default>
      <Desc>Set Supportex Max Tx Time (in us).</Desc>
      <Desc>A zero value leaves supportedMax variable unchanged.</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Rx Octets</Name>
      <Default>0</Default>
      <Desc>Set Supportex Max Rx Octets (in bytes).</Desc>
      <Desc>A zero value leaves supportedMax variable unchanged.</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Rx Time</Name>
      <Default>0</Default>
      <Desc>Set Supportex Max Rx Octets (in us).</Desc>
      <Desc>A zero value leaves supportedMax variable unchanged.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_ScanEventNotice" type="vc" opcode="0xFC22">
    <Desc>Scan Event Notice.</Desc>
    <Param type="u" size="1">
      <Name>Task ID</Name>
      <Default>0</Default>
    </Param>
    <Param type="h" size="2">
      <Name>Event</Name>
      <Default>0x0000</Default>
    </Param>
  </Command>

  <Command name="HCI_EXT_ScanReqReport" type="vc" opcode="0xFC23">
    <Param type="u" size="1" valtype="Scan_Request_Command_Type">
      <Name>Mode</Name>
      <Default>0</Default>
      <Desc>Enable or disable Scan Request Report.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_SetDtmTxPktCntCmd" type="vc" opcode="0xFC24">
    <Param type="h" size="2">
      <Name>txPktCnt</Name>
      <Default>0x0000</Default>
      <Desc>Set number of Tx packets to send with DTM Tx commands.</Desc>
    </Param>
  </Command>

  <Command name="HCI_EXT_LLTestMode" type="vc" opcode="0xFC70">
    <Param type="u" size="1" valtype="LLTestModeTestCases">
      <Name>Test Case</Name>
      <Default>0xFF</Default>
      <Desc>Core Test Spec Test Case - Note: Must build with LL_TEST_MODE</Desc>
    </Param>
  </Command>

  <Command name="GAP_DeviceInit" type="vc" opcode="0xFE00">
    <Param type="u" valtype="ProfileRoles" size="1">
      <Name>profileRole</Name>
      <Default>8</Default>
      <Desc>Bit Mask - GAP Profile Roles</Desc>
    </Param>
    <Param type="u" size="1">
      <Name>maxScanResponses</Name>
      <Default>3</Default>
      <Desc>Maximum number of scan responses we can receive during a device discovery.</Desc>
    </Param>
    <Param type="x" size="16">
      <Name>IRK</Name>
      <Default>0</Default>
      <Desc>Identity Resolving Key.  "0" if you want the key to be generated.</Desc>
    </Param>
    <Param type="x" size="16">
      <Name>CSRK</Name>
      <Default>0</Default>
      <Desc>Connection Signature Resolving Key.  "0" if you want the key to be generated.</Desc>
    </Param>
    <Param type="u" size="4">
      <Name>signCounter</Name>
      <Default>1</Default>
      <Desc>32 bit Signature Counter.</Desc>
    </Param>
  </Command>

  <Command name="GAP_ConfigDeviceAddr" type="vc" opcode="0xFE03">
    <Param type="u" valtype="AddrModes" size="1">
      <Name>addrType</Name>
      <Default>0</Default>
      <Desc>Configure the device's address mode (Public or Random).  </Desc>
    </Param>
    <Param type="b" size="6">
      <Name>Addr</Name>
      <Default>"00:00:00:00:00:00"</Default>
    </Param>
  </Command>

  <Command name="GAP_DeviceDiscoveryRequest" type="vc" opcode="0xFE04">
    <Param type="u" size="1" valtype="GeneralLimited">
      <Name>mode</Name>
      <Default>3</Default>
      <Desc></Desc>
    </Param>
    <Param type="u" size="1" valtype="DisableEnable">
      <Name>activeScan</Name>
      <Default>1</Default>
    </Param>
    <Param type="u" size="1" valtype="DiscoveryFilterPolicy">
      <Name>whiteList</Name>
      <Default>0</Default>
      <Desc>Enabled to only allow advertisements from devices in the white list and/or directed advertisements using RPA that can be resolved.</Desc>
    </Param>
  </Command>

  <Command name="GAP_DeviceDiscoveryCancel" type="vc" opcode="0xFE05">
  </Command>

  <Command name="GAP_MakeDiscoverable" type="vc" opcode="0xFE06">
    <Param type="u" valtype="AdEventTypes" size="1">
      <Name>eventType</Name>
      <Default>0</Default>
      <Desc>Advertising event type</Desc>
    </Param>
    <Param type="u" valtype="AddrTypes" size="1">
      <Name>initiatorAddrType</Name>
      <Default>0</Default>
    </Param>
    <Param type="b" size="6">
      <Name>initiatorAddr</Name>
      <Default>0</Default>
      <Desc>Used only with connectable directed eventType (ADV_EVTTYPE_CONNECTABLE_DIRECTED)</Desc>
    </Param>
    <Param type="u" size="1" valtype="AdvertisingChannels">
      <Name>channelMap</Name>
      <Default>0x07</Default>
      <Desc>Bit mask - 0x07 all channels</Desc>
    </Param>
    <Param type="u" size="1" valtype="FilterPolicyTypes">
      <Name>filterPolicy</Name>
      <Default>0x00</Default>
      <Desc>Filer Policy. Ignored when directed advertising is used.</Desc>
    </Param>
  </Command>

  <Command name="GAP_UpdateAdvertisingData" type="vc" opcode="0xFE07">
    <Param type="u" valtype="AdTypes" size="1">
      <Name>adType</Name>
      <Default>1</Default>
    </Param>
    <Param type="u" size="1" prop="h">
      <Name>dataLen</Name>
      <Value>size(adData)</Value>
    </Param>
    <Param type="x" size="input" label="adData">
      <Name>advertData</Name>
      <Default>"02:01:06"</Default>
      <Desc>"0A:09:50:65:64:6F:6D:65:74:65:72" "02:01:02"</Desc>
    </Param>
  </Command>

  <Command name="GAP_EndDiscoverable" type="vc" opcode="0xFE08">
  </Command>

  <Command name="GAP_EstablishLinkReq" type="vc" opcode="0xFE09">
    <Param type="u" size="1" valtype="DisableEnable">
      <Name>highDutyCycle</Name>
      <Default>0</Default>
      <Desc>A Central Device may use high duty cycle scan parameters in order to achieve low latency connection time with a Peripheral device using Directed Link Establishment.</Desc>
    </Param>
    <Param type="u" size="1" valtype="DisableEnable">
      <Name>whiteList</Name>
      <Default>0</Default>
    </Param>
    <Param type="u" valtype="AddrTypes" size="1">
      <Name>addrTypePeer</Name>
      <Default>0</Default>
    </Param>
    <Param type="b" size="6">
      <Name>peerAddr</Name>
      <Default>"00:00:00:00:00:00"</Default>
    </Param>
  </Command>

  <Command name="GAP_TerminateLinkReq" type="vc" opcode="0xFE0A">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>
        connection handle of link to terminate.
        GAP_CONNHANDLE_INIT (0xFFFE)- terminates "link create"
        GAP_CONNHANDLE_ALL (0xFFFF) - terminates all links
      </Desc>
    </Param>
    <Param type="u" valtype="DisconnectReason" size="1">
      <Name>reason</Name>
      <Default>0x13</Default>
    </Param>
  </Command>

  <Command name="GAP_Authenticate" type="vc" opcode="0xFE0B">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
    </Param>
    <Param type="u" size="1" valtype="IOCapabilities">
      <Name>secReq.ioCaps</Name>
      <Default>3</Default>
      <Desc>Defines the values which are used when exchanging IO capabilities</Desc>
    </Param>
    <Param type="u" size="1" valtype="DisableEnable">
      <Name>secReq.oobAvailable</Name>
      <Default>0</Default>
      <Desc>"Enable" if Out-of-band key available.</Desc>
    </Param>
    <Param type="x" size="16">
      <Name>secReq.oob</Name>
      <Default>"4d:9f:88:5a:6e:03:12:fe:00:00:00:00:00:00:00:00"</Default>
      <Desc>OOB Key - 16 bytes in length.</Desc>
    </Param>
	<Param type="x" size="16">
      <Name>secReq.oobConfirm</Name>
	  <Default>"00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00"</Default>
      <Desc>Secure Connections OOB confirm value - 16 bytes in length.</Desc>
    </Param>
	<Param type="u" size="1">
      <Name>secReq.localOobAvailable</Name>
	  <Default>0</Default>
      <Desc>Secure Connectons. 1 if local this device sent OOB data, 0 if not.</Desc>
    </Param>
	<Param type="x" size="16">
      <Name>secReq.localOob</Name>
	  <Default>"00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00"</Default>
      <Desc>Secure Connections local OOB value - 16 bytes in length.</Desc>
    </Param>
	<Param type="u" size="1">
      <Name>secReq.isSCOnlyMode</Name>
	  <Default>0</Default>
      <Desc>1 if Secure Connections Only Mode, 0 if not.</Desc>
    </Param>
	<Param type="u" size="1">
      <Name>secReq.eccKeys.isUsed</Name>
	  <Default>0</Default>
      <Desc>1 if ECC Keys are specified, 0 for internal generation.</Desc>
    </Param>
	<Param type="x" size="32">
      <Name>secReq.eccKeys.sK</Name>
	  <Default>"BD:1A:3C:CD:A6:B8:99:58:99:B7:40:EB:7B:60:FF:4A:50:3F:10:D2:E3:B3:C9:74:38:5F:C5:A3:D4:F6:49:3F"</Default>
      <Desc>private key - 32 bytes in length.</Desc>
    </Param>
	<Param type="x" size="32">
      <Name>secReq.eccKeys.pK_x</Name>
	  <Default>"E6:9D:35:0E:48:01:03:CC:DB:FD:F4:AC:11:91:F4:EF:B9:A5:F9:E9:A7:83:2C:5E:2C:BE:97:F2:D2:03:B0:20"</Default>
      <Desc>public key X-Coordinate - 32 bytes in length.</Desc>
    </Param>
	<Param type="x" size="32">
      <Name>secReq.eccKeys.pK_y</Name>
	  <Default>"8B:D2:89:15:D0:8E:1C:74:24:30:ED:8F:C2:45:63:76:5C:15:52:5A:BF:9A:32:63:6D:EB:2A:65:49:9C:80:DC"</Default>
      <Desc>public key Y-Coordinate - 32 bytes in length.</Desc>
    </Param>
    <Param type="u" valtype="AuthReqs" size="1">
      <Name>secReq.authReq</Name>
      <Default>1</Default>
      <Desc>
        A bit field that indicates the requested security
        properties for STK and GAP bonding information.
      </Desc>
    </Param>
    <Param type="u" size="1">
      <Name>secReq.maxEncKeySize</Name>
      <Default>16</Default>
      <Desc>
        This value defines the maximum encryption key size in octets
        that the device can support.  Range: 7 to 16.
      </Desc>
    </Param>
    <Param type="u" size="1" valtype="KeyTypes">
      <Name>secReq.keyDist</Name>
      <Default>119</Default>
      <Desc>
        The Key Distribution field indicates which keys will be distributed.
      </Desc>
    </Param>
    <Param type="u" size="1" valtype="DisableEnable">
      <Name>pairReq.Enable</Name>
      <Default>0</Default>
      <Desc>
        "Enable" if Pairing Request has already been received and to respond with a
        Pairing Response. This should only be used in a Peripheral device.
      </Desc>
    </Param>
    <Param type="u" size="1" valtype="IOCapabilities">
      <Name>pairReq.ioCaps</Name>
      <Default>3</Default>
      <Desc>Defines the values which are used when exchanging IO capabilities</Desc>
    </Param>
    <Param type="u" size="1" valtype="DisableEnable">
      <Name>pairReq.oobDataFlag</Name>
      <Default>0</Default>
      <Desc>"Enable" if Out-of-band key available.</Desc>
    </Param>
    <Param type="u" valtype="AuthReqs" size="1">
      <Name>pairReq.authReq</Name>
      <Default>1</Default>
      <Desc>
        A bit field that indicates the requested security
        properties for STK and GAP bonding information.
      </Desc>
    </Param>
    <Param type="u" size="1">
      <Name>pairReq.maxEncKeySize</Name>
      <Default>16</Default>
      <Desc>
        This value defines the maximum encryption key size in octets
        that the device can support.  Range: 7 to 16.
      </Desc>
    </Param>
    <Param type="u" size="1" valtype="KeyTypes">
      <Name>pairReq.keyDist</Name>
      <Default>119</Default>
      <Desc>
        The Key Distribution field indicates which keys will be distributed.
      </Desc>
    </Param>
  </Command>

  <Command name="GAP_TerminateAuth" type="vc" opcode="0xFE10">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
    </Param>
    <Param type="u" size="1" valtype="SMPFailureTypes">
      <Name>reason</Name>
      <Default>3</Default>
      <Desc>Pairing Failed Message reason field.</Desc>
    </Param>
  </Command>

  <Command name="GAP_UpdateLinkParamReq" type="vc" opcode="0xFE11">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>intervalMin</Name>
      <Default>80</Default>
      <Desc>The minimum allowed connection interval</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>intervalMax</Name>
      <Default>160</Default>
      <Desc>The maximum allowed connection interval</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>connLatency</Name>
      <Default>0</Default>
      <Desc>The maximum allowed connection latency</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>connTimeout</Name>
      <Default>1000</Default>
      <Desc>The link supervision timeout</Desc>
    </Param>
  </Command>

  <Command name="GAP_UpdateLinkParamReqReply" type="vc" opcode="0xFE12">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>intervalMin</Name>
      <Default>80</Default>
      <Desc>The minimum allowed connection interval</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>intervalMax</Name>
      <Default>160</Default>
      <Desc>The maximum allowed connection interval</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>connLatency</Name>
      <Default>0</Default>
      <Desc>The maximum allowed connection latency</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>connTimeout</Name>
      <Default>1000</Default>
      <Desc>The link supervision timeout</Desc>
    </Param>
    <Param type="u" size="1" valtype="NoYes">
      <Name>accepted</Name>
      <Default>1</Default>
      <Desc>Yes to accept Parameter Update Request, No to reject.</Desc>
    </Param>
  </Command>

  <Command name="GAP_Bond" type="vc" opcode="0xFE0F">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
    </Param>
    <Param type="u" size="1" valtype="NoYes">
      <Name>authenticated</Name>
      <Default>0</Default>
      <Desc>1 if authenticated. 0 if not.</Desc>
    </Param>
	<Param type="u" size="1" valtype="NoYes">
	  <Name>secureConnections</Name>
	  <Default>0</Default>
	  <Desc>1 if Secure Connections. 0 if not.</Desc>
	</Param>
    <Param type="x" size="16">
      <Name>secInfo.LTK</Name>
      <Default>"4d:9f:88:5a:6e:03:12:fe:00:00:00:00:00:00:00:00"</Default>
      <Desc>Long Term Key</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>secInfo.DIV</Name>
      <Default>0x1111</Default>
      <Desc>Diversifier</Desc>
    </Param>
    <Param type="x" size="8">
      <Name>secInfo.rand</Name>
      <Default>"11:22:33:44:55:66:77:88"</Default>
      <Desc>LTK Rand pairing</Desc>
    </Param>
    <Param type="u" size="1">
      <Name>secInfo.LTKsize</Name>
      <Default>16</Default>
      <Desc>LTK Key size (bytes).  The min is 7 and the max is 16.</Desc>
    </Param>
  </Command>

  <Command name="GAP_Signable" type="vc" opcode="0xFE0E">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc></Desc>
    </Param>
    <Param type="u" size="1" valtype="NoYes">
      <Name>authenticated</Name>
      <Default>0</Default>
      <Desc>"Enable" if the signing information was authenticated.</Desc>
    </Param>
    <Param type="x" size="16">
      <Name>CSRK</Name>
      <Default>0</Default>
      <Desc>Connection Signature Resolving Key for the connected device</Desc>
    </Param>
    <Param type="u" size="4">
      <Name>signCounter</Name>
      <Default>0</Default>
      <Desc>Sign Counter for the connected device</Desc>
    </Param>
  </Command>

  <Command name="GAP_PasskeyUpdate" type="vc" opcode="0xFE0C">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>
        connection handle of link for Passkey.
      </Desc>
    </Param>
    <Param type="s" size="6" >
      <Name>Passkey</Name>
      <Default>"019655"</Default>
      <Desc>Pairing Passkey - 6 digit string of numbers 0-9.  "019655" is a value of 0x4CC7</Desc>
    </Param>
  </Command>

  <Command name="GAP_SlaveSecurityRequest" type="vc" opcode="0xFE0D">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>
        connection handle of link.
      </Desc>
    </Param>
    <Param type="u" size="1" valtype="AuthReqs" >
      <Name>authReq</Name>
      <Default>5</Default>
      <Desc>Bit 3: SC, Bit 2: MITM, Bits 0-1: Bonding</Desc>
    </Param>
  </Command>

  <Command name="GAP_SetParam" type="vc" opcode="0xFE30">
    <Param type="u" size="1" valtype="GAPParamIDs">
      <Name>paramID</Name>
      <Default>2</Default>
    </Param>
    <Param type="u" size="2">
      <Name>paramValue</Name>
      <Default>30720</Default>
    </Param>
  </Command>

  <Command name="GAP_GetParam" type="vc" opcode="0xFE31">
    <Param type="u" size="1" valtype="GAPParamIDs">
      <Name>paramID</Name>
      <Default>2</Default>
    </Param>
  </Command>

  <Command name="GAP_ResolvePrivateAddr" type="vc" opcode="0xFE32">
    <Param type="x" size="16">
      <Name>IRK</Name>
      <Default>0</Default>
      <Desc>Identity Resolving Key of the device your looking for</Desc>
    </Param>
    <Param type="b" size="6">
      <Name>Addr</Name>
      <Default>0</Default>
      <Desc>Random Private address to resolve</Desc>
    </Param>
  </Command>

  <Command name="GAP_SetAdvToken" type="vc" opcode="0xFE33">
    <Param type="u" size="1" valtype="GAPAdTypes">
      <Name>adType</Name>
      <Default>0x1</Default>
      <Desc>Advertisement Data Type</Desc>
    </Param>
    <Param type="u" size="1" prop="h">
      <Name>advDataLen</Name>
      <Value>size(advData)</Value>
    </Param>
    <Param type="x" size="input" label="advData">
      <Name>advData</Name>
      <Default>"06"</Default>
      <Desc>Adv Data Field (default: General Discovery, Non-BR/EDR).  Ex. "02:FF" for 2 bytes</Desc>
    </Param>
  </Command>

  <Command name="GAP_RemoveAdvToken" type="vc" opcode="0xFE34">
    <Param type="u" size="1" valtype="GAPAdTypes">
      <Name>adType</Name>
      <Default>0x1</Default>
      <Desc>Advertisement Data Type</Desc>
    </Param>
  </Command>

  <Command name="GAP_UpdateAdvTokens" type="vc" opcode="0xFE35">
  </Command>

  <Command name="GAP_BondSetParam" type="vc" opcode="0xFE36">
    <Param type="u" size="2" valtype="GAPBondParamIDs">
      <Name>paramID</Name>
      <Default>0x400</Default>
    </Param>
    <Param type="u" size="1" prop="h">
      <Name>paramDataLen</Name>
      <Value>size(paramData)</Value>
    </Param>
    <Param type="x" size="input" label="paramData">
      <Name>paramData</Name>
      <Default>"00"</Default>
      <Desc>Param Data Field.  Ex. "02:FF" for 2 bytes 0xFF02</Desc>
    </Param>
  </Command>

  <Command name="GAP_BondGetParam" type="vc" opcode="0xFE37">
    <Param type="u" size="2" valtype="GAPBondParamIDs">
      <Name>paramID</Name>
      <Default>0x400</Default>
    </Param>
  </Command>

  <Command name="GAP_BondServiceChange" type="vc" opcode="0xFE38">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>
        Connection handle of existing link or 0xFFFF for all devices (bonded or connected).
      </Desc>
    </Param>
    <Param type="u" size="1" valtype="NoYes">
      <Name>setParam</Name>
      <Default>1</Default>
      <Desc>"Yes" to set the Service Change indication in the bond record, "No" to clear the indication.</Desc>
    </Param>
  </Command>


  <Command name="SM_RegisterTask" type="vc" opcode="0xFE39">
  </Command>

  <Command name="SM_GetEccKeys" type="vc" opcode="0xFE3A">
  </Command>

  <Command name="SM_GetDHKey" type="vc" opcode ="0xFE3B">
    <Param type="x" size="32">
	    <Name>PrivateKey</Name>
	    <Default>"00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00"</Default>
	    <Desc>ECC Private Key</Desc>
	  </Param>
    <Param type="x" size="32">
	    <Name>PublicKey1</Name>
	    <Default>"00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00"</Default>
	    <Desc>Local device's public key X-coordinate.</Desc>
	  </Param>
	  <Param type="x" size="32">
	    <Name>PublicKey2</Name>
	    <Default>"00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00"</Default>
	    <Desc>Remote device's public key X-coordinate.</Desc>
	  </Param>
  </Command>

  <Command name="SM_GetScConfirmOob" type="vc" opcode="0xFE3C">
    <Param type="x" size="32">
	  <Name>PublicKey</Name>
	  <Default>"00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00"</Default>
	  <Desc>Local device's public key X-coordinate</Desc>
	</Param>
	<Param type="x" size="16">
	  <Name>oob</Name>
	  <Default>"00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00"</Default>
	  <Desc>Local out of bands to send to a remote device</Desc>
	</Param>
  </Command>

<!-- *******************************************************
  <Command name="UTIL_Reserved" type="vc" opcode="0xFE80">
    <Param type="u" size="1" valtype="ResetTypes">
      <Name>type</Name>
      <Default>0</Default>
      <Desc></Desc>
    </Param>
  </Command>
-- ******************************************************* -->

  <Command name="UTIL_NV_Read" type="vc" opcode="0xFE81">
    <Param type="u" size="1">
      <Name>nvID</Name>
      <Default>0</Default>
      <Desc></Desc>
    </Param>
    <Param type="u" size="1">
      <Name>nvLen</Name>
      <Default>0</Default>
      <Desc></Desc>
    </Param>
  </Command>

  <Command name="UTIL_NV_Write" type="vc" opcode="0xFE82">
    <Param type="u" size="1">
      <Name>nvID</Name>
      <Default>0</Default>
      <Desc></Desc>
    </Param>
    <Param type="u" size="1" prop="h">
      <Name>nvDataLen</Name>
      <Value>size(nvData)</Value>
    </Param>
    <Param type="x" size="input" label="nvData">
      <Name>nvData</Name>
      <Default>"00"</Default>
      <Desc>NV Data Field. Structure can be different for each NV item</Desc>
    </Param>
  </Command>

  <Command name="UTIL_ForceBoot" type="vc" opcode="0xFE83">
  </Command>

  <Command name="UTIL_BuildRevision" type="vc" opcode="0xFE84">
  </Command>

  <Command name="L2CAP_Data" type="vc" opcode="0xFCF0">
    <Param type="u" size="2">
      <Name>CID</Name>
      <Default>0x0040</Default>
      <Desc>Local Channel ID</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>SDU</Name>
      <Default>""</Default>
      <Desc>SDU to be sent on the channel</Desc>
    </Param>
  </Command>

  <Command name="L2CAP_RegisterPsm" type="vc" opcode="0xFCF1">
    <Param type="u" size="2">
      <Name>PSM</Name>
      <Default>0x0001</Default>
      <Desc>Local Protocol/Service Multiplexer (PSM)</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>MTU</Name>
      <Default>0x0017</Default>
      <Desc>Maximum SDU size that can be received by PSM</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>initialPeerCredits</Name>
      <Default>0x0001</Default>
      <Desc>Number of packets that peer device can send to local device</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>peerCreditThreshold</Name>
      <Default>0x0000</Default>
      <Desc>Low threshold for peer credits</Desc>
    </Param>
    <Param type="u" size="1">
      <Name>maxNumChannels</Name>
      <Default>0x01</Default>
      <Desc>Maximum number of Connection Oriented Channels supported by PSM</Desc>
    </Param>
    <Param type="u" size="1" valtype="NoYes">
      <Name>enableSecurityVerification</Name>
      <Default>0x00</Default>
      <Desc>Indicates whether to enable security verification by the application for any incoming connection request</Desc>
    </Param>
  </Command>

  <Command name="L2CAP_DeregisterPsm" type="vc" opcode="0xFCF2">
    <Param type="u" size="2">
      <Name>PSM</Name>
      <Default>0x0001</Default>
      <Desc>Local Protocol/Service Multiplexer (PSM)</Desc>
    </Param>
  </Command>

  <Command name="L2CAP_PsmInfo" type="vc" opcode="0xFCF3">
    <Param type="u" size="2">
      <Name>PSM</Name>
      <Default>0x0001</Default>
      <Desc>Local Protocol/Service Multiplexer (PSM)</Desc>
    </Param>
  </Command>

  <Command name="L2CAP_PsmChannels" type="vc" opcode="0xFCF4">
    <Param type="u" size="2">
      <Name>PSM</Name>
      <Default>0x0001</Default>
      <Desc>Local Protocol/Service Multiplexer (PSM)</Desc>
    </Param>
  </Command>

  <Command name="L2CAP_ChannelInfo" type="vc" opcode="0xFCF5">
    <Param type="u" size="2">
      <Name>CID</Name>
      <Default>0x0040</Default>
      <Desc>Local Channel ID</Desc>
    </Param>
  </Command>

  <Command name="L2CAP_ConnectReq" type="vc" opcode="0xFC94">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>PSM</Name>
      <Default>0x0001</Default>
      <Desc>Local Protocol/Service Multiplexer (PSM)</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>peerPSM</Name>
      <Default>0x0001</Default>
      <Desc>Peer Protocol/Service Multiplexer (PSM)</Desc>
    </Param>
  </Command>

  <Command name="L2CAP_ConnectRsp" type="vc" opcode="0xFC95">
    <Param type="u" size="2" >
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="1">
      <Name>id</Name>
      <Default>0x01</Default>
      <Desc>Identifier to match responses with requests</Desc>
    </Param>
    <Param type="u" size="2" valtype="ConnectResultValues">
      <Name>result</Name>
      <Default>0x0000</Default>
      <Desc>Indicates outcome of connection request</Desc>
    </Param>
  </Command>

  <Command name="L2CAP_DisconnectReq" type="vc" opcode="0xFC86">
    <Param type="u" size="2">
      <Name>CID</Name>
      <Default>0x0040</Default>
      <Desc>Local Channel ID</Desc>
    </Param>
  </Command>

  <Command name="L2CAP_FlowCtrlCredit" type="vc" opcode="0xFC96">
    <Param type="u" size="2">
      <Name>CID</Name>
      <Default>0x0040</Default>
      <Desc>Local Channel ID</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>peerCredits</Name>
      <Default>0x0001</Default>
      <Desc>Number of LE-frames that can be sent to local device</Desc>
    </Param>
  </Command>

  <Command name="L2CAP_InfoReq" type="vc" opcode="0xFC8A">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2" valtype="InfoTypes">
      <Name>infoType</Name>
      <Default>0x0002</Default>
      <Desc>The type of implementation specific information being requested</Desc>
    </Param>
  </Command>

  <Command name="L2CAP_ConnParamUpdateReq" type="vc" opcode="0xFC92">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>intervalMin</Name>
      <Default>80</Default>
      <Desc>The minimum value for the connection event interval</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>intervalMax</Name>
      <Default>160</Default>
      <Desc>The maximum value for the connection event interval</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>slaveLatency</Name>
      <Default>0</Default>
      <Desc>The slave latency parameter</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>timeoutMultiplier</Name>
      <Default>1000</Default>
      <Desc>The connection timeout parameter</Desc>
    </Param>
  </Command>

  <Command name="ATT_ErrorRsp" type="vc" opcode="0xFD01">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="1" valtype="reqOpcode">
      <Name>reqOpcode</Name>
      <Desc>The request that generated this error response</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The attribute handle that generated this error response</Desc>
    </Param>
    <Param type="u" size="1" valtype="ATTErrorCode">
      <Name>errorCode</Name>
      <Desc>The reason why the request has generated an error response</Desc>
    </Param>
  </Command>

  <Command name="ATT_ExchangeMTUReq" type="vc" opcode="0xFD02">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>clientRxMTU</Name>
      <Default>23</Default>
      <Desc>Attribute client receive MTU size</Desc>
    </Param>
  </Command>

  <Command name="ATT_ExchangeMTURsp" type="vc" opcode="0xFD03">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>serverRxMTU</Name>
      <Default>23</Default>
      <Desc>Attribute server receive MTU size</Desc>
    </Param>
  </Command>

  <Command name="ATT_FindInfoReq" type="vc" opcode="0xFD04">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>startHandle</Name>
      <Default>0x0001</Default>
      <Desc>First requested handle number</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>endHandle</Name>
      <Default>0xFFFF</Default>
      <Desc>Last requested handle number</Desc>
    </Param>
  </Command>

  <Command name="ATT_FindInfoRsp" type="vc" opcode="0xFD05">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="1" valtype="infoFormat">
      <Name>format</Name>
      <Default>0x01</Default>
      <Desc>The format of the information data</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>info</Name>
      <Default>""</Default>
      <Desc>The information data whose format is determined by the format field</Desc>
    </Param>
  </Command>

  <Command name="ATT_FindByTypeValueReq" type="vc" opcode="0xFD06">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>startHandle</Name>
      <Default>0x0001</Default>
      <Desc>First requested handle number</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>endHandle</Name>
      <Default>0xFFFF</Default>
      <Desc>Last requested handle number</Desc>
    </Param>
    <Param type="x" size="2">
      <Name>type</Name>
      <Default>"00:00"</Default>
      <Desc>2-octet UUID to find</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>value</Name>
      <Default>""</Default>
      <Desc>Attribute value to find</Desc>
    </Param>
  </Command>

  <Command name="ATT_FindByTypeValueRsp" type="vc" opcode="0xFD07">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>handlesInfo</Name>
      <Default>""</Default>
      <Desc>A list of 1 or more Handles Information (found attribute handle and group end handle)</Desc>
    </Param>
  </Command>

  <Command name="ATT_ReadByTypeReq" type="vc" opcode="0xFD08">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>startHandle</Name>
      <Default>0x0001</Default>
      <Desc>First requested handle number</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>endHandle</Name>
      <Default>0xFFFF</Default>
      <Desc>Last requested handle number</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>type</Name>
      <Default>"00:00"</Default>
      <Desc>2 or 16 octet UUID</Desc>
    </Param>
  </Command>

  <Command name="ATT_ReadByTypeRsp" type="vc" opcode="0xFD09">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="1">
      <Name>length</Name>
      <Default>0</Default>
      <Desc>The size of each attribute handle-value pair</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>dataList</Name>
      <Default>""</Default>
      <Desc>A list of Attribute Data (handle-value pairs)</Desc>
    </Param>
  </Command>

  <Command name="ATT_ReadReq" type="vc" opcode="0xFD0A">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute to be read</Desc>
    </Param>
  </Command>

  <Command name="ATT_ReadRsp" type="vc" opcode="0xFD0B">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>value</Name>
      <Default>""</Default>
      <Desc>The value of the attribute with the handle given</Desc>
    </Param>
  </Command>

  <Command name="ATT_ReadBlobReq" type="vc" opcode="0xFD0C">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc></Desc>
    </Param>
    <Param type="u" size="2">
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute to be read</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>offset</Name>
      <Default>0</Default>
      <Desc>The offset of the first octet to be read</Desc>
    </Param>
  </Command>

  <Command name="ATT_ReadBlobRsp" type="vc" opcode="0xFD0D">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>value</Name>
      <Default>""</Default>
      <Desc>Part of the value of the attribute with the handle given</Desc>
    </Param>
  </Command>

  <Command name="ATT_ReadMultiReq" type="vc" opcode="0xFD0E">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>handles</Name>
      <Default>""</Default>
      <Desc>A set of two or more attribute handles</Desc>
    </Param>
  </Command>

  <Command name="ATT_ReadMultiRsp" type="vc" opcode="0xFD0F">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>values</Name>
      <Default>""</Default>
      <Desc>A set of two or more values</Desc>
    </Param>
  </Command>

  <Command name="ATT_ReadByGrpTypeReq" type="vc" opcode="0xFD10">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>startHandle</Name>
      <Default>0x0001</Default>
      <Desc>First requested handle number</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>endHandle</Name>
      <Default>0xFFFF</Default>
      <Desc>Last requested handle number</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>groupType</Name>
      <Default>"00:00"</Default>
      <Desc>2 or 16 octet UUID</Desc>
    </Param>
  </Command>

  <Command name="ATT_ReadByGrpTypeRsp" type="vc" opcode="0xFD11">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="1">
      <Name>length</Name>
      <Default>0</Default>
      <Desc>The size of each Attribute Data (attribute handle, end group handle and attribute value set)</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>dataList</Name>
      <Default>""</Default>
      <Desc>A list of Attribute Data (attribute handle, end group handle and attribute value sets)</Desc>
    </Param>
  </Command>

  <Command name="ATT_WriteReq" type="vc" opcode="0xFD12">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="1" valtype="NoYes">
      <Name>signature</Name>
      <Default>0x00</Default>
      <Desc>Whether to include the Authentication Signature with the Write PDU</Desc>
    </Param>
    <Param type="u" size="1" valtype="NoYes">
      <Name>command</Name>
      <Default>0x00</Default>
      <Desc>Whether this is the Write Command</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute to be set</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>value</Name>
      <Default>""</Default>
      <Desc>The value to be written to the attribute</Desc>
    </Param>
  </Command>

  <Command name="ATT_WriteRsp" type="vc" opcode="0xFD13">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
  </Command>

  <Command name="ATT_PrepareWriteReq" type="vc" opcode="0xFD16">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute to be written</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>offset</Name>
      <Default>0</Default>
      <Desc>The offset of the first octet to be written</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>value</Name>
      <Default>""</Default>
      <Desc>Part of the value of the attribute to be written</Desc>
    </Param>
  </Command>

  <Command name="ATT_PrepareWriteRsp" type="vc" opcode="0xFD17">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute to be written</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>offset</Name>
      <Default>0</Default>
      <Desc>The offset of the first octet to be written</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>value</Name>
      <Default>""</Default>
      <Desc>Part of the value of the attribute to be written</Desc>
    </Param>
  </Command>

  <Command name="ATT_ExecuteWriteReq" type="vc" opcode="0xFD18">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="1" valtype="ExecuteFlags">
      <Name>flags</Name>
      <Default>0x01</Default>
    </Param>
  </Command>

  <Command name="ATT_ExecuteWriteRsp" type="vc" opcode="0xFD19">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
  </Command>

  <Command name="ATT_HandleValueNoti" type="vc" opcode="0xFD1B">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="1" valtype="NoYes">
      <Name>authenticated</Name>
      <Default>0x00</Default>
      <Desc>Whether or not an authenticated link is required</Desc>
    </Param>
    <Param type="u" size="2" >
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>value</Name>
      <Default>""</Default>
      <Desc>The current value of the attribute</Desc>
    </Param>
  </Command>

  <Command name="ATT_HandleValueInd" type="vc" opcode="0xFD1D">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="1" valtype="NoYes">
      <Name>authenticated</Name>
      <Default>0x00</Default>
      <Desc>Whether or not an authenticated link is required</Desc>
    </Param>
    <Param type="u" size="2" >
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>value</Name>
      <Default>""</Default>
      <Desc>The current value of the attribute</Desc>
    </Param>
  </Command>

  <Command name="ATT_HandleValueCfm" type="vc" opcode="0xFD1E">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
  </Command>

  <!-- GATT Sub-Procedures -->

  <Command name="GATT_ExchangeMTU" type="vc" opcode="0xFD82">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>clientRxMTU</Name>
      <Default>23</Default>
      <Desc>Attribute client receive MTU size</Desc>
    </Param>
  </Command>

  <Command name="GATT_DiscAllPrimaryServices" type="vc" opcode="0xFD90">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
  </Command>

  <Command name="GATT_DiscPrimaryServiceByUUID" type="vc" opcode="0xFD86">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>value</Name>
      <Default>""</Default>
      <Desc>Attribute value to find</Desc>
    </Param>
  </Command>

  <Command name="GATT_FindIncludedServices" type="vc" opcode="0xFDB0">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>startHandle</Name>
      <Default>0x0001</Default>
      <Desc>First requested handle number</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>endHandle</Name>
      <Default>0xFFFF</Default>
      <Desc>Last requested handle number</Desc>
    </Param>
  </Command>

  <Command name="GATT_DiscAllChars" type="vc" opcode="0xFDB2">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>startHandle</Name>
      <Default>0x0001</Default>
      <Desc>First requested handle number</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>endHandle</Name>
      <Default>0xFFFF</Default>
      <Desc>Last requested handle number</Desc>
    </Param>
  </Command>

  <Command name="GATT_DiscCharsByUUID" type="vc" opcode="0xFD88">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>startHandle</Name>
      <Default>0x0001</Default>
      <Desc>First requested handle number</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>endHandle</Name>
      <Default>0xFFFF</Default>
      <Desc>Last requested handle number</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>type</Name>
      <Default>"00:00"</Default>
      <Desc>2 or 16 octet UUID</Desc>
    </Param>
  </Command>

  <Command name="GATT_DiscAllCharDescs" type="vc" opcode="0xFD84">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>startHandle</Name>
      <Default>0x0001</Default>
      <Desc>First requested handle number</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>endHandle</Name>
      <Default>0xFFFF</Default>
      <Desc>Last requested handle number</Desc>
    </Param>
  </Command>

  <Command name="GATT_ReadCharValue" type="vc" opcode="0xFD8A">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute to be read</Desc>
    </Param>
  </Command>

  <Command name="GATT_ReadUsingCharUUID" type="vc" opcode="0xFDB4">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>startHandle</Name>
      <Default>0x0001</Default>
      <Desc>First requested handle number</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>endHandle</Name>
      <Default>0xFFFF</Default>
      <Desc>Last requested handle number</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>type</Name>
      <Default>"00:00"</Default>
      <Desc>2 or 16 octet UUID</Desc>
    </Param>
  </Command>

  <Command name="GATT_ReadLongCharValue" type="vc" opcode="0xFD8C">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc></Desc>
    </Param>
    <Param type="u" size="2">
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute to be read</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>offset</Name>
      <Default>0</Default>
      <Desc>The offset of the first octet to be read</Desc>
    </Param>
  </Command>

  <Command name="GATT_ReadMultiCharValues" type="vc" opcode="0xFD8E">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>handles</Name>
      <Default>""</Default>
      <Desc>A set of two or more attribute handles</Desc>
    </Param>
  </Command>

  <Command name="GATT_WriteNoRsp" type="vc" opcode="0xFDB6">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute to be set</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>value</Name>
      <Default>""</Default>
      <Desc>The value to be written to the attribute</Desc>
    </Param>
  </Command>

  <Command name="GATT_SignedWriteNoRsp" type="vc" opcode="0xFDB8">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute to be set</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>value</Name>
      <Default>""</Default>
      <Desc>The value to be written to the attribute</Desc>
    </Param>
  </Command>

  <Command name="GATT_WriteCharValue" type="vc" opcode="0xFD92">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute to be set</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>value</Name>
      <Default>""</Default>
      <Desc>The value to be written to the attribute</Desc>
    </Param>
  </Command>

  <Command name="GATT_WriteLongCharValue" type="vc" opcode="0xFD96">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute to be written</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>offset</Name>
      <Default>0</Default>
      <Desc>The offset of the first octet to be written</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>value</Name>
      <Default>""</Default>
      <Desc>The value of the attribute to be written</Desc>
    </Param>
  </Command>

  <!-- Having a structure with a variable length field in an array causes parse errors
  <Command name="GATT_ReliableWrites" type="vc" opcode="0xFD26">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="1" label="numReqs">
      <Name>numRequests</Name>
      <Default>0</Default>
      <Desc>Number of Prepare Write Requests</Desc>
    </Param>
    <Param array="numReqs">
      <Param type="u" size="1" prop="h">
        <Name>valueLen</Name>
        <Value>size(attrValue)</Value>
        <Desc>The length of the attribute value</Desc>
      </Param>
      <Param type="u" size="2">
        <Name>handle</Name>
        <Default>0</Default>
        <Desc>The handle of the attribute to be written</Desc>
      </Param>
      <Param type="u" size="2">
        <Name>offset</Name>
        <Default>0</Default>
        <Desc>The offset of the first octet to be written</Desc>
      </Param>
      <Param type="x" size="input" label="attrValue">
        <Name>value</Name>
        <Default>""</Default>
        <Desc>Part of the value of the attribute to be written</Desc>
      </Param>
    </Param>
  </Command>
  -->

  <Command name="GATT_ReadCharDesc" type="vc" opcode="0xFDBC">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute to be read</Desc>
    </Param>
  </Command>

  <Command name="GATT_ReadLongCharDesc" type="vc" opcode="0xFDBE">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc></Desc>
    </Param>
    <Param type="u" size="2">
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute to be read</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>offset</Name>
      <Default>0</Default>
      <Desc>The offset of the first octet to be read</Desc>
    </Param>
  </Command>

  <Command name="GATT_WriteCharDesc" type="vc" opcode="0xFDC0">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute to be set</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>value</Name>
      <Default>""</Default>
      <Desc>The value to be written to the attribute</Desc>
    </Param>
  </Command>

  <Command name="GATT_WriteLongCharDesc" type="vc" opcode="0xFDC2">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute to be written</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>offset</Name>
      <Default>0</Default>
      <Desc>The offset of the first octet to be written</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>value</Name>
      <Default>""</Default>
      <Desc>The value of the attribute to be written</Desc>
    </Param>
  </Command>

  <Command name="GATT_Notification" type="vc" opcode="0xFD9B">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="1" valtype="NoYes">
      <Name>authenticated</Name>
      <Default>0x00</Default>
      <Desc>Whether or not an authenticated link is required</Desc>
    </Param>
    <Param type="u" size="2" >
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>value</Name>
      <Default>""</Default>
      <Desc>The current value of the attribute</Desc>
    </Param>
  </Command>

  <Command name="GATT_Indication" type="vc" opcode="0xFD9D">
    <Param type="u" size="2">
      <Name>connectionHandle</Name>
      <Default>0</Default>
      <Desc>Connection Handle</Desc>
    </Param>
    <Param type="u" size="1" valtype="NoYes">
      <Name>authenticated</Name>
      <Default>0x00</Default>
      <Desc>Whether or not an authenticated link is required</Desc>
    </Param>
    <Param type="u" size="2" >
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the attribute</Desc>
    </Param>
    <Param type="x" size="input">
      <Name>value</Name>
      <Default>""</Default>
      <Desc>The current value of the attribute</Desc>
    </Param>
  </Command>

  <!-- GATT HCI Extension messages -->

  <Command name="GATT_AddService" type="vc" opcode="0xFDFC">
    <Param type="u" size="2" valtype="GATTServiceUUID">
      <Name>UUID</Name>
      <Default>0x2800</Default>
      <Desc>The type of the service to be added (primary or secondary)</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>numAttrs</Name>
      <Default>1</Default>
      <Desc>The number of the attributes in the service (including the service attribute)</Desc>
    </Param>
    <Param type="u" size="1">
      <Name>encKeySize</Name>
      <Default>16</Default>
      <Desc>The minimum encryption key size (in octets) required by the service. Range: 7 to 16.</Desc>
    </Param>
  </Command>

  <Command name="GATT_DelService" type="vc" opcode="0xFDFD">
    <Param type="u" size="2">
      <Name>handle</Name>
      <Default>0</Default>
      <Desc>The handle of the service to be deleted</Desc>
    </Param>
  </Command>

  <Command name="GATT_AddAttribute" type="vc" opcode="0xFDFE">
    <Param type="x" size="input">
      <Name>UUID</Name>
      <Default>""</Default>
      <Desc>The type of the attribute to be added</Desc>
    </Param>
    <Param type="u" size="1" valtype="GATTPermissions">
      <Name>permissions</Name>
      <Default>0x01</Default>
      <Desc>Attribute access permissions</Desc>
    </Param>
  </Command>

  <!-- HCI Vendor Specific Events %%% -->

  <Command name="HCI_Vendor_Specific_Event" type="se" opcode="0x00FF">
    <Param type="u" size="2" valtype="HCI_VS_Events" label="HCI_VS_Event_Type">
      <Name>Event Opcode</Name>
    </Param>

    <!-- HCI EXT Set RX Gain Event -->
    <Param cond="HCI_VS_Event_Type==0x0400">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Set TX Power Event -->
    <Param cond="HCI_VS_Event_Type==0x0401">
      <Param type="u" size="1" valtype="Status" >
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Set One Packet Per Event Event -->
    <Param cond="HCI_VS_Event_Type==0x0402">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Clock Divide on Halt Event -->
    <Param cond="HCI_VS_Event_Type==0x0403">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Declare NV Usage Event -->
    <Param cond="HCI_VS_Event_Type==0x0404">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Decrypt Event -->
    <Param cond="HCI_VS_Event_Type==0x0405">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
      <Param type="x" size="16">
        <Name>Decrypted Data</Name>
      </Param>
    </Param>

    <!-- HCI EXT Set Local Supported Features Event -->
    <Param cond="HCI_VS_Event_Type==0x0406">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Set Fast TX Response Time Event      -->
    <Param cond="HCI_VS_Event_Type==0x0407">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Modem Test TX Event -->
    <Param cond="HCI_VS_Event_Type==0x0408">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Modem Hop Test TX Event -->
    <Param cond="HCI_VS_Event_Type==0x0409">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Modem Test RX Event -->
    <Param cond="HCI_VS_Event_Type==0x040A">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT End Modem Test Event -->
    <Param cond="HCI_VS_Event_Type==0x040B">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Set BDADDR Event -->
    <Param cond="HCI_VS_Event_Type==0x040C">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Set SCA Event -->
    <Param cond="HCI_VS_Event_Type==0x040D">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Enable PTM Event -->
    <Param cond="HCI_VS_Event_Type==0x040E">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI Set Frequency Tuning Event -->
    <Param cond="HCI_VS_Event_Type==0x040F">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Save Frequency Tuning Event -->
    <Param cond="HCI_VS_Event_Type==0x0410">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Set Max DTM TX Power Event -->
    <Param cond="HCI_VS_Event_Type==0x0411">
      <Param type="u" size="1" valtype="Status" >
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Map PM IO Port Event -->
    <Param cond="HCI_VS_Event_Type==0x0412">
      <Param type="u" size="1" valtype="Status" >
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Disconnect Immedate Event -->
    <Param cond="HCI_VS_Event_Type==0x0413">
      <Param type="u" size="1" valtype="Status" >
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT PER Event -->
    <Param cond="HCI_VS_Event_Type==0x0414">
      <Param type="u" size="1" label="cmdStat" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
      <Param type="u" size="1" label="cmdVal" valtype="PER_Command_Type">
        <Name>PER Command</Name>
      </Param>
      <Param cond="cmdVal!=0x00 && cmdStat==0x00">
        <Param type="u" size="2">
          <Name>RX Pkts</Name>
        </Param>
        <Param type="u" size="2">
          <Name>RX CRC Fails</Name>
        </Param>
        <Param type="u" size="2">
          <Name>Events</Name>
        </Param>
        <Param type="u" size="2">
          <Name>Missed Events</Name>
        </Param>
      </Param>
    </Param>

    <!-- HCI EXT Extend RF Range Event -->
    <Param cond="HCI_VS_Event_Type==0x0416">
      <Param type="u" size="1" valtype="Status" >
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Adv Event Notice Event -->
    <Param cond="HCI_VS_Event_Type==0x0417">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Conn Event Notice Event -->
    <Param cond="HCI_VS_Event_Type==0x0418">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Halt During RF Event -->
    <Param cond="HCI_VS_Event_Type==0x0419">
      <Param type="u" size="1" valtype="Status" >
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Override Slave Latency Event -->
    <Param cond="HCI_VS_Event_Type==0x041A">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Build Revision Event -->
    <Param cond="HCI_VS_Event_Type==0x041B">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
      <Param cond="cmdStat==0x00">
        <Param type="u" size="2">
          <Name>User Revision Number</Name>
        </Param>
        <Param type="u" size="2">
          <Name>Build Revision Number</Name>
        </Param>
      </Param>
    </Param>

    <!-- HCI EXT Delay Sleep Event -->
    <Param cond="HCI_VS_Event_Type==0x041C">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Reset System Event -->
    <Param cond="HCI_VS_Event_Type==0x041D">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Overlapped Processing Event -->
    <Param cond="HCI_VS_Event_Type==0x041E">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Number Complete Packets Limit Event -->
    <Param cond="HCI_VS_Event_Type==0x041F">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Get Connection Info Event -->
    <Param cond="HCI_VS_Event_Type==0x0420">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
      <Param type="u" size="1">
        <Name>Alloc Conns</Name>
      </Param>
      <Param type="u" size="1" label="numConn">
        <Name>Active Conns</Name>
      </Param>
      <Param array="numConn">
        <Param type="u" size="1">
	      <Name>Conn Handle</Name>
        </Param>
        <Param type="u" size="1" valtype="Role">
	      <Name>Conn Role</Name>
        </Param>
        <Param type="b" size="6">
          <Name>Peer Addr</Name>
        </Param>
        <Param type="u" size="1" valtype="HCI_LE_Address_Type">
	      <Name>Peer Addr Type</Name>
        </Param>
      </Param>
    </Param>

    <!-- HCI EXT Set Max Data Len Event -->
    <Param cond="HCI_VS_Event_Type==0x0421">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Scan Event Notice Event -->
    <Param cond="HCI_VS_Event_Type==0x0422">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Scan Request Report Event -->
    <Param cond="HCI_VS_Event_Type==0x0423">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT Set DTM Tx Packet Count Event -->
    <Param cond="HCI_VS_Event_Type==0x0424">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- HCI EXT LL Test Mode Event -->
    <Param cond="HCI_VS_Event_Type==0x0470">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands">
        <Name>Command Opcode</Name>
      </Param>
    </Param>

    <!-- Handle GAP Device Init Done Event  -->
    <Param cond="HCI_VS_Event_Type==0x0600">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="b" size="6">
        <Name>devAddr</Name>
      </Param>
      <Param type="u" size="2">
        <Name>dataPktLen</Name>
      </Param>
      <Param type="u" size="1">
        <Name>numDataPkts</Name>
      </Param>
      <Param type="x" size="16">
        <Name>IRK</Name>
      </Param>
      <Param type="x" size="16">
        <Name>CSRK</Name>
      </Param>
    </Param>

    <!-- GAP Device Discovery Event  -->
    <Param cond="HCI_VS_Event_Type==0x0601">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="1" label="devDisc_numDevs">
        <Name>numDevs</Name>
      </Param>
      <Param array="devDisc_numDevs">
        <Param type="u" size="1" valtype="AdReportEventTypes">
          <Name>eventType</Name>
        </Param>
        <Param type="u" valtype="AddrTypes" size="1">
          <Name>addrType</Name>
        </Param>
        <Param type="b" size="6">
          <Name>addr</Name>
        </Param>
      </Param>
    </Param>

    <!-- GAP Advert Data Update Event  -->
    <Param cond="HCI_VS_Event_Type==0x0602">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" valtype="AdTypes" size="1">
        <Name>adType</Name>
      </Param>
    </Param>

    <!-- GAP Make Discoverable Event   -->
    <Param cond="HCI_VS_Event_Type==0x0603">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
    </Param>

    <!-- GAP End Discoverable Event    -->
    <Param cond="HCI_VS_Event_Type==0x0604">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
    </Param>

    <!-- GAP Establish Link Req Event  -->
    <Param cond="HCI_VS_Event_Type==0x0605">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" valtype="AddrTypes" size="1">
        <Name>Device Address Type</Name>
      </Param>
      <Param type="b" size="6">
        <Name>Device Address</Name>
      </Param>
      <Param type="u" size="2">
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" valtype="ProfileRoles" size="1">
        <Name>connRole</Name>
      </Param>
      <Param type="u" size="2">
        <Name>connInterval</Name>
      </Param>
      <Param type="u" size="2">
        <Name>connLatency</Name>
      </Param>
      <Param type="u" size="2">
        <Name>connTimeout</Name>
      </Param>
      <Param type="u" size="1">
        <Name>clockAccuracy</Name>
      </Param>
    </Param>

    <!-- GAP Terminate Link Event      -->
    <Param cond="HCI_VS_Event_Type==0x0606">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2">
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" valtype="Status">
        <Name>reason</Name>
      </Param>
    </Param>

    <!-- GAP Link Update Event      -->
    <Param cond="HCI_VS_Event_Type==0x0607">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2">
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="2">
        <Name>connInterval</Name>
      </Param>
      <Param type="u" size="2">
        <Name>connLatency</Name>
      </Param>
      <Param type="u" size="2">
        <Name>connTimeout</Name>
      </Param>
    </Param>

    <!-- GAP New Random Address Event      -->
    <Param cond="HCI_VS_Event_Type==0x0608">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="1" valtype="AddrModes">
        <Name>addrType</Name>
      </Param>
      <Param type="b" size="6">
        <Name>newRandomAddr</Name>
      </Param>
    </Param>

    <!-- GAP Signature Update Event      -->
    <Param cond="HCI_VS_Event_Type==0x0609">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="1" valtype="AddrTypes">
        <Name>addrType</Name>
      </Param>
      <Param type="b" size="6">
        <Name>devAddr</Name>
      </Param>
      <Param type="u" size="4">
        <Name>signCounter</Name>
      </Param>
    </Param>

    <!-- GAP Passkey Needed Event      -->
    <Param cond="HCI_VS_Event_Type==0x060B">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="b" size="6">
        <Name>deviceAddr</Name>
      </Param>
      <Param type="u" size="2">
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" valType ="DisableEnable">
        <Name>uiInputs</Name>
      </Param>
      <Param type="u" size="1" valType ="DisableEnable">
        <Name>uiOutputs</Name>
      </Param>
	  <Param type="u" size="4">
	    <Name>numComparison</Name>
	  </Param>
    </Param>

    <!-- GAP Authentication Complete Event      -->
    <Param cond="HCI_VS_Event_Type==0x060A">
      <Param type="u" size="1" valtype="SMPFailureTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2">
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" valtype="AuthReqs">
        <Name>authState</Name>
      </Param>
      <Param type="u" size="1" valtype="DisableEnable">
        <Name>securityInfo</Name>
      </Param>
      <Param type="u" size="1">
        <Name>securityInfo.LTKsize</Name>
      </Param>
      <Param type="x" size="16">
        <Name>securityInfo.LTK</Name>
      </Param>
      <Param type="u" size="2">
        <Name>securityInfo.DIV</Name>
      </Param>
      <Param type="x" size="8">
        <Name>securityInfo.rand</Name>
      </Param>
      <Param type="u" size="1" valtype="DisableEnable">
        <Name>devSecInfo</Name>
      </Param>
      <Param type="u" size="1">
        <Name>devSecInfo.LTKsize</Name>
      </Param>
      <Param type="x" size="16">
        <Name>devSecInfo.LTK</Name>
      </Param>
      <Param type="u" size="2">
        <Name>devSecInfo.DIV</Name>
      </Param>
      <Param type="x" size="8">
        <Name>devSecInfo.rand</Name>
      </Param>
      <Param type="u" size="1" valtype="DisableEnable">
        <Name>identityInfo</Name>
      </Param>
      <Param type="x" size="16">
        <Name>identityInfo.IRK</Name>
      </Param>
      <Param type="b" size="6">
        <Name>identityInfo.BD_ADDR</Name>
      </Param>
      <Param type="u" size="1" valtype="AddrTypes">
        <Name>identityInfo.addrType</Name>
      </Param>
      <Param type="u" size="1" valtype="DisableEnable">
        <Name>signingInfo</Name>
      </Param>
      <Param type="x" size="16">
        <Name>signingInfo.CSRK</Name>
      </Param>
      <Param type="u" size="4">
        <Name>signingInfo.signCounter</Name>
      </Param>
    </Param>

    <!-- GAP Slave Security Request Event      -->
    <Param cond="HCI_VS_Event_Type==0x060C">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2">
        <Name>connectionHandle</Name>
      </Param>
      <Param type="b" size="6">
        <Name>deviceAddr</Name>
      </Param>
      <Param type="u" size="1" valtype="AuthReqs">
        <Name>authReq</Name>
      </Param>
    </Param>

    <!-- GAP Device Information Event  -->
    <Param cond="HCI_VS_Event_Type==0x060D">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" valtype="AdReportEventTypes" size="1">
        <Name>eventTypes</Name>
      </Param>
      <Param type="u" valtype="AddrTypes" size="1">
        <Name>addrType</Name>
      </Param>
      <Param type="b" size="6">
        <Name>addr</Name>
      </Param>
      <Param type="d" size="1">
        <Name>rssi</Name>
      </Param>
      <Param type="u" size="1" label="devInfoDataLen">
        <Name>dataLen</Name>
      </Param>
      <Param type="x" size="devInfoDataLen">
        <Name>dataField</Name>
      </Param>
    </Param>

    <!-- GAP Bond Complete Event      -->
    <Param cond="HCI_VS_Event_Type==0x060E">
      <Param type="u" size="1" valtype="BondCompleteStatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2">
        <Name>connectionHandle</Name>
      </Param>
    </Param>

    <!-- GAP Pairing Request Event      -->
    <Param cond="HCI_VS_Event_Type==0x060F">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2">
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" valtype="IOCapabilities">
        <Name>ioCap</Name>
      </Param>
      <Param type="u" size="1" valtype="DisableEnable">
        <Name>oobDataFlag</Name>
      </Param>
      <Param type="u" size="1" valtype="AuthReqs">
        <Name>authReq</Name>
      </Param>
      <Param type="u" size="1">
        <Name>maxEncKeySize</Name>
      </Param>
      <Param type="u" size="1" valtype="KeyTypes">
        <Name>keyDist</Name>
      </Param>
    </Param>



	<!-- SM Get ECC Keys Event         -->
	<Param cond="HCI_VS_Event_Type==0x0610">
	  <Param type="u" size="1" valtype="StatusTypes">
	    <Name>Status</Name>
      </Param>
	  <Param type="x" size="32">
	    <Name>privateKey</Name>
	  </Param>
	  <Param type="x" size="32">
	    <Name>publicKeyX</Name>
	  </Param>
	  <Param type="x" size="32">
	    <Name>publicKeyY</Name>
	  </Param>
	</Param>

	<!-- SM Get Diffie-Hellman Keys Event      -->
	<Param cond="HCI_VS_Event_Type==0x0611">
	  <Param type="u" size="1" valtype="StatusTypes">
	    <Name>Status</Name>
    </Param>
	  <Param type="x" size="32">
	    <Name>DHKey</Name>
	  </Param>
	</Param>

  <!-- GAP Link Parameter Update Request Event      -->
  <Param cond="HCI_VS_EVENT_TYPE==0x0612">
    <Param type="u" size="1" valtype="StatusTypes">
      <Name>Status</Name>
    </Param>
    <Param type="u" size="2">
        <Name>connectionHandle</Name>
    </Param>
    <Param type="u" size="2">
        <Name>minConnInterval</Name>
    </Param>
    <Param type="u" size="2">
        <Name>maxConnInterval</Name>
    </Param>
    <Param type="u" size="2">
        <Name>connLatency</Name>
    </Param>
    <Param type="u" size="2">
        <Name>connTimeout</Name>
    </Param>
  </Param>

    <!-- GAP Command Status Event      -->
    <Param cond="HCI_VS_Event_Type==0x067F">
      <Param type="u" size="1" valtype="StatusTypes" label="StatStatus">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" valtype="HCI_VS_Commands" label="StatOpCode">
        <Name>opCode</Name>
      </Param>
      <Param cond="StatOpCode!=0x010C && StatOpCode!=0xFCF3 && StatOpCode!=0xFCF4 && StatOpCode!=0xFCF5 && StatOpCode!=0xFE84">
        <Param type="u" size="1" label="dataLen" prop="h">
          <Name>dataLen</Name>
        </Param>
        <Param type="x" size="dataLen">
          <Name>payload</Name>
        </Param>
      </Param>
      <Param cond="StatOpCode==0x010C">
        <Param type="u" size="1" label="dataLen" prop="h">
          <Name>dataLen</Name>
        </Param>
        <Param type="u" size="2">
          <Name>paramValue</Name>
        </Param>
      </Param>

      <!-- L2CAP_PsmInfo event data -->
      <Param cond="StatOpCode==0xFCF3">
        <Param type="u" size="1" label="dataLen" prop="h">
          <Name>dataLen</Name>
        </Param>
        <Param cond="StatStatus==0x00">
          <Param type="u" size="2" >
            <Name>MTU</Name>
          </Param>
          <Param type="u" size="2">
            <Name>MPS</Name>
          </Param>
          <Param type="u" size="2" >
            <Name>initialPeerCredits</Name>
          </Param>
          <Param type="u" size="2" >
            <Name>peerCreditThreshold</Name>
          </Param>
          <Param type="u" size="1">
            <Name>maxNumChannels</Name>
          </Param>
          <Param type="u" size="1">
            <Name>numActiveChannels</Name>
          </Param>
        </Param>
      </Param>
      <!-- L2CAP_PsmChannels event data -->
      <Param cond="StatOpCode==0xFCF4">
        <Param type="u" size="1" label="dataLen" prop="h">
          <Name>dataLen</Name>
        </Param>
        <Param cond="StatStatus==0x00">
          <Param array="dataLen/2">
            <Param type="u" size="2" >
              <Name>CID</Name>
            </Param>
          </Param>
        </Param>
      </Param>
      <!-- L2CAP_ChannelInfo event data -->
      <Param cond="StatOpCode==0xFCF5">
        <Param type="u" size="1" label="dataLen" prop="h">
          <Name>dataLen</Name>
        </Param>
        <Param cond="StatStatus==0x00">
          <Param type="u" size="1" valtype="ChannelState">
            <Name>state</Name>
          </Param>
          <Param type="u" size="2">
            <Name>PSM</Name>
          </Param>
          <Param type="u" size="2">
            <Name>CID</Name>
          </Param>
          <Param type="u" size="2">
            <Name>MTU</Name>
          </Param>
          <Param type="u" size="2">
            <Name>MPS</Name>
          </Param>
          <Param type="u" size="2">
            <Name>credits</Name>
          </Param>
          <Param type="u" size="2">
            <Name>peerCID</Name>
          </Param>
          <Param type="u" size="2">
            <Name>peerMTU</Name>
          </Param>
          <Param type="u" size="2">
            <Name>peerMPS</Name>
          </Param>
          <Param type="u" size="2">
            <Name>peerCredits</Name>
          </Param>
          <Param type="u" size="2" >
            <Name>peerCreditThreshold</Name>
          </Param>
        </Param>
      </Param>
	  <!-- UTIL_BuildRevision event data -->
      <Param cond="StatOpCode==0xFE84">
        <Param type="u" size="1" label="dataLen" prop="h">
          <Name>dataLen</Name>
        </Param>
        <Param cond="StatStatus==0x00">
          <Param type="u" size="3">
            <Name>stk ver (mj/mn/ph)</Name>
          </Param>
          <Param type="u" size="2">
            <Name>bld ver</Name>
          </Param>
		  <Param type="u" size="1" valtype="StackInfo">
            <Name>stk info</Name>
          </Param>
	      <Param type="u" size="2" valtype="ControllerInfo">
            <Name>ctrl info</Name>
          </Param>
		  <Param type="u" size="2" valtype="HostInfo">
            <Name>host info</Name>
          </Param>
        </Param>
      </Param>
    </Param>

    <!-- L2CAP Command Reject Event      -->
    <Param cond="HCI_VS_Event_Type==0x0481">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="2" valtype="RejectResult" label="CmdRejectReason">
        <Name>reason</Name>
      </Param>
      <Param cond="CmdRejectReason==0x0001">
        <Param type="u" size="2">
          <Name>signalingMTU</Name>
        </Param>
      </Param>
      <Param cond="CmdRejectReason==0x0002">
        <Param type="u" size="2">
          <Name>localCID</Name>
        </Param>
        <Param type="u" size="2">
          <Name>remoteCID</Name>
        </Param>
      </Param>
    </Param>

    <!-- L2CAP Connection Request Event      -->
    <Param cond="HCI_VS_Event_Type==0x0494">
      <Param type="u" size="1" valtype="StatusTypes" label="bStatus">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param cond="bStatus==0x00">
        <Param type="u" size="1">
          <Name>id</Name>
        </Param>
        <Param type="u" size="2">
          <Name>PSM</Name>
        </Param>
        <Param type="u" size="2">
          <Name>sourceCID</Name>
        </Param>
        <Param type="u" size="2">
          <Name>MTU</Name>
        </Param>
        <Param type="u" size="2">
          <Name>MPS</Name>
        </Param>
        <Param type="u" size="2">
          <Name>initialCredits</Name>
        </Param>
      </Param>
    </Param>

    <!-- L2CAP Connection Parameter Update Response Event      -->
    <Param cond="HCI_VS_Event_Type==0x0493">
      <Param type="u" size="1" valtype="StatusTypes" label="bStatus">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param cond="bStatus==0x00">
        <Param type="u" size="2" valtype="ConnParamUpdateResult" >
          <Name>result</Name>
        </Param>
      </Param>
    </Param>

    <!-- L2CAP Channel Established Event     -->
    <Param cond="HCI_VS_Event_Type==0x04E0">
      <Param type="u" size="1" valtype="StatusTypes" label="bStatus">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param cond="bStatus==0x00">
        <Param type="u" size="2" valtype="ConnectResultValues" label="resultValue">
          <Name>result</Name>
        </Param>
        <Param cond="resultValue==0x0000">
          <Param type="u" size="2">
            <Name>PSM</Name>
          </Param>
          <Param type="u" size="2">
            <Name>CID</Name>
          </Param>
          <Param type="u" size="2">
            <Name>MTU</Name>
          </Param>
          <Param type="u" size="2">
            <Name>MPS</Name>
          </Param>
          <Param type="u" size="2">
            <Name>credits</Name>
          </Param>
          <Param type="u" size="2">
            <Name>peerCID</Name>
          </Param>
          <Param type="u" size="2">
            <Name>peerMTU</Name>
          </Param>
          <Param type="u" size="2">
            <Name>peerMPS</Name>
          </Param>
          <Param type="u" size="2">
            <Name>peerCredits</Name>
          </Param>
          <Param type="u" size="2" >
            <Name>peerCreditThreshold</Name>
          </Param>
        </Param>
      </Param>
    </Param>

    <!-- L2CAP Channel Terminated Event      -->
    <Param cond="HCI_VS_Event_Type==0x04E1">
      <Param type="u" size="1" valtype="StatusTypes" label="bStatus">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param cond="bStatus==0x00">
        <Param type="u" size="2">
          <Name>CID</Name>
        </Param>
        <Param type="u" size="2">
          <Name>peerCID</Name>
        </Param>
        <Param type="u" size="2" valtype="TerminateReasonValues">
          <Name>reason</Name>
        </Param>
      </Param>
    </Param>

    <!-- L2CAP Out Of Credit Event      -->
    <Param cond="HCI_VS_Event_Type==0x04E2">
      <Param type="u" size="1" valtype="StatusTypes" label="bStatus">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="2">
        <Name>CID</Name>
      </Param>
      <Param type="u" size="2">
        <Name>peerCID</Name>
      </Param>
      <Param type="u" size="2">
        <Name>creditsNeeded</Name>
      </Param>
    </Param>

	<!-- L2CAP Peer Credit Threshold Event      -->
    <Param cond="HCI_VS_Event_Type==0x04E3">
      <Param type="u" size="1" valtype="StatusTypes" label="bStatus">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="2">
        <Name>CID</Name>
      </Param>
      <Param type="u" size="2">
        <Name>peerCID</Name>
      </Param>
      <Param type="u" size="2">
        <Name>peerCreditThreshold</Name>
      </Param>
    </Param>

    <!-- L2CAP Send SDU Done Event      -->
    <Param cond="HCI_VS_Event_Type==0x04E4">
      <Param type="u" size="1" valtype="StatusTypes" label="bStatus">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="2">
        <Name>CID</Name>
      </Param>
	  <Param type="u" size="2">
        <Name>credits</Name>
      </Param>
      <Param type="u" size="2">
        <Name>peerCID</Name>
      </Param>
      <Param type="u" size="2">
        <Name>peerCredits</Name>
      </Param>
	  <Param type="u" size="2">
        <Name>totalLen</Name>
      </Param>
	  <Param type="u" size="2">
        <Name>txLen</Name>
      </Param>
    </Param>

    <!-- L2CAP Receive Data Event      -->
    <Param cond="HCI_VS_Event_Type==0x04F0">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="2">
        <Name>CID</Name>
      </Param>
      <Param type="u" size="2" label="payloadLen">
        <Name>len</Name>
      </Param>
      <Param type="x" size="payloadLen">
        <Name>SDU</Name>
      </Param>
    </Param>

    <!-- ATT Error Response Event      -->
    <Param cond="HCI_VS_Event_Type==0x0501">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param type="u" size="1" valtype="reqOpcode">
        <Name>reqOpcode</Name>
      </Param>
      <Param type="u" size="2">
        <Name>handle</Name>
      </Param>
      <Param type="u" size="1" valtype="ATTErrorCode">
        <Name>errorCode</Name>
      </Param>
    </Param>

    <!-- ATT Exchange MTU Request Event      -->
    <Param cond="HCI_VS_Event_Type==0x0502">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param type="u" size="2">
        <Name>clientRxMTU</Name>
      </Param>
    </Param>

    <!-- ATT Exchange MTU Response Event      -->
    <Param cond="HCI_VS_Event_Type==0x0503">
      <Param type="u" size="1" valtype="StatusTypes" label="bStatus">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param cond="bStatus==0x00 || bStatus==0x16">
        <Param type="u" size="2">
          <Name>serverRxMTU</Name>
        </Param>
      </Param>
    </Param>

    <!-- ATT Find Information Request Event      -->
    <Param cond="HCI_VS_Event_Type==0x0504">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param type="u" size="2">
        <Name>startHandle</Name>
      </Param>
      <Param type="u" size="2">
        <Name>endHandle</Name>
      </Param>
    </Param>

    <!-- ATT Find Information Response Event      -->
    <Param cond="HCI_VS_Event_Type==0x0505">
      <Param type="u" size="1" valtype="StatusTypes" label="bStatus">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param cond="bStatus==0x00 || bStatus==0x16">
        <Param type="u" size="1" valtype="infoFormat" label="format">
          <Name>format</Name>
        </Param>
        <Param array="(pduLen-1)/(format==0x01 ? 4 : 18)">
          <Param type="u" size="2" >
            <Name>handle</Name>
          </Param>
          <Param cond="format==0x01">
            <Param type="x" size="2">
              <Name>uuid</Name>
            </Param>
          </Param>
          <Param cond="format==0x02">
            <Param type="x" size="16">
              <Name>uuid</Name>
            </Param>
          </Param>
        </Param>
      </Param>
    </Param>

    <!-- ATT Find By Type Value Request Event      -->
    <Param cond="HCI_VS_Event_Type==0x0506">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param type="u" size="2">
        <Name>startHandle</Name>
      </Param>
      <Param type="u" size="2">
        <Name>endHandle</Name>
      </Param>
      <Param type="u" size="2">
        <Name>type</Name>
      </Param>
      <Param cond="pduLen.gt.6">
        <Param type="x" size="pduLen-6">
          <Name>value</Name>
        </Param>
      </Param>
    </Param>

    <!-- ATT Find By Type Value Response Event      -->
    <Param cond="HCI_VS_Event_Type==0x0507">
      <Param type="u" size="1" valtype="StatusTypes" label="bStatus">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param cond="bStatus==0x00 || bStatus==0x16">
        <Param array="pduLen/4">
          <Param type="u" size="2" >
            <Name>handle</Name>
          </Param>
          <Param type="u" size="2" >
            <Name>grpEndHandle</Name>
          </Param>
        </Param>
      </Param>
    </Param>

    <!-- ATT Read By Type Request Event      -->
    <Param cond="HCI_VS_Event_Type==0x0508">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param type="u" size="2">
        <Name>startHandle</Name>
      </Param>
      <Param type="u" size="2">
        <Name>endHandle</Name>
      </Param>
      <Param cond="pduLen.gt.4">
        <Param type="x" size="pduLen-4">
          <Name>type</Name>
        </Param>
      </Param>
    </Param>

    <!-- ATT Read By Type Response Event      -->
    <Param cond="HCI_VS_Event_Type==0x0509">
      <Param type="u" size="1" valtype="StatusTypes" label="bStatus">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param cond="bStatus==0x00 || bStatus==0x16">
        <Param type="u" size="1" label="length">
          <Name>length</Name>
        </Param>
        <Param array="(pduLen-1)/length">
          <Param type="u" size="2" >
            <Name>handle</Name>
          </Param>
          <Param cond="length.gt.2">
            <Param type="x" size="length-2">
              <Name>value</Name>
            </Param>
          </Param>
        </Param>
      </Param>
    </Param>

    <!-- ATT Read Request Event      -->
    <Param cond="HCI_VS_Event_Type==0x050A">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param type="u" size="2">
        <Name>handle</Name>
      </Param>
    </Param>

    <!-- ATT Read Response Event      -->
    <Param cond="HCI_VS_Event_Type==0x050B">
      <Param type="u" size="1" valtype="StatusTypes" label="bStatus">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param cond="bStatus==0x00 || bStatus==0x16">
        <Param type="x" size="pduLen">
          <Name>value</Name>
        </Param>
      </Param>
    </Param>

    <!-- ATT Read Blob Request Event      -->
    <Param cond="HCI_VS_Event_Type==0x050C">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>handle</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>offset</Name>
      </Param>
    </Param>

    <!-- GATT Read Blob Response Event      -->
    <Param cond="HCI_VS_Event_Type==0x050D">
      <Param type="u" size="1" valtype="StatusTypes" label="bStatus">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param cond="bStatus==0x00 || bStatus==0x16">
        <Param type="x" size="pduLen">
          <Name>value</Name>
        </Param>
      </Param>
    </Param>

    <!-- ATT Read Multiple Request Event      -->
    <Param cond="HCI_VS_Event_Type==0x050E">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param type="x" size="pduLen" >
        <Name>handles</Name>
      </Param>
    </Param>

    <!-- ATT Read Multiple Response Event      -->
    <Param cond="HCI_VS_Event_Type==0x050F">
      <Param type="u" size="1" valtype="StatusTypes" label="bStatus">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param cond="bStatus==0x00 || bStatus==0x16">
        <Param type="x" size="pduLen" >
          <Name>values</Name>
        </Param>
      </Param>
    </Param>

    <!-- ATT Read By Group Type Request Event      -->
    <Param cond="HCI_VS_Event_Type==0x0510">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param type="u" size="2">
        <Name>startHandle</Name>
      </Param>
      <Param type="u" size="2">
        <Name>endHandle</Name>
      </Param>
      <Param cond="pduLen.gt.4">
        <Param type="x" size="pduLen-4">
          <Name>groupType</Name>
        </Param>
      </Param>
    </Param>

    <!-- ATT Read By Group Type Response Event      -->
    <Param cond="HCI_VS_Event_Type==0x0511">
      <Param type="u" size="1" valtype="StatusTypes" label="bStatus">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param cond="bStatus==0x00 || bStatus==0x16">
        <Param type="u" size="1" label="length">
          <Name>length</Name>
        </Param>
        <Param array="(pduLen-1)/length">
          <Param type="u" size="2" >
            <Name>handle</Name>
          </Param>
          <Param type="u" size="2" >
            <Name>endGrpHandle</Name>
          </Param>
          <Param cond="length.gt.4">
            <Param type="x" size="length-4">
              <Name>value</Name>
            </Param>
          </Param>
        </Param>
      </Param>
    </Param>

    <!-- ATT Write Request Event      -->
    <Param cond="HCI_VS_Event_Type==0x0512">
      <Param type="u" size="1" valtype="StatusTypes" label="bStatus">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param cond="bStatus==0x00">
        <Param type="u" size="1" valtype="RxSignature">
          <Name>signature</Name>
        </Param>
        <Param type="u" size="1" valtype="NoYes">
          <Name>command</Name>
        </Param>
        <Param type="u" size="2" >
          <Name>handle</Name>
        </Param>
        <Param cond="pduLen.gt.4">
          <Param type="x" size="pduLen-4">
            <Name>value</Name>
          </Param>
        </Param>
      </Param>
    </Param>

    <!-- ATT Write Response Event      -->
    <Param cond="HCI_VS_Event_Type==0x0513">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
    </Param>

    <!-- ATT Prepare Write Request Event      -->
    <Param cond="HCI_VS_Event_Type==0x0516">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param type="u" size="2">
        <Name>handle</Name>
      </Param>
      <Param type="u" size="2">
        <Name>offset</Name>
      </Param>
      <Param cond="pduLen.gt.4">
        <Param type="x" size="pduLen-4">
          <Name>value</Name>
        </Param>
      </Param>
    </Param>

    <!-- ATT Prepare Write Response Event      -->
    <Param cond="HCI_VS_Event_Type==0x0517">
      <Param type="u" size="1" valtype="StatusTypes" label="bStatus">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param cond="bStatus==0x00 || bStatus==0x16">
        <Param type="u" size="2">
          <Name>handle</Name>
        </Param>
        <Param type="u" size="2">
          <Name>offset</Name>
        </Param>
        <Param cond="pduLen.gt.4">
          <Param type="x" size="pduLen-4">
            <Name>value</Name>
          </Param>
        </Param>
      </Param>
    </Param>

    <!-- ATT Execute Write Request Event      -->
    <Param cond="HCI_VS_Event_Type==0x0518">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param type="u" size="1" valtype="ExecuteFlags">
        <Name>flags</Name>
      </Param>
    </Param>

    <!-- ATT Execute Write Response Event      -->
    <Param cond="HCI_VS_Event_Type==0x0519">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
    </Param>

    <!-- ATT Handle Value Notification Event      -->
    <Param cond="HCI_VS_Event_Type==0x051B">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>handle</Name>
      </Param>
      <Param cond="pduLen.gt.2">
        <Param type="x" size="pduLen-2">
          <Name>value</Name>
        </Param>
      </Param>
    </Param>

    <!-- ATT Handle Value Indication Event      -->
    <Param cond="HCI_VS_Event_Type==0x051D">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>handle</Name>
      </Param>
      <Param cond="pduLen.gt.2">
        <Param type="x" size="pduLen-2">
          <Name>value</Name>
        </Param>
      </Param>
    </Param>

    <!-- ATT Handle Value Confirmation Event      -->
    <Param cond="HCI_VS_Event_Type==0x051E">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
    </Param>

    <!-- ATT Flow Control Violated Event      -->
    <Param cond="HCI_VS_Event_Type==0x057E">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param type="u" size="1">
        <Name>opcode</Name>
      </Param>
      <Param type="u" size="1">
        <Name>pendingOpcode</Name>
      </Param>
    </Param>

    <!-- ATT MTU Updated Event      -->
    <Param cond="HCI_VS_Event_Type==0x057F">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param type="u" size="2">
        <Name>MTU</Name>
      </Param>
    </Param>

    <!-- GATT Client Characteristic Configuration Updated Event      -->
    <Param cond="HCI_VS_Event_Type==0x0580">
      <Param type="u" size="1" valtype="StatusTypes">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>connectionHandle</Name>
      </Param>
      <Param type="u" size="1" label="pduLen">
        <Name>pduLen</Name>
      </Param>
      <Param type="u" size="2">
        <Name>attributeHandle</Name>
      </Param>
      <Param type="u" size="2" >
        <Name>value</Name>
      </Param>
    </Param>

  </Command>

  <!-- OGF 1 =============================================================== -->
  <Command name="HCI Link Control Commands" type="gb"                         />
  <!-- ===================================================================== -->

  <Command name="HCI_Disconnect" type="sc" opcode="0x0406">
    <Param type="h" size="2">
      <Name>Connection Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
    <Param type="u" size="1" valtype="DisconnectReason">
      <Name>Reason</Name>
      <Default>0x13</Default>
      <Desc>Reason for disconnection</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Status_Event</Name>
      <Default>HCI_Disconnect</Default>
    </Param>
  </Command>

  <Command name="HCI_Read_Remote_Version_Information" type="sc" opcode="0x041D">
    <Param type="h" size="2">
      <Name>Connection Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
    <Param type="R">
      <Name>HCI_Command_Status_Event</Name>
    </Param>
  </Command>

  <!-- OGF 2 =============================================================== -->
  <Command name="HCI Link Policy Commands" type="gb"                          />
  <!-- ===================================================================== -->

  <!-- OGF 3 =============================================================== -->
  <Command name="HCI Controller/Baseband Commands" type="gb"                  />
  <!-- ===================================================================== -->

  <Command name="HCI_Set_Event_Mask" type="sc" opcode="0x0C01">
    <Param type="u" size="8" valtype="EventMask">
      <Name>Event Mask</Name>
      <Default>0x2000800002018C94</Default>
      <Desc>Host Event Mask</Desc>
    </Param>
  </Command>

  <Command name="HCI_Set_Event_Mask_Page_2" type="sc" opcode="0x0C63">
    <Param type="u" size="8" valtype="EventMask2">
      <Name>Event Mask</Name>
      <Default>0x0000000000800000</Default>
      <Desc>Host Event Mask Page 2</Desc>
    </Param>
  </Command>

  <Command name="HCI_Reset" type="sc" opcode="0x0C03">
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
  </Command>

  <Command name="HCI_Read_Transmit_Power_Level" type="sc" opcode="0x0C2D">
    <Param type="h" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
    <Param type="u" size="1" valtype="TransmitLevelType">
      <Name>Type</Name>
      <Default>0x00</Default>
      <Desc>0 - Read Current Transmit Power Level, 1 - Read Maximum Transmit Power Level</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Status</Desc>
    </Param>
    <Param type="h" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
    <Param type="d" size="1">
      <Name>Transmit Power Level</Name>
      <Default>0</Default>
      <Desc>dBm</Desc>
    </Param>
  </Command>

  <Command name="HCI_Set_Controller_To_Host_Flow_Control" type="sc" opcode="0x0C31">
    <Param type="u" size="1" valtype="FlowControlEnable">
      <Name>Flow Control Enable</Name>
      <Default>0x00</Default>
      <Desc>Flow control in direction from Controller to Host 0 - OFF, 1 - ON</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
  </Command>

  <Command name="HCI_Host_Buffer_Size" type="sc" opcode="0x0C33">
    <Param type="u" size="2">
      <Name>Host ACl Data Packet Length</Name>
      <Default>0x0000</Default>
      <Desc>Maximum length of the data portion of each HCI ACL Data Packet that the Host is able to accept</Desc>
    </Param>
    <Param type="u" size="1">
      <Name>Host SCO Data Packet Length</Name>
      <Default>0x00</Default>
      <Desc>Maximum length of the data portion of each HCI SCO Data Packet that the Host is able to accept</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Host Total Num ACL Data Packets</Name>
      <Default>0x0000</Default>
      <Desc>Total number of HCI ACL Data Packets that can be stored in the data buffers of the Host</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Host Total Num SCO Data Packets</Name>
      <Default>0x0000</Default>
      <Desc>Total number of HCI SCO Data Packets that can be stored in the data buffers of the Host</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
  </Command>

  <Command name="HCI_Host_Number_Of_Completed_Packets" type="sc" opcode="0x0C35">
    <Param type="u" size="1" label="count">
      <Name>Number Of Handles</Name>
      <Default>0x01</Default>
      <Desc>The number of Handles and parameters pairs contained in this command</Desc>
    </Param>
    <Param array="count">
      <Param type="h" size="2">
        <Name>Handle</Name>
        <Default>0x0000</Default>
        <Desc />
      </Param>
      <Param type="u" size="2">
        <Name>Host Num Of Completed Packets</Name>
        <Default>0x0001</Default>
        <Desc>The number of HCI Data Packets completed since the previous time the event was returned</Desc>
      </Param>
    </Param>
  </Command>

  <Command name="HCI_Read_Auth_Payload_Timeout" type="sc" opcode="0x0C7B">
    <Param type="h" size="2">
      <Name>Connection Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Status</Desc>
    </Param>
    <Param type="h" size="2">
      <Name>Connection Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
    <Param type="d" size="2">
      <Name>APTO Value</Name>
      <Default>30</Default>
      <Desc>Authenticated Payload Timeout Value (in units of 10ms).</Desc>
    </Param>
  </Command>

  <Command name="HCI_Write_Auth_Payload_Timeout" type="sc" opcode="0x0C7C">
    <Param type="h" size="2">
      <Name>Connection Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
    <Param type="u" size="2">
      <Name>APTO Value</Name>
      <Default>3000</Default>
      <Desc>Authenticated Payload Timeout Value (in units of 10ms).</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Status</Desc>
    </Param>
    <Param type="h" size="2">
      <Name>Connection Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
  </Command>

  <!-- OGF 4 =============================================================== -->
  <Command name="HCI Informational Parameters" type="gb"                      />
  <!-- ===================================================================== -->

  <Command name="HCI_Read_Local_Version_Information" type="sc" opcode="0x1001">
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>0 - Success</Desc>
    </Param>
    <Param type="u" size="1" valtype="HCIVersion">
      <Name>HCI Version</Name>
      <Default>0x00</Default>
    </Param>
    <Param type="u" size="2">
      <Name>HCI Revision</Name>
      <Default>0x0000</Default>
      <Desc>Revision of the Current HCI in the Bluetooth device</Desc>
    </Param>
    <Param type="u" size="1" valtype="LLVersion">
      <Name>LL Version</Name>
      <Default>0x00</Default>
      <Desc>Version of the Current LL in the Bluetooth device</Desc>
    </Param>
    <Param type="u" size="2" valtype="CompID">
      <Name>Manufacturer Name</Name>
      <Default>0x0000</Default>
      <Desc>Manufacturer name of the bluetooth device</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>LL Subversion</Name>
      <Default>0x0000</Default>
      <Desc>Subversion of the Current LL in the Bluetooth device</Desc>
    </Param>
  </Command>

  <Command name="HCI_Read_Local_Supported_Commands" type="sc" opcode="0x1002">
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Status</Desc>
    </Param>
    <Param type="x" size="64">
      <Name>Supported Commands</Name>
      <Default>"00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00"</Default>
      <Desc>Supported commands bitmask.</Desc>
    </Param>
  </Command>

  <Command name="HCI_Read_Local_Supported_Features" type="sc" opcode="0x1003">
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Status</Desc>
    </Param>
    <Param type="x" size="8">
      <Name>Supported Features</Name>
      <Default>"00:00:00:00:00:00:00:00"</Default>
      <Desc>Supported features bitmask</Desc>
    </Param>
  </Command>

  <Command name="HCI_Read_BD_ADDR" type="sc" opcode="0x1009">
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Status</Desc>
    </Param>
    <Param type="b" size="6">
      <Name>BD Address</Name>
      <Default>BD_ADDR</Default>
      <Desc>BD Address of the device (MSB..LSB).</Desc>
    </Param>
  </Command>

  <!-- OGF 5 =============================================================== -->
  <Command name="HCI Status Parameters" type="gb"                             />
  <!-- ===================================================================== -->

  <Command name="HCI_Read_RSSI" type="sc" opcode="0x1405">
    <Param type="h" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Status</Desc>
    </Param>
    <Param type="h" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
    </Param>
    <Param type="d" size="1" valtype="RSSIType">
      <Name>RSSI</Name>
      <Default>127</Default>
    </Param>
  </Command>

  <!-- OGF 6 =============================================================== -->
  <Command name="HCI Testing Parameters" type="gb"                            />
  <!-- ===================================================================== -->

  <Command name="Suspend" type="" />

  <Command name="Resume" type="" />

  <Command name="SetSuspendTimeout" type="">
    <Param type="u" size="4">
      <Name>Timeout Minimum</Name>
      <Default>2000</Default>
      <Desc>Minimum idle time before host requests to sleep</Desc>
    </Param>
    <Param type="u" size="4">
      <Name>Timeout Maximum</Name>
      <Default>0</Default>
      <Desc>Maximum time for a random timeout. 0 = Uses the Minimum as a fixed value.</Desc>
    </Param>
  </Command>

  <Command name="SetAutoSuspend" type="">
    <Param type="u" size="1">
      <Name>Enable/Disable</Name>
      <Default>1</Default>
      <Desc>Enable (1) or Disable (0) for automatic suspend and resume.</Desc>
    </Param>
  </Command>

  <Command name="SetSuspendState" type="">
    <Param type="u" size="1">
      <Name>Sleep or Wakeup</Name>
      <Default>1</Default>
      <Desc>Set current state as Sleep (1) or Wakeup (0)</Desc>
     </Param>
  </Command>

  <Command name="HCI_Unsupported_Command" type="sc" opcode="0x0C23">
    <Cat>Spec 1.1</Cat>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
  </Command>

  <Command name="HCI_Second_Unsupported_Command" type="sc" opcode="0x0C24">
    <Cat>Spec 1.1</Cat>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
  </Command>

  <!-- OGF 8 =============================================================== -->
  <Command name="HCI LE Only Commands" type="gb"                              />
  <!-- ===================================================================== -->

  <Command name="HCI_LE_Set_Event_Mask" type="sc" opcode="0x2001">
    <Param type="u" size="8" valtype="HCI_LE_Event_Mask">
      <Name>HCI_LE Event Mask</Name>
      <Default>0x0000000000000FFF</Default>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>0x00 = Command succeeded. 0x01 ?0xFF = Command failed.</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Read_Buffer_Size" type="sc" opcode="0x2002">
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Command status</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Data Packet Length</Name>
      <Desc>Max length of data packets</Desc>
    </Param>
    <Param type="u" size="1">
      <Name>Number of Data Packets</Name>
      <Desc>Number of Data Packets</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Read_Local_Supported_Features" type="sc" opcode="0x2003">
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>0x00 = Command succeeded. 0x01 ?0xFF = Command failed.</Desc>
    </Param>
    <Param type="x" size="8">
      <Name>Feature Set</Name>
      <Desc>LE Controller feature support bit map. This is treated as a parameter in which the LSO is transmitted first.</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Set_Random_Address" type="sc" opcode="0x2005">
    <Param type="b" size="6">
      <Name>Random Address</Name>
      <Default>"01:02:03:04:05:06"</Default>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command status</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Set_Advertising_Parameters" type="sc" opcode="0x2006">
    <Param type="u" size="2">
      <Name>Advertise Min Interval</Name>
      <Default>0x0000</Default>
      <Desc>advIntervalmin = Adv_Interval_Min * 0.625 ms, advIntervalmin range: 20 ms to 10.24 s, Does not apply to connectable directed events.</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Advertise Max Interval</Name>
      <Default>0x0000</Default>
      <Desc>advIntervalmax = Adv_Interval * 0.625 ms, advIntervalmax range: 20 ms to 10.24 s, advIntervalmax shall be set to a value equal to or greater than the advIntervalmin Values outside the range are reserved. Does not apply to connectable directed events.</Desc>
    </Param>
    <Param type="u" size="1" valtype="Advertising_Event_Type">
      <Name>Advertising Type</Name>
      <Default>0x00</Default>
    </Param>
    <Param type="u" size="1" valtype="HCI_LE_Address_Type">
      <Name>Own Address Type</Name>
      <Default>0x00</Default>
    </Param>
    <Param type="u" size="1" valtype="HCI_LE_Address_Type">
      <Name>Peer Address Type</Name>
      <Default>0x00</Default>
    </Param>
    <Param type="b" size="6">
      <Name>Peer Address</Name>
      <Default>"01:02:03:04:05:06"</Default>
    </Param>
    <Param type="u" size="1">
      <Name>Advertising Channel Map</Name>
      <Default>"0x07"</Default>
    </Param>
    <Param type="u" size="1">
      <Name>Advertising Filter Policy</Name>
      <Default>"0x00"</Default>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command status</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Read_Adv_Channel_TX_Power" type="sc" opcode="0x2007">
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command status</Desc>
    </Param>
    <Param type="d" size="1">
      <Name>Transmit Power Level</Name>
      <Desc>Transmit Power Level</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Set_Advertising_Data" type="sc" opcode="0x2008">
    <Param type="u" size="1">
      <Name>Data Length</Name>
      <Default>0x00</Default>
    </Param>
    <Param type="x" size="input">
      <Name>Advertising data</Name>
      <Default>"00:01:02:03:04:05:06:07:08:09:0A:0B:0C:0D:0E:0F"</Default>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command status</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Set_Scan_Response_Data" type="sc" opcode="0x2009">
    <Param type="u" size="1" label="Scan_response_Data_Length">
      <Name>Data Length</Name>
      <Default>0x0000</Default>
    </Param>
    <Param type="x" size="input">
      <Name>Data</Name>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command status</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Set_Advertise_Enable" type="sc" opcode="0x200A">
    <Param type="u" size="1" valtype="HCI_LE_Enable">
      <Name>Advertise Enable</Name>
      <Default>0x00</Default>
      <Desc>0x00 = Disable, 0x01 = Enable, 0x02-0xFF = Reserved</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command status</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Set_Scan_Parameters" type="sc" opcode="0x200B">
    <Param type="u" size="1" valtype="HCI_LE_Scan_Mode">
      <Name>Scan Type</Name>
      <Default>0x00</Default>
    </Param>
    <Param type="u" size="2">
      <Name>Scan Interval</Name>
      <Default>0x0010</Default>
    </Param>
    <Param type="u" size="2">
      <Name>Scan Window</Name>
      <Default>0x0010</Default>
    </Param>
    <Param type="u" size="1" valtype="HCI_LE_Address_Type">
      <Name>Own Address Type</Name>
      <Default>0x00</Default>
    </Param>
    <Param type="u" size="1">
      <Name>Scan Filter Policy</Name>
      <Default>0x00</Default>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command status</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Set_Scan_Enable" type="sc" opcode="0x200C">
    <Param type="u" size="1" valtype="HCI_LE_Enable">
      <Name>LE Scan Enable</Name>
      <Default>0x00</Default>
      <Desc>0x00 = Off (scanning disabled), 0x01 = On (scanning enabled), 0x02-0xFF = Reserved</Desc>
    </Param>
    <Param type="u" size="1" valtype="HCI_LE_Enable">
      <Name>Filter_Duplicates</Name>
      <Default>0x00</Default>
      <Desc>0x00 = On (duplicate filtering disabled), 0x01 = Off (duplicate filtering enabled), 0x02-0xFF = Reserved</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>0x00 = LE Controller started or stopped scan service successfully. 0x01 ?0xFF = Command failed.</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Create_Connection" type="sc" opcode="0x200D">
    <Param type="u" size="2">
      <Name>Scan Interval</Name>
      <Default>0x0004</Default>
      <Desc>Time between consecutive scans. scanInterval = Scan_Interval * 0.625 ms, scanInterval range: 2.5 ms to 10.24 s, Scan_Interval range: 0x0004 to 0x4000.</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Scan Window</Name>
      <Default>0x0004</Default>
      <Desc>Duration of the scan. scanWindow = Scan_Window * 0.625 ms, scanWindow range: 2.5 ms to 10.24 s, Scan_Window range: 0x0004 to 0x4000.</Desc>
    </Param>
    <Param type="u" size="1" valtype="HCI_LE_White_List_Usage">
      <Name>Initiator Filter Policy</Name>
      <Default>0x0</Default>
      <Desc> 0x00 = White List not used but the advertiser address in this command is used, 0x01 = White List is used and the advertiser address in this command is not used, 0x02 ?0xFF = Reserved</Desc>
    </Param>
    <Param type="u" size="1" valtype="HCI_LE_Address_Type">
      <Name>Peer Device Address Type</Name>
      <Default>0x00</Default>
      <Desc>Valid only if White_List = 0x00. Indicates address type of the advertiser address. 0x00 = Public address, 0x01 = Random address, 0x02 ?0xFF = Reserved.</Desc>
    </Param>
    <Param type="b" size="6">
      <Name>Peer Device Address</Name>
      <Default>"01:02:03:04:05:06"</Default>
      <Desc>Valid only if White_List = 0x00. Device address of the advertiser to which the connection is to be created. </Desc>
    </Param>
    <Param type="u" size="1" valtype="HCI_LE_Address_Type">
      <Name>Own Address Type</Name>
      <Default>0x00</Default>
      <Desc>Indicates whether to use own public or random device address. 0x00 = Public address, 0x01 = Random address, 0x02 ?0xFF = Reserved</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Min Connection Interval</Name>
      <Default>0x0008</Default>
      <Desc>connIntervalmin = Conn_Interval * 1.25 ms, Conn_Interval_Min range: 0x0006 to 0x0C80.</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Max Connection Interval</Name>
      <Default>0x0008</Default>
      <Desc>connIntervalmax = Conn_Interval * 1.25 ms, Conn_Interval_Max range: 0x0006 to 0x0C80, Shall be equal to or greater than the Conn_Interval_Min.</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Connection Latency</Name>
      <Default>0x0002</Default>
      <Desc>connSlaveLatency = Conn_Latency (as number of LL connection events). Conn_Latency range: 0x0000 to 0x03E8.</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Connection Timeout</Name>
      <Default>0x000A</Default>
      <Desc>connTimeout = Conn_Timeout * 10 ms Conn_Timeout range: 0x000A to 0x0C80.</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Minimum Length</Name>
      <Default>0x0000</Default>
      <Desc>minimum length = Minimum_Length * 0.625 ms, Minimum_Length range: 0x01 to 2*Conn_Interval</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Maximum Length</Name>
      <Default>0x0000</Default>
      <Desc>maximum length = Maximum_Length * 0.625 ms, Maximum_Length range: 0x01 to 2*Conn_Interval</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Status_Event</Name>
    </Param>
  </Command>

  <Command name="HCI_LE_Create_Connection_Cancel" type="sc" opcode="0x200E">
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>0x00 = Connection creation stopped. 0x01 ?0xFF = Command failed.</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Read_White_List_Size" type="sc" opcode="0x200F">
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>0x00 = Command succeeded. 0x01 ?0xFF = Command failed.</Desc>
    </Param>
    <Param type="u" size="1">
      <Name>White List Size</Name>
      <Desc>Total number of white list entries that can be stored in the Controller. Range: 0x01 to 0xFF</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Clear_White_List" type="sc" opcode="0x2010">
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>0x00 = Command succeeded. 0x01 ?0xFF = Command failed.</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Add_Device_To_White_List" type="sc" opcode="0x2011">
    <Param type="u" size="1" valtype="HCI_LE_Address_Type">
      <Name>Device Address Type</Name>
      <Default>0x00</Default>
      <Desc>Indicates device address type of the address added to the list. 0x00 = Public address, 0x01 = Random address, 0x02-0xFF = Reserved</Desc>
    </Param>
    <Param type="b" size="6">
      <Name>Device Address</Name>
      <Default>"01:02:03:04:05:06"</Default>
      <Desc>Device address that is to be added to the White List.</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>0x00 = Command succeeded. 0x01 ?0xFF = Command failed.</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Remove_Device_From_White_List" type="sc" opcode="0x2012">
    <Param type="u" size="1" valtype="HCI_LE_Address_Type">
      <Name>Device Address Type</Name>
      <Default>0x00</Default>
      <Desc>Indicates device address type of the address added to the list. 0x00 = Public address, 0x01 = Random address, 0x02-0xFF = Reserved</Desc>
    </Param>
    <Param type="b" size="6">
      <Name>Device Address</Name>
      <Default>"01:02:03:04:05:06"</Default>
      <Desc>Device address that is to be added to the White List.</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>0x00 = Command succeeded. 0x01 ?0xFF = Command failed.</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Connection_Update" type="sc" opcode="0x2013">
    <Param type="u" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc>Local identifier of the LL connection</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Min Connection Interval</Name>
      <Default>0x0006</Default>
      <Desc>connInterval = Conn_Interval * 1.25 ms, Conn_Interval range: 0x0006 to 0x0C80</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Max Connection Interval</Name>
      <Default>0x0006</Default>
      <Desc>connIntervalmax = Conn_Interval * 1.25 ms, Conn_Interval_Max range: 0x0006 to 0x0C80, Shall be equal to or greater than the Conn_Interval_Min.</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Connection Latency</Name>
      <Default>0x0000</Default>
      <Desc>connSlaveLatency = Conn_Latency (as number of LL connection events). Conn_Latency range: 0x0000 to 0x03E8</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Connection Timeout</Name>
      <Default>0x000A</Default>
      <Desc>connTimeout = Conn_Timeout * 10 ms, Conn_Timeout range: 0x000A to 0x0C80</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Minimum Length</Name>
      <Default>0x0000</Default>
      <Desc>minimum length = Minimum_Length * 0.625 ms, Minimum_Length range: 0x01 to 2*Conn_Interval</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Maximum Length</Name>
      <Default>0x0000</Default>
      <Desc>maximum length = Maximum_Length * 0.625 ms, Maximum_Length range: 0x01 to 2*Conn_Interval</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Status_Event</Name>
    </Param>
  </Command>

  <Command name="HCI_LE_Set_Host_Channel_Classification" type="sc" opcode="0x2014">
    <Param type="x" size="5">
      <Name>Channel Map</Name>
      <Default>00:00:00:00:01</Default>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Status</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Read_Channel_Map" type="sc" opcode="0x2015">
    <Param type="u" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
    </Param>
    <Param type="u" size="2">
      <Name>Handle</Name>
    </Param>
    <Param type="x" size="5">
      <Name>BLE Channel Map</Name>
    </Param>
  </Command>

  <Command name="HCI_LE_Read_Remote_Used_Features" type="sc" opcode="0x2016">
    <Param type="u" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc>Local identifier of the LL connection</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Status_Event</Name>
    </Param>
  </Command>

  <Command name="HCI_LE_Encrypt" type="sc" opcode="0x2017">
    <Param type="x" size="16">
      <Name>Key</Name>
      <Default>"05:AF:51:9C:F0:E4:1E:8A:0C:3C:76:C0:D5:50:A6:A9"</Default>
    </Param>
    <Param type="x" size="16">
      <Name>Data</Name>
      <Default>"85:B2:26:1C:8E:84:0E:38:98:68:E9:EF:EA:18:A2:7F"</Default>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command status</Desc>
    </Param>
    <Param type="x" size="16">
      <Name>Encrypted Data</Name>
    </Param>
  </Command>

  <Command name="HCI_LE_Rand" type="sc" opcode="0x2018">
    <Param type="u" size="1">
      <Name>Data Length</Name>
      <Default>0x01</Default>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command status</Desc>
    </Param>
    <Param type="x" size="8">
      <Name>Random Data</Name>
    </Param>
  </Command>

  <Command name="HCI_LE_Start_Encryption" type="sc" opcode="0x2019">
    <Param type="u" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc>Local identifier of the LL connection to which the command applies</Desc>
    </Param>
    <Param type="u" size="8">
      <Name>Random</Name>
      <Desc>Random vector used in device identification</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Encrypted Diversifier</Name>
      <Desc>Encrypted diversifier</Desc>
    </Param>
    <Param type="x" size="16">
      <Name>Long Term Key</Name>
      <Desc>Long term key</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Status_Event</Name>
    </Param>
  </Command>

  <Command name="HCI_LE_Long_Term_Key_Requested_Reply" type="sc" opcode="0x201A">
    <Param type="u" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc>Local identifier of the LL connection to which the command applies</Desc>
    </Param>
    <Param type="x" size="16">
      <Name>Long Term Key</Name>
      <Desc>Long term key</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command status</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
    </Param>
  </Command>

  <Command name="HCI_LE_Long_Term_Key_Requested_Negative_Reply" type="sc" opcode="0x201B">
    <Param type="u" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc>Local identifier of the LL connection to which the command applies</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command status</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
    </Param>
  </Command>

  <Command name="HCI_LE_Read_Supported_States" type="sc" opcode="0x201C">
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command Status</Desc>
    </Param>
    <Param type="x" size="8">
      <Name>Supported States</Name>
      <Default>"00:00:00:00:00:00:00:00"</Default>
      <Desc>Supported States and Combos</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Receiver_Test" type="sc" opcode="0x201D">
    <Param type="u" size="1">
      <Name>RX_Channel</Name>
      <Default>0x00</Default>
      <Desc>RX_Channel</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command status</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Transmitter_Test" type="sc" opcode="0x201E">
    <Param type="u" size="1">
      <Name>TX_Channel</Name>
      <Default>0x00</Default>
      <Desc>TX_Channel</Desc>
    </Param>
    <Param type="u" size="1">
      <Name>Length_Of_Test_Data</Name>
      <Default>0x00</Default>
      <Desc>Length_Of_Test_Data</Desc>
    </Param>
    <Param type="u" size="1">
      <Name>Packet_Payload</Name>
      <Default>0x00</Default>
      <Desc>Packet_Payload</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command status</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Test_End" type="sc" opcode="0x201F">
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command status</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Number_Of_Packets</Name>
      <Desc>Number_Of_Packets</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Remote_Connection_Parameter_Request_Reply" type="sc" opcode="0x2020">
    <Param type="u" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc>Local identifier of the LL connection</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Min Connection Interval</Name>
      <Default>0x0006</Default>
      <Desc>connInterval = Conn_Interval * 1.25 ms, Conn_Interval range: 0x0006 to 0x0C80</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Max Connection Interval</Name>
      <Default>0x0006</Default>
      <Desc>connIntervalmax = Conn_Interval * 1.25 ms, Conn_Interval_Max range: 0x0006 to 0x0C80, Shall be equal to or greater than the Conn_Interval_Min.</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Connection Latency</Name>
      <Default>0x0000</Default>
      <Desc>connSlaveLatency = Conn_Latency (as number of LL connection events). Conn_Latency range: 0x0000 to 0x03E8</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Connection Timeout</Name>
      <Default>0x000A</Default>
      <Desc>connTimeout = Conn_Timeout * 10 ms, Conn_Timeout range: 0x000A to 0x0C80</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Minimum Length</Name>
      <Default>0x0000</Default>
      <Desc>minimum length = Minimum_Length * 0.625 ms, Minimum_Length range: 0x01 to 2*Conn_Interval</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Maximum Length</Name>
      <Default>0x0000</Default>
      <Desc>maximum length = Maximum_Length * 0.625 ms, Maximum_Length range: 0x01 to 2*Conn_Interval</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command status</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Handle</Name>
      <Desc>Connection handle.</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Remote_Connection_Parameter_Request_Negative_Reply" type="sc" opcode="0x2021">
    <Param type="u" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc>Local identifier of the LL connection</Desc>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Reason Code</Name>
      <Default>0x3B</Default>
      <Desc>Reason for Host rejection of connection parameters.</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command status</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Handle</Name>
      <Desc>Connection handle.</Desc>
    </Param>
  </Command>

  <!-- V4.2 - Extended Data Length -->

  <Command name="HCI_LE_Set_Data_Length" type="sc" opcode="0x2022">
    <Param type="u" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc>Local identifier of the LL connection</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>TxOctets</Name>
      <Default>0x001B</Default>
      <Desc>Preferred max transmit payload in bytes.</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>TxTime</Name>
      <Default>0x0148</Default>
      <Desc>Preferred max transmit time in us.</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Command Status</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc>Local identifier of the LL connection</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Read_Suggested_Default_Data_Length" type="sc" opcode="0x2023">
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Command Status</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>InitialMaxTxOctets</Name>
      <Desc>Initial Max Tx Octets.</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>InitialMaxTxTime</Name>
      <Desc>Initial Max Tx Time.</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Read_Max_Data_Length" type="sc" opcode="0x202F">
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Command Status</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>SupportedMaxTxOctets</Name>
      <Desc>Supported Max Tx Octets.</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>SupportedMaxTxTime</Name>
      <Desc>Supported Max Tx Time.</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>SupportedMaxRxOctets</Name>
      <Desc>Supported Max Rx Octets.</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>SupportedMaxRxTime</Name>
      <Desc>Supported Max Rx Time.</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Write_Suggested_Default_Data_Length" type="sc" opcode="0x2024">
    <Param type="u" size="2">
      <Name>TxOctets</Name>
      <Default>0x001B</Default>
      <Desc>Preferred max transmit payload in bytes.</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>TxTime</Name>
      <Default>0x0148</Default>
      <Desc>Preferred max transmit time in us.</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Command Status</Desc>
    </Param>
  </Command>

  <!-- V4.2 - Secure Connections -->

  <Command name="HCI_LE_Read_Local_P256_Public_Key" type="sc" opcode="0x2025">
    <Param type="R">
      <Name>HCI_Command_Status_Event</Name>
    </Param>
  </Command>

  <Command name="HCI_LE_Generate_DHKey" type="sc" opcode="0x2026">
    <Param type="x" size="64">
      <Name>Remote P256 Key</Name>
      <Default>"00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00"</Default>
      <Desc>Remote P256 Public Key in X/Y format.</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Status_Event</Name>
    </Param>
  </Command>

  <!-- V4.2 - Privacy 1.2 -->

  <Command name="HCI_LE_Add_Device_To_Resolving_List" type="sc" opcode="0x2027">
    <Param type="u" size="1">
      <Name>PeerAddrType</Name>
      <Default>0</Default>
      <Desc>Peer Address Type.</Desc>
    </Param>
    <Param type="b" size="6">
      <Name>PeerIdAddr</Name>
      <Default>"00:00:00:00:00:00"</Default>
      <Desc>Peer Identity Address.</Desc>
    </Param>
    <Param type="x" size="16">
      <Name>PeerIRK</Name>
      <Default>"00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00"</Default>
      <Desc>Peer Identity Resolving Key</Desc>
    </Param>
    <Param type="x" size="16">
      <Name>LocalIRK</Name>
      <Default>"00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00"</Default>
      <Desc>Local Identity Resolving Key</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Command Status</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Remove_Device_From_Resolving_List" type="sc" opcode="0x2028">
    <Param type="u" size="1">
      <Name>PeerAddrType</Name>
      <Default>0</Default>
      <Desc>Peer Address Type.</Desc>
    </Param>
    <Param type="b" size="6">
      <Name>PeerIdAddr</Name>
      <Default>"00:00:00:00:00:00"</Default>
      <Desc>Peer Identity Address.</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Command Status</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Clear_Resolving_List" type="sc" opcode="0x2029">
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Command Status</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Read_Resolving_List_Size" type="sc" opcode="0x202A">
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status" label="status">
      <Name>Status</Name>
      <Default>0x0A</Default>
      <Desc>Command Status</Desc>
    </Param>
    <Param cond="status!=0x01">
      <Param type="u" size="1">
        <Name>ResolvingListSizeName</Name>
        <Default>0x00</Default>
        <Desc>Total number of resolving list entries that can be stored in Controller.</Desc>
      </Param>
    </Param>
  </Command>

  <Command name="HCI_LE_Read_Peer_Resolvable_Address" type="sc" opcode="0x202B">
    <Param type="u" size="1">
      <Name>PeerAddrType</Name>
      <Default>0</Default>
      <Desc>Peer Address Type.</Desc>
    </Param>
    <Param type="b" size="6">
      <Name>PeerIdAddr</Name>
      <Default>"00:00:00:00:00:00"</Default>
      <Desc>Peer Identity Address.</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status" label="status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Command Status</Desc>
    </Param>
    <Param cond="status!=0x01">
      <Param type="b" size="6">
        <Name>PeerRPA</Name>
        <Default>"00:00:00:00:00:00"</Default>
        <Desc>Peer Resolvable Address.</Desc>
      </Param>
    </Param>
  </Command>

  <Command name="HCI_LE_Read_Local_Resolvable_Address" type="sc" opcode="0x202C">
    <Param type="u" size="1">
      <Name>LocalAddrType</Name>
      <Default>0</Default>
      <Desc>Local Address Type.</Desc>
    </Param>
    <Param type="b" size="6">
      <Name>LocalIdAddr</Name>
      <Default>"00:00:00:00:00:00"</Default>
      <Desc>Local Identity Address.</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status" label="status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Command Status</Desc>
    </Param>
    <Param cond="status!=0x01">
      <Param type="b" size="6">
        <Name>LocalRPA</Name>
        <Default>"00:00:00:00:00:00"</Default>
        <Desc>Local Resolvable Address.</Desc>
      </Param>
    </Param>
  </Command>

  <Command name="HCI_LE_Set_Address_Resolution_Enable" type="sc" opcode="0x202D">
    <Param type="u" size="1">
      <Name>AddrResolutionEnable</Name>
      <Default>0</Default>
      <Desc>Address Resolution Enable.</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Command Status</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Set_Resolvable_Private_Address_Timeout" type="sc" opcode="0x202E">
    <Param type="u" size="2">
      <Name>RPATimeout</Name>
      <Default>0x0384</Default>
      <Desc>RPA Timeout in seconds(default is 15 minutes).</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Command Status</Desc>
    </Param>
  </Command>

  <!-- V5.0 - 2Mbps PHY -->

  <Command name="HCI_LE_Read_PHY" type="sc" opcode="0x2030">
    <Param type="u" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc>Local identifier of the LL connection</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status" label="status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Command Status</Desc>
    </Param>
    <Param cond="status!=0x01">
      <Param type="h" size="2">
        <Name>Handle</Name>
        <Default>0x0000</Default>
        <Desc>Local identifier of the LL connection</Desc>
      </Param>
      <Param type="u" size="1" valtype="PhyParameter_Type">
        <Name>Tx Phy</Name>
        <Desc>Bit Map of Tx Phy for this connection.</Desc>
      </Param>
      <Param type="u" size="1" valtype="PhyParameter_Type">
        <Name>Rx Phy</Name>
        <Desc>Bit Map of Tx Phy for this connection.</Desc>
      </Param>
    </Param>
  </Command>

  <Command name="HCI_LE_Set_Default_PHY" type="sc" opcode="0x2031">
    <Param type="u" size="1" valtype="PhyParameterPreference_Type">
      <Name>All Phys</Name>
      <Default>0x03</Default>
      <Desc>Phy Parameter Preference</Desc>
    </Param>
    <Param type="u" size="1" valtype="PhyParameter_Type">
      <Name>Tx Phy</Name>
      <Default>0x01</Default>
      <Desc>Tx Phy Preference</Desc>
    </Param>
    <Param type="u" size="1" valtype="PhyParameter_Type">
      <Name>Rx Phy</Name>
      <Default>0x01</Default>
      <Desc>Rx Phy Preference</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>Command Complete Status</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Set_PHY" type="sc" opcode="0x2032">
    <Param type="u" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc>Local identifier of the LL connection</Desc>
    </Param>
    <Param type="u" size="1" valtype="PhyParameterPreference_Type">
      <Name>All Phys</Name>
      <Default>0x03</Default>
      <Desc>Phy Parameter Preference</Desc>
    </Param>
    <Param type="u" size="1" valtype="PhyParameter_Type">
      <Name>Tx Phy</Name>
      <Default>0x01</Default>
      <Desc>Tx Phy Preference</Desc>
    </Param>
    <Param type="u" size="1" valtype="PhyParameter_Type">
      <Name>Rx Phy</Name>
      <Default>0x01</Default>
      <Desc>Rx Phy Preference</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Status_Event</Name>
    </Param>
  </Command>

  <Command name="HCI_LE_Enhanced_Receiver_Test" type="sc" opcode="0x2033">
    <Param type="u" size="1">
      <Name>RX_Channel</Name>
      <Default>0x00</Default>
      <Desc>RX_Channel</Desc>
    </Param>
    <Param type="u" size="1" valtype="DtmRxPhyParameter_Type">
      <Name>PHY</Name>
      <Default>0x01</Default>
      <Desc>1Mbps or 2Mbps or Coded PHY</Desc>
    </Param>
    <Param type="u" size="1" valtype="EnhancedDTMModIndex_Type">
      <Name>Modulation Index</Name>
      <Default>0x00</Default>
      <Desc>Standard or Stable Modulation Index</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command status</Desc>
    </Param>
  </Command>

  <Command name="HCI_LE_Enhanced_Transmitter_Test" type="sc" opcode="0x2034">
    <Param type="u" size="1">
      <Name>TX_Channel</Name>
      <Default>0x00</Default>
      <Desc>TX_Channel</Desc>
    </Param>
    <Param type="u" size="1">
      <Name>Length_Of_Test_Data</Name>
      <Default>0x00</Default>
      <Desc>Length_Of_Test_Data</Desc>
    </Param>
    <Param type="u" size="1">
      <Name>Packet_Payload</Name>
      <Default>0x00</Default>
      <Desc>Packet_Payload</Desc>
    </Param>
    <Param type="u" size="1" valtype="DtmTxPhyParameter_Type">
      <Name>PHY</Name>
      <Default>0x01</Default>
      <Desc>1Mbps or 2Mbps or 125kbps Coded or 500kbps Coded PHY</Desc>
    </Param>
    <Param type="R">
      <Name>HCI_Command_Complete_Event</Name>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Desc>Command status</Desc>
    </Param>
  </Command>

  <!-- ================================================================== -->
  <Command name="HCI LE Data" type="gb" />
  <!-- ================================================================== -->

  <Values name="LayerTypes" type="enum">
      <Value val="1">Command</Value>
      <Value val="2">Asychronous Data</Value>
      <Value val="2">Synchronous Data</Value>
      <Value val="3">Event</Value>
  </Values>

  <Values name="BroadcastTypes" type="enum">
      <Value val="0">None</Value>
      <Value val="1">Active</Value>
      <Value val="2">All</Value>
  </Values>

  <Values name="TxPktBoundaryFlagTypes" type="enum">
      <Value val="0">Start</Value>
      <Value val="1">Continuation</Value>
  </Values>

  <Values name="RxPktBoundaryFlagTypes" type="enum">
    <Value val="1">Continuation</Value>
    <Value val="2">Start</Value>
  </Values>

  <Command name="HCI_LE_Send_Data" type="cc">
    <Param type="u" size="1" prop="h">
      <Name>Layer</Name>
      <Value>2</Value>
    </Param>
    <Param type="h" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
    <Param type="u" size="2" prop="h">
      <Name>Payload Length</Name>
      <Value>size(dataLen)</Value>
    </Param>
    <Param type="x" size="input" label="dataLen">
      <Name>Data</Name>
      <Default>"00:11:22:33"</Default>
      <Desc />
    </Param>
  </Command>

  <Command name="HCI_Send_ACL_Data" type="cc">
    <Param type="u" size="1" prop="h" valtype="LayerTypes">
      <Name>Layer</Name>
      <Value>2</Value>
    </Param>
    <Param type="h" size="2" bits="12">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
    <Param type="u" size="2" bits="2" valtype="TxPktBoundaryFlagTypes">
        <Name>Boundary</Name>
        <Default>0x00</Default>
        <Desc>Packet Boundary Flag</Desc>
    </Param>
    <Param type="u" size="2" bits="2" valtype="BroadcastTypes">
        <Name>Broadcast</Name>
        <Default>0x00</Default>
        <Desc>Broadcast Flag</Desc>
    </Param>
    <Param type="u" size="2" prop="h">
      <Name>Payload Length</Name>
      <Value>size(dataLen)</Value>
    </Param>
    <Param type="x" size="input" label="dataLen">
      <Name>Data</Name>
      <Default>"00:11:22:33"</Default>
      <Desc />
    </Param>
  </Command>

  <Command name="HCI_ACL_Packet_Event" type="acl_in">
    <Param type="t">
        <Name>Timeout</Name>
        <Default>5000</Default>
        <Desc>Time in msec to wait for the event.</Desc>
    </Param>
    <Param type="u" size="1" prop="h" valtype="LayerTypes">
        <Name>Layer</Name>
        <Value>2</Value>
    </Param>
    <Param type="h" size="2" bits="12">
        <Name>Handle</Name>
        <Default>0x0000</Default>
        <Desc />
    </Param>
    <Param type="u" size="2" bits="2" valtype="RxPktBoundaryFlagTypes">
        <Name>Boundary</Name>
        <Default>0x02</Default>
        <Desc>Packet Boundary Flag</Desc>
    </Param>
    <Param type="u" size="2" bits="2" valtype="BroadcastTypes">
        <Name>Broadcast</Name>
        <Default>0x00</Default>
        <Desc>Broadcast Flag</Desc>
    </Param>
    <Param type="u" size="2" label="dataLen" prop="h">
        <Name>Length</Name>
        <Default>0</Default>
    </Param>
    <Param type="x" size="dataLen">
        <Name>Data</Name>
        <Default>&amp;ACLData</Default>
        <Desc />
    </Param>
  </Command>

  <!-- ******************************************************* -->
  <!-- ******************************************************* -->
  <!--                                                         -->
  <!-- HCI Events                                              -->
  <!--                                                         -->
  <!-- ******************************************************* -->
  <!-- ******************************************************* -->

  <!-- ================================================================== -->
  <Command name="HCI Events" type="gb" />
  <!-- ================================================================== -->

  <Command name="HCI_Disconnection_Complete_Event" type="se" opcode="0x0005">
    <Param type="t">
      <Name>Timeout</Name>
      <Default>5000</Default>
      <Desc>Time in msec to wait for the event</Desc>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>0 - Disconnection has occurred, otherwise Disconnection failed to Complete</Desc>
    </Param>
    <Param type="h" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Reason</Name>
      <Default>0x08</Default>
      <Desc>Other End Terminated Connection (0x13-0x15), Terminated by Local Host (0x16), Timeout (0x08)</Desc>
    </Param>
  </Command>

  <Command name="HCI_Encryption_Change_Event" type="se" opcode="0x0008">
    <Param type="t">
      <Name>Timeout</Name>
      <Default>5000</Default>
      <Desc>Time in msec to wait for the event</Desc>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>0 - Encryption Change has occurred, otherwise Encryption Change failed</Desc>
    </Param>
    <Param type="h" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
    <Param type="u" size="1" valtype="OffOn">
      <Name>Encryption Enable</Name>
      <Default>0x00</Default>
      <Desc>0 - Turn Link Level Encryption OFF, 1 - Turn Link Level Encryption ON</Desc>
    </Param>
  </Command>

  <Command name="HCI_Read_Remote_Version_Information_Complete_Event" type="se" opcode="0x000C">
    <Param type="t">
      <Name>Timeout</Name>
      <Default>5000</Default>
      <Desc>Time in msec to wait for the event</Desc>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>0 - Read Remote Version Information command succeeded</Desc>
    </Param>
    <Param type="h" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
    <Param type="u" size="1" valtype="LLVersion">
      <Name>LL Version</Name>
      <Default>0x00</Default>
      <Desc>Version of the Current LL in the remote Bluetooth Hardware</Desc>
    </Param>
    <Param type="u" size="2" valtype="CompID">
      <Name>Manufacturer Name</Name>
      <Default>13</Default>
      <Desc>Manufacturer Name of the Remote Bluetooth Hardware</Desc>
    </Param>
    <Param type="u" size="2">
      <Name>LL Subversion</Name>
      <Default>0x0000</Default>
      <Desc>Subversion of the Current LL in the remote Bluetooth Hardware</Desc>
    </Param>
  </Command>

  <Command name="HCI_Command_Complete_Event" type="se" opcode="0x000E">
    <Param type="CommandComplete">
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
      <Desc>0 - Success</Desc>
    </Param>
  </Command>

  <Command name="HCI_Command_Status_Event" type="se" opcode="0x000F">
    <Param type="t">
      <Name>Timeout</Name>
      <Default>2000</Default>
      <Desc>Time in msec</Desc>
    </Param>
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
    </Param>
    <Param type="u" size="1">
      <Name>Number HCI commands</Name>
      <Default>Any</Default>
    </Param>
    <Param type="u" size="2">
      <Name>Command Opcode</Name>
    </Param>
  </Command>

  <Command name="HCI_Hardware_Error_Event" type="se" opcode="0x0010">
    <Param type="t">
      <Name>Timeout</Name>
      <Default>5000</Default>
      <Desc>Time in msec to wait for the event</Desc>
    </Param>
    <Param type="u" size="1" valtype="HCIHardwareErrors">
      <Name>Hardware Code</Name>
      <Default>0x00</Default>
      <Desc>Error code to indicate various Hardware problems</Desc>
    </Param>
  </Command>

  <Command name="HCI_Number_Of_Completed_Packets_Event" type="se" opcode="0x0013">
    <Param type="t">
      <Name>Timeout</Name>
      <Default>5000</Default>
      <Desc>Time in msec to wait for the event</Desc>
    </Param>
    <Param type="u" size="1" label="count">
      <Name>Number of Handles</Name>
      <Default>0x01</Default>
      <Desc>The number of Handles and Data_Packets parameters pairs contained in this event</Desc>
    </Param>
    <Param array="count">
      <Param type="h" size="2">
        <Name>Handle</Name>
        <Default>0x0000</Default>
        <Desc />
      </Param>
      <Param type="u" size="2">
        <Name>Num Completed Packets</Name>
        <Default>0x0000</Default>
        <Desc>number of packets that have been completed (transmitted or flushed) since the previous time the event was returned</Desc>
      </Param>
    </Param>
  </Command>

  <Command name="HCI_Data_Buffer_Overflow_Event" type="se" opcode="0x001A">
    <Param type="t">
      <Name>Timeout</Name>
      <Default>5000</Default>
      <Desc>Time in msec to wait for the event</Desc>
    </Param>
    <Param type="u" size="1" valtype="LinkType">
      <Name>Link Type</Name>
      <Default>0x01</Default>
      <Desc>0 - SCO Buffer Overflow, 1 - ACL Buffer Overflow</Desc>
    </Param>
  </Command>

  <Command name="HCI_Refresh_Encryption_Key_Event" type="se" opcode="0x0030">
    <Param type="u" size="1" valtype="Status">
      <Name>Status</Name>
      <Default>0x00</Default>
    </Param>
    <Param type="h" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
  </Command>

  <Command name="HCI_Auth_Payload_Timeout_Expiration_Event" type="se" opcode="0x0057">
    <Param type="h" size="2">
      <Name>Handle</Name>
      <Default>0x0000</Default>
      <Desc />
    </Param>
  </Command>

  <!-- LE Generic Report Events ******************************************** -->

  <Command name="HCI_LE_Generic_Report_Event" type="se" opcode="0x003E">
    <Param type="u" size="1" valtype="HCI_LE_Event_Opcode" label="Event_Type">
      <Name>Event Opcode</Name>
      <Default>1</Default>
    </Param>
    <!-- Connection Complete Event -->
    <Param cond="Event_Type==0x01">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
        <Default>0x00</Default>
        <Desc>Status</Desc>
      </Param>
      <Param type="u" size="2">
        <Name>Connection Id</Name>
      </Param>
      <Param type="u" size="1" valtype="HCI_LE_Connection_Role">
        <Name>Role</Name>
      </Param>
      <Param type="u" size="1" valtype="HCI_LE_Address_Type">
        <Name>Peer Address Type</Name>
      </Param>
      <Param type="b" size="6">
        <Name>Peer Address</Name>
      </Param>
      <Param type="u" size="2">
        <Name>Connection Interval</Name>
      </Param>
      <Param type="u" size="2">
        <Name>Connection Latency</Name>
      </Param>
      <Param type="u" size="2">
        <Name>Supervision Timeout</Name>
      </Param>
      <Param type="u" size="1">
        <Name>Clock Accuracy</Name>
      </Param>
    </Param>

    <!-- Advertising Report Event  -->
    <Param cond="Event_Type==0x02">
      <Param type="u" size="1" label="Count">
        <Name>Number of Reports</Name>
        <Default>0x01</Default>
      </Param>
      <Param array="Count">
        <Param type="u" size="1" valtype="Advertising_Report_Event_Type">
          <Name>Advertising Event Type</Name>
        </Param>
        <Param type="u" size="1" valtype="HCI_LE_Address_Type">
          <Name>Address Type</Name>
        </Param>
        <Param type="b" size="6">
          <Name>Address</Name>
        </Param>
        <Param type="u" size="1" label="DataLength">
          <Name>Length</Name>
        </Param>
        <Param type="x" size="DataLength">
          <Name>Data</Name>
        </Param>
        <Param type="d" size="1" valtype="RSSIType">
          <Name>RSSI (dBm)</Name>
          <Default>127</Default>
        </Param>
      </Param>
    </Param>

    <!-- Connection Update Complete Event -->
    <Param cond="Event_Type==0x03">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2">
        <Name>Connection Id</Name>
      </Param>
      <Param type="u" size="2">
        <Name>Connection Interval</Name>
      </Param>
      <Param type="u" size="2">
        <Name>Connection Latency</Name>
      </Param>
      <Param type="u" size="2">
        <Name>Connection Timeout</Name>
      </Param>
    </Param>

    <!-- Read Remote Used Features Complete Event -->
    <Param cond="Event_Type==0x04">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2">
        <Name>Connection Id</Name>
      </Param>
      <Param type="x" size="8">
        <Name>Features</Name>
      </Param>
    </Param>

    <!-- Long Term Key Request Event -->
    <Param cond="Event_Type==0x05">
      <Param type="u" size="2">
        <Name>Handle</Name>
        <Default>0x0000</Default>
      </Param>
      <Param type="x" size="8">
        <Name>Random Number</Name>
      </Param>
      <Param type="u" size="2">
        <Name>Encrypted Diversifier</Name>
      </Param>
    </Param>

    <!-- Remote Connection Parameter Request Event -->
    <Param cond="Event_Type==0x06">
      <Param type="u" size="2">
        <Name>Handle</Name>
        <Default>0x0000</Default>
        <Desc>Local identifier of the LL connection</Desc>
      </Param>
      <Param type="u" size="2">
        <Name>Min Connection Interval</Name>
        <Default>0x0006</Default>
        <Desc>connInterval = Conn_Interval * 1.25 ms, Conn_Interval range: 0x0006 to 0x0C80</Desc>
      </Param>
      <Param type="u" size="2">
        <Name>Max Connection Interval</Name>
        <Default>0x0006</Default>
        <Desc>connIntervalmax = Conn_Interval * 1.25 ms, Conn_Interval_Max range: 0x0006 to 0x0C80, Shall be equal to or greater than the Conn_Interval_Min.</Desc>
      </Param>
      <Param type="u" size="2">
        <Name>Connection Latency</Name>
        <Default>0x0000</Default>
        <Desc>connSlaveLatency = Conn_Latency (as number of LL connection events). Conn_Latency range: 0x0000 to 0x03E8</Desc>
      </Param>
      <Param type="u" size="2">
        <Name>Connection Timeout</Name>
        <Default>0x000A</Default>
        <Desc>connTimeout = Conn_Timeout * 10 ms, Conn_Timeout range: 0x000A to 0x0C80</Desc>
      </Param>
    </Param>

    <!-- Data Length Change Complete Event -->
    <Param cond="Event_Type==0x07">
      <Param type="u" size="2">
        <Name>Handle</Name>
        <Default>0x0000</Default>
        <Desc>Local identifier of the LL connection</Desc>
      </Param>
      <Param type="u" size="2">
        <Name>MaxTxOctets</Name>
        <Desc>Max Tx Octets.</Desc>
      </Param>
      <Param type="u" size="2">
        <Name>MaxTxTime</Name>
        <Desc>Max Tx Time.</Desc>
      </Param>
      <Param type="u" size="2">
        <Name>MaxRxOctets</Name>
        <Desc>Max Rx Octets.</Desc>
      </Param>
      <Param type="u" size="2">
        <Name>MaxRxTime</Name>
        <Desc>Max Rx Time.</Desc>
      </Param>
    </Param>

    <!-- Read Local P-256 Public Key Complete Event -->
    <Param cond="Event_Type==0x08">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="x" size="64">
        <Name>Local P256 Key</Name>
        <Default>"00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00"</Default>
        <Desc>Local P256 Public Key in X/Y format.</Desc>
      </Param>
    </Param>

    <!-- Generate DHKey Complete Event -->
    <Param cond="Event_Type==0x09">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="x" size="32">
        <Name>DHKey</Name>
        <Default>"00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00"</Default>
        <Desc>Diffie Hellman Key.</Desc>
      </Param>
    </Param>

	<!-- Enhanced Connection Complete Event -->
    <Param cond="Event_Type==0x0A">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
        <Default>0x00</Default>
        <Desc>Status</Desc>
      </Param>
      <Param type="u" size="2">
        <Name>Connection Id</Name>
      </Param>
      <Param type="u" size="1" valtype="HCI_LE_Connection_Role">
        <Name>Role</Name>
      </Param>
      <Param type="u" size="1" valtype="HCI_LE_Address_Type">
        <Name>Peer Address Type</Name>
      </Param>
      <Param type="b" size="6">
        <Name>Peer Address</Name>
      </Param>
      <Param type="b" size="6">
        <Name>Local RPA</Name>
      </Param>
      <Param type="b" size="6">
        <Name>Peer RPA</Name>
      </Param>
      <Param type="u" size="2">
        <Name>Connection Interval</Name>
      </Param>
      <Param type="u" size="2">
        <Name>Connection Latency</Name>
      </Param>
      <Param type="u" size="2">
        <Name>Supervision Timeout</Name>
      </Param>
      <Param type="u" size="1">
        <Name>Clock Accuracy</Name>
      </Param>
    </Param>

    <!-- Direct Advertising Report Event -->
    <Param cond="Event_Type==0x0B">
    </Param>

    <!-- Phy Update Complete Event -->
    <Param cond="Event_Type==0x0C">
      <Param type="u" size="1" valtype="Status">
        <Name>Status</Name>
      </Param>
      <Param type="u" size="2">
        <Name>Handle</Name>
        <Default>0x0000</Default>
        <Desc>Local identifier of the LL connection</Desc>
      </Param>
      <Param type="u" size="1" valtype="PhyParameter_Type">
        <Name>Tx Phy</Name>
        <Desc>Bit Map of Tx Phy for this connection.</Desc>
      </Param>
      <Param type="u" size="1" valtype="PhyParameter_Type">
        <Name>Rx Phy</Name>
        <Desc>Bit Map of Tx Phy for this connection.</Desc>
      </Param>
    </Param>

    <!-- Scan Request Report Event  -->
    <Param cond="Event_Type==0x80">
      <Param type="u" size="1" valtype="Scan_Request_Report_Event_Type">
        <Name>Report Event Type</Name>
      </Param>
      <Param type="u" size="1" valtype="HCI_LE_Address_Type">
        <Name>Peer Address Type</Name>
      </Param>
      <Param type="b" size="6">
        <Name>Peer Address</Name>
      </Param>
      <Param type="d" size="1">
        <Name>BLE Channel</Name>
      </Param>
      <Param type="d" size="1" valtype="RSSIType">
        <Name>RSSI (dBm)</Name>
        <Default>127</Default>
      </Param>
    </Param>

  </Command>

  <!-- ================================================================== -->
  <Command name="HCITester - Async Events" type="gb" />
  <!-- ================================================================== -->

  <Command name="EnableAsyncEvents">
    <Param type="u" valtype="TrueFalse">
      <Name>Enable</Name>
      <Default>False</Default>
      <Desc>Enable or disable default state of asynchronous events</Desc>
    </Param>
  </Command>

  <Command name="WaitForAllEvents">
    <Param type="t">
      <Name>Timeout</Name>
      <Default>5000</Default>
      <Desc>Time in msec</Desc>
    </Param>
    <Param type="u" valtype="TrueFalse">
      <Name>Include Infinite</Name>
      <Default>True</Default>
      <Desc>Wait also for pending infinite events to finish</Desc>
    </Param>
  </Command>

  <Command name="ClearAllEvents">
    <Param type="u" valtype="TrueFalse">
      <Name>Include Infinite</Name>
      <Default>True</Default>
      <Desc>Clear also pending infinite events</Desc>
    </Param>
  </Command>

  <Command name="OnMismatch">
  </Command>

  <Command name="OnTimeout">
  </Command>

  <Command name="ClearMismatch">
  </Command>

  <Command name="ClearTimeout">
  </Command>

  <Command name="RestartEvent">
  </Command>

  <Command name="Return">
  </Command>

  <!-- ================================================================== -->
  <Command name="HCITester - Script" type="gb" />
  <!-- ================================================================== -->

  <Command name="Sleep" type="">
    <Param type="u" size="4">
      <Name>Duration</Name>
      <Default>1000</Default>
      <Desc>in milliseconds</Desc>
    </Param>
  </Command>

  <Command name="SetVerbose" type="">
    <Param type="u" size="1">
      <Name>Level</Name>
      <Default>1</Default>
      <Desc />
    </Param>
  </Command>

  <Command name="Logger">
    <Param type="u">
      <Name>Level</Name>
      <Default>7</Default>
      <Desc>Level of log.</Desc>
    </Param>
    <Param type="s">
      <Name>Text</Name>
      <Default>"Log this"</Default>
      <Desc>Formatted text to be logged</Desc>
    </Param>
  </Command>

  <Command name="SetTraceFilter">
    <Param type="s">
      <Name>Label</Name>
      <Default>""</Default>
      <Desc>Packet type or command name</Desc>
    </Param>
    <Param type="u" valtype="TrueFalse">
      <Name>Enable</Name>
      <Default>True</Default>
      <Desc>Sets or removes a trace filter</Desc>
    </Param>
  </Command>

  <Command name="ClearTrace">
    <Param type="u" valtype="TrueFalse">
      <Name>NetworkScope</Name>
      <Default>False</Default>
      <Desc>Clear trace of all hosts in current network</Desc>
    </Param>
  </Command>

  <Command name="WriteFile">
    <Param type="s">
      <Name>File Path</Name>
      <Default>""</Default>
      <Desc>Path of the file to be used</Desc>
    </Param>
    <Param type="u" valtype="WriteFileType">
      <Name>Type</Name>
      <Default>0</Default>
      <Desc>Create or Append</Desc>
    </Param>
    <Param type="s">
      <Name>Text</Name>
      <Default>""</Default>
      <Desc />
    </Param>
  </Command>

  <Command name="WaitOtherPort">
    <Param type="s">
      <Name>Name</Name>
      <Default></Default>
      <Desc>Name of sync point</Desc>
    </Param>
    <Param type="u" size="4">
      <Name>Count</Name>
      <Default>2</Default>
      <Desc>Total sync points to wait for</Desc>
    </Param>
    <Param type="u" size="4">
      <Name>Timeout</Name>
      <Default>0</Default>
      <Desc>Time in msec to wait. 0 = infinite</Desc>
    </Param>
  </Command>

  <Command name="WritePort">
    <Param type="s">
      <Name>Variable</Name>
      <Default>VarName</Default>
      <Desc>Variable name whose contents should be outputted to the port</Desc>
    </Param>
  </Command>

  <Command name="SetParallelPort">
    <Param type="u" size="2" valtype="ParallelPortOffsets">
      <Name>Offset</Name>
      <Default>0</Default>
      <Desc>Port offset: 0=0x378, 1=0x0379, 2=0x37A</Desc>
    </Param>
    <Param type="u" size="1">
      <Name>Data</Name>
      <Default>0x00</Default>
      <Desc>Data value to write to the port</Desc>
    </Param>
  </Command>

  <Command name="ReadParallelPort">
    <Param type="u" valtype="ParallelPortOffsets">
      <Name>Offset</Name>
      <Default>0</Default>
      <Desc>Offset value related to 0x378. LastResult is set with the returned value</Desc>
    </Param>
  </Command>

  <Command name="IgnoreEvent" type="">
    <Param type="u" size="1" valtype="HCIEvents">
      <Name>Event Opcode</Name>
      <Default>0x00</Default>
    </Param>
    <Param type="u" size="1" valtype="TrueFalse">
      <Name>Ignore</Name>
      <Default>0</Default>
    </Param>
  </Command>

  <Command name="Log" type="">
    <Param type="s">
      <Name>Message</Name>
      <Default>"My Log Message"</Default>
      <Desc />
    </Param>
    <Param type="u">
      <Name>Param 1</Name>
    </Param>
    <Param type="u">
      <Name>Param 2</Name>
    </Param>
    <Param type="u">
      <Name>Param 3</Name>
    </Param>
    <Param type="u">
      <Name>Param 4</Name>
    </Param>
    <Param type="u">
      <Name>Param 5</Name>
    </Param>
  </Command>

  <Command name="Execute" type="">
    <Param type="u" valtype="TrueFalse">
      <Name>Wait</Name>
      <Default>True</Default>
      <Desc>Wait until the execution is finished</Desc>
    </Param>
    <Param type="s">
      <Name>Command</Name>
      <Default>""</Default>
      <Desc>Path to the file to be executed</Desc>
    </Param>
    <Param type="s">
      <Name>Arguments</Name>
      <Default>""</Default>
      <Desc>Command line arguments</Desc>
    </Param>
    <Param type="s">
      <Name>Folder</Name>
      <Default>""</Default>
      <Desc>Folder in which the execution will start</Desc>
    </Param>
  </Command>

  <Command name="MsgBox">
    <Param type="s">
      <Name>Prompt</Name>
      <Default>"Hello"</Default>
      <Desc>Text to be displayed</Desc>
    </Param>
    <Param type="u" valtype="MsgBoxType">
      <Name>Style</Name>
      <Default>0</Default>
      <Desc />
    </Param>
    <Param type="s">
      <Name>Title</Name>
      <Default>"Script"</Default>
      <Desc />
    </Param>
  </Command>

  <Command name="Pause" type="">
    <Param type="s">
      <Name>Prompt Message</Name>
      <Default>"Click OK to continue, Cancel to abort."</Default>
      <Desc />
    </Param>
  </Command>

  <Command name="Exit" type="" />

  <Command name="StopScript">
    <Param type="s">
      <Name>Text</Name>
      <Default>"Script failed"</Default>
      <Desc>Reason</Desc>
    </Param>
  </Command>

  <Command name="Fail">
    <Param type="s">
      <Name>Reason</Name>
      <Default>""</Default>
      <Desc>Reason of failure</Desc>
    </Param>
  </Command>

  <Command name="WaitForEvent">
    <Param type="t">
      <Name>Timeout</Name>
      <Default>5000</Default>
      <Desc>Time in msec</Desc>
    </Param>
    <Param type="u" size="4">
      <Name>Event's Opcode</Name>
      <Default></Default>
      <Desc>Value of event's opcode</Desc>
    </Param>
  </Command>

  <Command name="CallFile">
    <Param type="s">
      <Name>File Name</Name>
      <Default></Default>
      <Desc>Absolute or relative path of the filename</Desc>
    </Param>
    <Param type="u" size="4">
      <Name>Parameter</Name>
      <Default></Default>
      <Desc>Parameter value to be passed to the filename</Desc>
    </Param>
    <Param type="u" size="4">
      <Name>Parameter</Name>
      <Default></Default>
      <Desc>Parameter value to be passed to the filename</Desc>
    </Param>
    <Param type="u" size="4">
      <Name>Parameter</Name>
      <Default></Default>
      <Desc>Parameter value to be passed to the filename</Desc>
    </Param>
    <Param type="u" size="4">
      <Name>Parameter</Name>
      <Default></Default>
      <Desc>Parameter value to be passed to the filename</Desc>
    </Param>
    <Param type="u" size="4">
      <Name>Parameter</Name>
      <Default></Default>
      <Desc>Parameter value to be passed to the filename</Desc>
    </Param>
    <Param type="u" size="4">
      <Name>Parameter</Name>
      <Default></Default>
      <Desc>Parameter value to be passed to the filename</Desc>
    </Param>
    <Param type="u" size="4">
      <Name>Parameter</Name>
      <Default></Default>
      <Desc>Parameter value to be passed to the filename</Desc>
    </Param>
  </Command>

  <Command name="LoadFile">
    <Param type="s">
      <Name>Variable</Name>
      <Default>FileData</Default>
      <Desc>Variable name to get the file contents</Desc>
    </Param>
    <Param type="s">
      <Name>File Path</Name>
      <Default>"&lt;path&gt;"</Default>
      <Desc>Absolute or relative path of the filename</Desc>
    </Param>
  </Command>

  <Command name="ClearVariables">
  </Command>

  <Command name="CloseAllDocuments">
  </Command>

  <Command name="EnableHexDump">
    <Param type="u" size="1">
      <Name>Enable Incoming</Name>
      <Default>0</Default>
      <Desc>0 = Disable, 1 = Enable</Desc>
    </Param>
    <Param type="u" size="1">
      <Name>Enable Outgoing</Name>
      <Default>0</Default>
      <Desc>0 = Disable, 1 = Enable</Desc>
    </Param>
  </Command>

  <Command name="LoadLib">
    <Param type="s">
      <Name>Path</Name>
      <Default>""</Default>
      <Desc>Path to the XML library</Desc>
    </Param>
    <Param type="u" valtype="TrueFalse">
      <Name>Append</Name>
      <Default>False</Default>
      <Desc>True to append new XML to the current one. False to replace it.</Desc>
    </Param>
  </Command>

</HCILib>
