aboutsummaryrefslogtreecommitdiff
path: root/pw_bluetooth
diff options
context:
space:
mode:
authorJosh Conner <joshconner@google.com>2023-10-03 18:39:25 +0000
committerCQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-10-03 18:39:25 +0000
commitb39ca9212a85e181f6b50947e0688efa982c8264 (patch)
tree59f3425a379e7a3767eef761cd4311256f210c3b /pw_bluetooth
parent272e12409b28ca93cffb469c0ad058db1f711779 (diff)
downloadpigweed-b39ca9212a85e181f6b50947e0688efa982c8264.tar.gz
pw_bluetooth: Update comments in HCI event defs
Update HCI event definitions (from 7.7 "Events") to include: - A core spec section reference - The HCI event name itself (e.g., "HCI_Inquiry_Complete") - Some events we haven't implemented (as TODOs) Bug: b/265052417 Test: No pigweed regressions, all Sapphire bt-host tests pass. Change-Id: I018a4b4ef17895d40a07cfcdd94b6021d7376c03 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/174070 Reviewed-by: Faraaz Sareshwala <fsareshwala@google.com> Reviewed-by: Ali Saeed <saeedali@google.com> Commit-Queue: Josh Conner <joshconner@google.com> Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
Diffstat (limited to 'pw_bluetooth')
-rw-r--r--pw_bluetooth/public/pw_bluetooth/hci_events.emb918
1 files changed, 644 insertions, 274 deletions
diff --git a/pw_bluetooth/public/pw_bluetooth/hci_events.emb b/pw_bluetooth/public/pw_bluetooth/hci_events.emb
index 610a488bc..f5b4668fd 100644
--- a/pw_bluetooth/public/pw_bluetooth/hci_events.emb
+++ b/pw_bluetooth/public/pw_bluetooth/hci_events.emb
@@ -679,7 +679,8 @@ bits SupportedCommands(octet: UInt:8):
struct InquiryCompleteEvent:
- -- Inquiry Complete Event (v1.1) (BR/EDR)
+ -- 7.7.1 Inquiry Complete event (v1.1) (BR/EDR)
+ -- HCI_Inquiry_Complete
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+1] hci.StatusCode status
@@ -701,7 +702,8 @@ struct InquiryResult:
struct InquiryResultEvent:
- -- Inquiry Result Event (v1.1) (BR/EDR)
+ -- 7.7.2 Inquiry Result event (v1.1) (BR/EDR)
+ -- HCI_Inquiry_Result
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+1] UInt num_responses
@@ -711,25 +713,9 @@ struct InquiryResultEvent:
$next [+num_responses*response_size] InquiryResult[] responses
-struct SimpleCommandCompleteEvent:
- -- A Command Complete event where a StatusCode is the only return parameter.
- -- Also useful for generically getting the status of a larger command complete
- -- event.
- let hdr_size = hci.CommandCompleteEvent.$size_in_bytes
- 0 [+hdr_size] hci.CommandCompleteEvent command_complete
- $next [+1] hci.StatusCode status
-
-
-struct CommandStatusEvent:
- let hdr_size = hci.EventHeader.$size_in_bytes
- 0 [+hdr_size] hci.EventHeader header
- $next [+1] hci.StatusCode status
- $next [+1] UInt num_hci_command_packets
- $next [+2] hci.OpCodeBits command_opcode
-
-
struct ConnectionCompleteEvent:
- -- Connection Complete Event (v1.1) (BR/EDR)
+ -- 7.7.3 Connection Complete Event (v1.1) (BR/EDR)
+ -- HCI_Connection_Complete
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+1] hci.StatusCode status
@@ -744,7 +730,8 @@ struct ConnectionCompleteEvent:
struct ConnectionRequestEvent:
- -- Connection Request Event (v1.1) (BR/EDR)
+ -- 7.7.4 Connection Request event (v1.1) (BR/EDR)
+ -- HCI_Connection_Request
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+hci.BdAddr.$size_in_bytes] hci.BdAddr bd_addr
@@ -757,7 +744,8 @@ struct ConnectionRequestEvent:
struct DisconnectionCompleteEvent:
- -- Disconnection Complete Event (v1.1) (BR/EDR & LE)
+ -- 7.7.5 Disconnection Complete event (v1.1) (BR/EDR & LE)
+ -- HCI_Disconnection_Complete
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+1] hci.StatusCode status
@@ -768,7 +756,8 @@ struct DisconnectionCompleteEvent:
struct AuthenticationCompleteEvent:
- -- Authentication Complete Event (v1.1) (BR/EDR)
+ -- 7.7.6 Authentication Complete event (v1.1) (BR/EDR)
+ -- HCI_Authentication_Complete
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+1] hci.StatusCode status
@@ -777,7 +766,8 @@ struct AuthenticationCompleteEvent:
struct RemoteNameRequestCompleteEvent:
- -- Remote Name Request Complete Event (v1.1) (BR/EDR)
+ -- 7.7.7 Remote Name Request Complete event (v1.1) (BR/EDR)
+ -- HCI_Remote_Name_Request_Complete
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+1] hci.StatusCode status
@@ -788,7 +778,8 @@ struct RemoteNameRequestCompleteEvent:
struct EncryptionChangeEventV1:
- -- Encryption Change Event (v1.1) (BR/EDR & LE)
+ -- 7.7.8 Encryption Change event (v1.1) (BR/EDR & LE)
+ -- HCI_Encryption_Change [v1]
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+1] hci.StatusCode status
@@ -799,7 +790,8 @@ struct EncryptionChangeEventV1:
struct ChangeConnectionLinkKeyCompleteEvent:
- -- Change Connection Link Key Complete Event (v1.1) (BR/EDR)
+ -- 7.7.9 Change Connection Link Key Complete event (v1.1) (BR/EDR)
+ -- HCI_Change_Connection_Link_Key_Complete
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+1] hci.StatusCode status
@@ -807,8 +799,14 @@ struct ChangeConnectionLinkKeyCompleteEvent:
[requires: 0x0000 <= this <= 0x0EFF]
+# 7.7.10 Link Key Type Changed event
+# HCI_Link_Key_Type_Changed
+# TODO: b/265052417 - Definition needs to be added
+
+
struct ReadRemoteSupportedFeaturesCompleteEvent:
- -- Read Remote Supported Features Complete Event (v1.1) (BR/EDR)
+ -- 7.7.11 Read Remote Supported Features Complete event (v1.1) (BR/EDR)
+ -- HCI_Read_Remote_Supported_Features_Complete
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+1] hci.StatusCode status
@@ -820,7 +818,8 @@ struct ReadRemoteSupportedFeaturesCompleteEvent:
struct ReadRemoteVersionInfoCompleteEvent:
- -- Read Remote Version Information Complete Event (v1.1) (BR/EDR & LE)
+ -- 7.7.12 Read Remote Version Information Complete event (v1.1) (BR/EDR & LE)
+ -- HCI_Read_Remote_Version_Information_Complete
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+1] hci.StatusCode status
@@ -837,168 +836,176 @@ struct ReadRemoteVersionInfoCompleteEvent:
-- Revision of the LMP or Link Layer implementation in the remote Controller. This value is vendor-specific.
-struct ReadRemoteExtendedFeaturesCompleteEvent:
- -- Read Remote Extended Features Complete Event (v1.1) (BR/EDR)
- let hdr_size = hci.EventHeader.$size_in_bytes
- 0 [+hdr_size] hci.EventHeader header
- $next [+1] hci.StatusCode status
- $next [+2] UInt connection_handle
- -- Only the lower 12-bits are meaningful.
- [requires: 0x0000 <= this <= 0x0EFF]
+# 7.7.13 QoS Setup Complete event
+# HCI_QoS_Setup_Complete
+# TODO: b/265052417 - Definition needs to be added
- $next [+1] UInt page_number
- -- 0x00: The normal LMP features as returned by HCI_Read_Remote_Supported_Features command.
- -- 0x01 to 0xFF: The page number of the features returned.
- $next [+1] UInt max_page_number
- -- The highest features page number which contains non-zero bits for the remote device.
+struct SimpleCommandCompleteEvent:
+ -- 7.7.14 Command Complete event (status only)
+ -- HCI_Command_Complete
+ -- A Command Complete event where a StatusCode is the only return parameter.
+ -- Also useful for generically getting the status of a larger command complete
+ -- event.
+ let hdr_size = hci.CommandCompleteEvent.$size_in_bytes
+ 0 [+hdr_size] hci.CommandCompleteEvent command_complete
+ $next [+1] hci.StatusCode status
- $next [+8] LmpFeatures(page_number) lmp_features
- -- Bit map of requested page of LMP features.
+struct ReadLocalVersionInfoCommandCompleteEvent:
+ -- 7.7.14 Command Complete event (7.4.1 Read Local Version Information command)
+ let hdr_size = hci.CommandCompleteEvent.$size_in_bytes
-struct LEMetaEvent:
- let hdr_size = hci.EventHeader.$size_in_bytes
- 0 [+hdr_size] hci.EventHeader header
- $next [+1] UInt subevent_code
- -- The event code for the LE subevent.
+ 0 [+hdr_size] hci.CommandCompleteEvent command_complete
+ $next [+1] hci.StatusCode status
-struct LEConnectionCompleteSubevent:
- 0 [+LEMetaEvent.$size_in_bytes] LEMetaEvent le_meta_event
+ $next [+1] CoreSpecificationVersion hci_version
+ -- Version of the HCI Specification supported by the Controller. See
+ -- Assigned Numbers
- $next [+1] hci.StatusCode status
+ $next [+2] UInt hci_subversion
+ -- Revision of the HCI implementation in the Controller. This value is
+ -- vendor-specific.
- $next [+2] UInt connection_handle
- -- Only the lower 12-bits are meaningful.
- [requires: 0x0000 <= this <= 0x0EFF]
+ $next [+1] UInt lmp_version
+ -- Version of the Current LMP supported by the Controller. See Assigned
+ -- Numbers
- $next [+1] hci.ConnectionRole role
+ $next [+2] UInt company_identifier
+ -- Company identifier for the manufacturer of the Controller. See Assigned
+ -- Numbers
- $next [+1] hci.LEPeerAddressType peer_address_type
+ $next [+2] UInt lmp_subversion
+ -- Subversion of the Current LMP in the Controller. This value is
+ -- vendor-specific.
- $next [+hci.BdAddr.$size_in_bytes] hci.BdAddr peer_address
- -- Public Device Address or Random Device Address of the peer device.
- $next [+2] UInt connection_interval
- -- Time: N * 1.25 ms
- -- Range: 7.5 ms to 4 s
- [requires: 0x0006 <= this <= 0x0C80]
+struct ReadLocalSupportedCommandsCommandCompleteEvent:
+ -- 7.7.14 Command Complete event (7.4.2 Read Local Supported Commands command)
+ let hdr_size = hci.CommandCompleteEvent.$size_in_bytes
+ 0 [+hdr_size] hci.CommandCompleteEvent command_complete
+ $next [+1] hci.StatusCode status
+ $next [+1] SupportedCommands(0) supported_commands_0
+ $next [+1] SupportedCommands(1) supported_commands_1
+ $next [+1] SupportedCommands(2) supported_commands_2
+ $next [+1] SupportedCommands(3) supported_commands_3
+ $next [+1] SupportedCommands(4) supported_commands_4
+ $next [+1] SupportedCommands(5) supported_commands_5
+ $next [+1] SupportedCommands(6) supported_commands_6
+ $next [+1] SupportedCommands(7) supported_commands_7
+ $next [+1] SupportedCommands(8) supported_commands_8
+ $next [+1] SupportedCommands(9) supported_commands_9
+ $next [+1] SupportedCommands(10) supported_commands_10
+ $next [+1] SupportedCommands(11) supported_commands_11
+ $next [+1] SupportedCommands(12) supported_commands_12
+ $next [+1] SupportedCommands(13) supported_commands_13
+ $next [+1] SupportedCommands(14) supported_commands_14
+ $next [+1] SupportedCommands(15) supported_commands_15
+ $next [+1] SupportedCommands(16) supported_commands_16
+ $next [+1] SupportedCommands(17) supported_commands_17
+ $next [+1] SupportedCommands(18) supported_commands_18
+ $next [+1] SupportedCommands(19) supported_commands_19
+ $next [+1] SupportedCommands(20) supported_commands_20
+ $next [+1] SupportedCommands(21) supported_commands_21
+ $next [+1] SupportedCommands(22) supported_commands_22
+ $next [+1] SupportedCommands(23) supported_commands_23
+ $next [+1] SupportedCommands(24) supported_commands_24
+ $next [+1] SupportedCommands(25) supported_commands_25
+ $next [+1] SupportedCommands(26) supported_commands_26
+ $next [+1] SupportedCommands(27) supported_commands_27
+ $next [+1] SupportedCommands(28) supported_commands_28
+ $next [+1] SupportedCommands(29) supported_commands_29
+ $next [+1] SupportedCommands(30) supported_commands_30
+ $next [+1] SupportedCommands(31) supported_commands_31
+ $next [+1] SupportedCommands(32) supported_commands_32
+ $next [+1] SupportedCommands(33) supported_commands_33
+ $next [+1] SupportedCommands(34) supported_commands_34
+ $next [+1] SupportedCommands(35) supported_commands_35
+ $next [+1] SupportedCommands(36) supported_commands_36
+ $next [+1] SupportedCommands(37) supported_commands_37
+ $next [+1] SupportedCommands(38) supported_commands_38
+ $next [+1] SupportedCommands(39) supported_commands_39
+ $next [+1] SupportedCommands(40) supported_commands_40
+ $next [+1] SupportedCommands(41) supported_commands_41
+ $next [+1] SupportedCommands(42) supported_commands_42
+ $next [+1] SupportedCommands(43) supported_commands_43
+ $next [+1] SupportedCommands(44) supported_commands_44
+ $next [+1] SupportedCommands(45) supported_commands_45
+ $next [+1] SupportedCommands(46) supported_commands_46
+ $next [+1] SupportedCommands(47) supported_commands_47
- $next [+2] UInt peripheral_latency
- [requires: 0x0000 <= this <= 0x01F3]
- $next [+2] UInt supervision_timeout
- -- Time: N * 10 ms
- -- Range: 100 ms to 32 s
- [requires: 0x000A <= this <= 0x0C80]
+struct ReadBufferSizeCommandCompleteEvent:
+ -- 7.7.14 Command Complete event (7.4.5 Read Buffer Size command)
- $next [+1] LEClockAccuracy central_clock_accuracy
- -- Only valid for a peripheral. On a central, this parameter shall be set to 0x00.
+ let hdr_size = hci.CommandCompleteEvent.$size_in_bytes
+ 0 [+hdr_size] hci.CommandCompleteEvent command_complete
-struct LEConnectionUpdateCompleteSubevent:
- 0 [+LEMetaEvent.$size_in_bytes] LEMetaEvent le_meta_event
+ $next [+1] hci.StatusCode status
- $next [+1] hci.StatusCode status
+ $next [+2] UInt acl_data_packet_length
+ -- Maximum length (in octets) of the data portion of each HCI ACL Data
+ -- packet that the Controller is able to accept.
+ [requires: 0x0001 <= this <= 0xFFFF]
- $next [+2] UInt connection_handle
- -- Only the lower 12-bits are meaningful.
- [requires: 0x0000 <= this <= 0x0EFF]
+ $next [+1] UInt synchronous_data_packet_length
+ -- Maximum length (in octets) of the data portion of each HCI Synchronous
+ -- Data packet that the Controller is able to accept.
+ [requires: 0x01 <= this <= 0xFF]
- $next [+2] UInt connection_interval
- -- Time: N * 1.25 ms
- -- Range: 7.5 ms to 4 s
- [requires: 0x0006 <= this <= 0x0C80]
+ $next [+2] UInt total_num_acl_data_packets
+ -- Total number of HCI ACL Data packets that can be stored in the data
+ -- buffers of the Controller.
+ [requires: 0x0001 <= this <= 0xFFFF]
- $next [+2] UInt peripheral_latency
- [requires: 0x0000 <= this <= 0x01F3]
+ $next [+2] UInt total_num_synchronous_data_packets
+ -- Total number of HCI Synchronous Data packets that can be stored in the
+ -- data buffers of the Controller. A value of 0 indicates that the
+ -- Controller does not support SCO or eSCO over HCI.
- $next [+2] UInt supervision_timeout
- -- Time: N * 10 ms
- -- Range: 100 ms to 32 s
- [requires: 0x000A <= this <= 0x0C80]
+struct ReadBdAddrCommandCompleteEvent:
+ -- 7.7.14 Command Complete event (7.4.6 Read BD_ADDR command)
+ let hdr_size = hci.CommandCompleteEvent.$size_in_bytes
+ 0 [+hdr_size] hci.CommandCompleteEvent command_complete
+ $next [+1] hci.StatusCode status
+ $next [+hci.BdAddr.$size_in_bytes] hci.BdAddr bd_addr
-struct LEReadRemoteFeaturesCompleteSubevent:
- 0 [+LEMetaEvent.$size_in_bytes] LEMetaEvent le_meta_event
- $next [+1] hci.StatusCode status
- $next [+2] UInt connection_handle
- -- Only the lower 12-bits are meaningful.
- [requires: 0x0000 <= this <= 0x0EFF]
+struct LEReadLocalSupportedFeaturesCommandCompleteEvent:
+ -- 7.7.14 Command Complete event (7.8.3 LE Read Local Supported Features command)
+ let hdr_size = hci.CommandCompleteEvent.$size_in_bytes
+ 0 [+hdr_size] hci.CommandCompleteEvent command_complete
+ $next [+1] hci.StatusCode status
$next [+8] bits:
- 0 [+LEFeatureSet.$size_in_bits] LEFeatureSet le_features
-
-
-struct LEExtendedAdvertisingReportData:
- 0 [+2] bits:
-
- 0 [+7] LEExtendedAdvertisingEventType event_type
-
- $next [+1] hci.LEAddressType address_type
- -- Address type of the advertiser.
-
- $next [+hci.BdAddr.$size_in_bytes] hci.BdAddr address
- -- Public Device Address, Random Device Address, Public Identity Address or
- -- Random (static) Identity Address of the advertising device.
-
- $next [+1] hci.LEPrimaryAdvertisingPHY primary_phy
- -- Indicates the PHY used to send the advertising PDU on the primary advertising
- -- channel. Legacy PDUs always use LE_1M. NONE, LE_2M, and LE_CODED_S2 are excluded.
-
- $next [+1] hci.LESecondaryAdvertisingPHY secondary_phy
- -- Indicates the PHY used to send the advertising PDU(s), if any, on the secondary
- -- advertising channel. A value of NONE means that no packets were received on the
- -- secondary advertising channel.
-
- $next [+1] UInt advertising_sid
- -- Value of the Advertising SID subfield in the ADI field of the PDU. A value of
- -- 0xFF means no ADI field provided.
- [requires: 0x00 <= this <= 0x0F || this == 0xFF]
-
- $next [+1] UInt tx_power
- -- Units: dBm. A value of 0x7F means Tx Power information is not available.
- [requires: -127 <= this <= 20 || this == 0x7F]
-
- $next [+1] Int rssi
- -- Units: dBm. A value of 0x7F means RSSI is not available.
- [requires: -127 <= this <= 20 || this == 0x7F]
-
- $next [+2] UInt periodic_advertising_interval
- -- 0x0000: No periodic advertising.
- -- 0xXXXX:
- -- Time = N * 1.25 ms
- -- Time Range: 7.5 ms to 81,918.75 s
- [requires: 0x0006 <= this <= 0xFFFF || this == 0x0000]
+ 0 [+LEFeatureSet.$size_in_bits] LEFeatureSet le_features
- $next [+1] LEDirectAddressType direct_address_type
- $next [+hci.BdAddr.$size_in_bytes] hci.BdAddr direct_address
- -- TargetA field in the advertisement or either Public Identity Address or Random (static)
- -- Identity Address of the target device.
+struct CommandStatusEvent:
+ -- 7.7.15 Command Status event
+ -- HCI_Command_Status
+ let hdr_size = hci.EventHeader.$size_in_bytes
+ 0 [+hdr_size] hci.EventHeader header
+ $next [+1] hci.StatusCode status
+ $next [+1] UInt num_hci_command_packets
+ $next [+2] hci.OpCodeBits command_opcode
- $next [+1] UInt data_length
- -- Length of the |data| field.
- $next [+data_length] UInt:8[data_length] data
- -- |data_length| octets of advertising or scan response data formatted as defined in
- -- [Vol 3] Part C, Section 11. Note: Each element of this array has a variable length.
+# 7.7.16 Hardware Error event
+# HCI_Hardware_Error
+# TODO: b/265052417 - Definition needs to be added
-struct LEExtendedAdvertisingReportSubevent(reports_size: UInt:8):
- -- LE Extended Advertising Report Event (v5.0) (LE)
- 0 [+LEMetaEvent.$size_in_bytes] LEMetaEvent le_meta_event
- $next [+1] UInt num_reports
- -- Number of separate reports in the event.
- [requires: 0x01 <= this <= 0x0A]
-
- $next [+reports_size] UInt:8[reports_size] reports
- -- Since each report has a variable length, they are stored in a UInt:8 array.
+# 7.7.17 Flush Occurred event
+# HCI_Flush_Occurred
+# TODO: b/265052417 - Definition needs to be added
struct RoleChangeEvent:
- -- Role Change Event (BR/EDR) (v1.1)
+ -- 7.7.18 Role Change event (BR/EDR) (v1.1)
+ -- HCI_Role_Change
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+1] hci.StatusCode status
@@ -1009,8 +1016,29 @@ struct RoleChangeEvent:
-- The new role for the specified address.
+# 7.7.19 Number Of Completed Packets event
+# HCI_Number_Of_Completed_Packets
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.20 Mode Change event
+# HCI_Mode_Change
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.21 Return Link Keys event
+# HCI_Return_Link_Keys
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.22 PIN Code Request event
+# HCI_PIN_Code_Request
+# TODO: b/265052417 - Definition needs to be added
+
+
struct LinkKeyRequestEvent:
- -- Link Key Request Event (v1.1) (BR/EDR)
+ -- 7.7.23 Link Key Request event (v1.1) (BR/EDR)
+ -- HCI_Link_Key_Request
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+hci.BdAddr.$size_in_bytes] hci.BdAddr bd_addr
@@ -1018,7 +1046,8 @@ struct LinkKeyRequestEvent:
struct LinkKeyNotificationEvent:
- -- Link Key Notification Event (v1.1) (BR/EDR)
+ -- 7.7.24 Link Key Notification event (v1.1) (BR/EDR)
+ -- HCI_Link_Key_Notification
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+hci.BdAddr.$size_in_bytes] hci.BdAddr bd_addr
@@ -1031,13 +1060,49 @@ struct LinkKeyNotificationEvent:
-- Type of key used when pairing.
+# 7.7.25 Loopback Command event
+# HCI_Loopback_Command
+# TODO: b/265052417 - Definition needs to be added
+
+
struct DataBufferOverflowEvent:
- -- Data Buffer Overflow Event (v1.1) (BR/EDR & LE)
+ -- 7.7.26 Data Buffer Overflow event (v1.1) (BR/EDR & LE)
+ -- HCI_Data_Buffer_Overflow
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+1] LinkType ll_type
+# 7.7.27 Max Slots Change event
+# HCI_Max_Slots_Change
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.28 Read Clock Offset Complete event
+# HCI_Read_Clock_Offset_Complete
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.29 Connection Packet Type Changed event
+# HCI_Connection_Packet_Type_Changed
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.30 QoS Violation event
+# HCI_QoS_Violation
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.31 Page Scan Repetition Mode Change event
+# HCI_Page_Scan_Repetition_Mode_Change
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.32 Flow Specification Complete event
+# HCI_Flow_Specification_Complete
+# TODO: b/265052417 - Definition needs to be added
+
+
struct InquiryResultWithRssi:
-- A single inquiry result (with RSSI).
0 [+hci.BdAddr.$size_in_bytes] hci.BdAddr bd_addr
@@ -1058,7 +1123,8 @@ struct InquiryResultWithRssi:
struct InquiryResultWithRssiEvent:
- -- Inquiry Result with RSSI Event (v1.2) (BR/EDR)
+ -- 7.7.33 Inquiry Result with RSSI event (v1.2) (BR/EDR)
+ -- HCI_Inquiry_Result_with_RSSI
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+1] UInt num_responses
@@ -1068,8 +1134,30 @@ struct InquiryResultWithRssiEvent:
$next [+num_responses*response_size] InquiryResultWithRssi[] responses
+struct ReadRemoteExtendedFeaturesCompleteEvent:
+ -- 7.7.34 Read Remote Extended Features Complete event (v1.1) (BR/EDR)
+ -- HCI_Read_Remote_Extended_Features_Complete
+ let hdr_size = hci.EventHeader.$size_in_bytes
+ 0 [+hdr_size] hci.EventHeader header
+ $next [+1] hci.StatusCode status
+ $next [+2] UInt connection_handle
+ -- Only the lower 12-bits are meaningful.
+ [requires: 0x0000 <= this <= 0x0EFF]
+
+ $next [+1] UInt page_number
+ -- 0x00: The normal LMP features as returned by HCI_Read_Remote_Supported_Features command.
+ -- 0x01 to 0xFF: The page number of the features returned.
+
+ $next [+1] UInt max_page_number
+ -- The highest features page number which contains non-zero bits for the remote device.
+
+ $next [+8] LmpFeatures(page_number) lmp_features
+ -- Bit map of requested page of LMP features.
+
+
struct SynchronousConnectionCompleteEvent:
- -- Synchronous Connection Complete Event (BR/EDR)
+ -- 7.7.35 Synchronous Connection Complete event (BR/EDR)
+ -- HCI_Synchronous_Connection_Complete
let hdr_size = hci.EventHeader.$size_in_bytes
@@ -1105,8 +1193,19 @@ struct SynchronousConnectionCompleteEvent:
$next [+1] hci.CodingFormat air_mode
+# 7.7.36 Synchronous Connection Changed event
+# HCI_Synchronous_Connection_Changed
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.37 Sniff Subrating event
+# HCI_Sniff_Subrating
+# TODO: b/265052417 - Definition needs to be added
+
+
struct ExtendedInquiryResultEvent:
- -- Extended Inquiry Result Event (v1.2) (BR/EDR)
+ -- 7.7.38 Extended Inquiry Result event (v1.2) (BR/EDR)
+ -- HCI_Extended_Inquiry_Result
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+1] UInt num_responses
@@ -1134,7 +1233,8 @@ struct ExtendedInquiryResultEvent:
struct EncryptionKeyRefreshCompleteEvent:
- -- Encryption Key Refresh Complete Event (v2.1 + EDR) (BR/EDR & LE)
+ -- 7.7.39 Encryption Key Refresh Complete event (v2.1 + EDR) (BR/EDR & LE)
+ -- HCI_Encryption_Key_Refresh_Complete
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+1] hci.StatusCode status
@@ -1145,7 +1245,8 @@ struct EncryptionKeyRefreshCompleteEvent:
struct IoCapabilityRequestEvent:
- -- IO Capability Request Event (v2.1 + EDR) (BR/EDR)
+ -- 7.7.40 IO Capability Request event (v2.1 + EDR) (BR/EDR)
+ -- HCI_IO_Capability_Request
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+hci.BdAddr.$size_in_bytes] hci.BdAddr bd_addr
@@ -1154,7 +1255,8 @@ struct IoCapabilityRequestEvent:
struct IoCapabilityResponseEvent:
- -- IO Capability Response Event (v2.1 + EDR) (BR/EDR)
+ -- 7.7.41 IO Capability Response event (v2.1 + EDR) (BR/EDR)
+ -- HCI_IO_Capability_Response
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+hci.BdAddr.$size_in_bytes] hci.BdAddr bd_addr
@@ -1170,7 +1272,8 @@ struct IoCapabilityResponseEvent:
struct UserConfirmationRequestEvent:
- -- User Confirmation Request Event (v2.1 + EDR) (BR/EDR)
+ -- 7.7.42 User Confirmation Request event (v2.1 + EDR) (BR/EDR)
+ -- HCI_User_Confirmation_Request
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+hci.BdAddr.$size_in_bytes] hci.BdAddr bd_addr
@@ -1182,15 +1285,22 @@ struct UserConfirmationRequestEvent:
struct UserPasskeyRequestEvent:
- -- User Passkey Request Event (v2.1 + EDR) (BR/EDR)
+ -- 7.7.43 User Passkey Request event (v2.1 + EDR) (BR/EDR)
+ -- HCI_User_Passkey_Request
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+hci.BdAddr.$size_in_bytes] hci.BdAddr bd_addr
-- Address of the device involved in simple pairing process
+# 7.7.44 Remote OOB Data Request event
+# HCI_Remote_OOB_Data_Request
+# TODO: b/265052417 - Definition needs to be added
+
+
struct SimplePairingCompleteEvent:
- -- Simple Pairing Complete Event (v2.1 + EDR) (BR/EDR)
+ -- 7.7.45 Simple Pairing Complete event (v2.1 + EDR) (BR/EDR)
+ -- HCI_Simple_Pairing_Complete
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+1] hci.StatusCode status
@@ -1198,8 +1308,19 @@ struct SimplePairingCompleteEvent:
-- Address of the device involved in simple pairing process
+# 7.7.46 Link Supervision Timeout Changed event
+# HCI_Link_Supervision_Timeout_Changed
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.47 Enhanced Flush Complete event
+# HCI_Enhanced_Flush_Complete
+# TODO: b/265052417 - Definition needs to be added
+
+
struct UserPasskeyNotificationEvent:
- -- User Passkey Notification Event (v2.1 + EDR) (BR/EDR)
+ -- 7.7.48 User Passkey Notification event (v2.1 + EDR) (BR/EDR)
+ -- HCI_User_Passkey_Notification
let hdr_size = hci.EventHeader.$size_in_bytes
0 [+hdr_size] hci.EventHeader header
$next [+hci.BdAddr.$size_in_bytes] hci.BdAddr bd_addr
@@ -1210,8 +1331,110 @@ struct UserPasskeyNotificationEvent:
[requires: 0 <= this <= 999999]
+# 7.7.49 Keypress Notification event
+# HCI_Keypress_Notification
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.50 Remote Host Supported Features Notification event
+# HCI_Remote_Host_Supported_Features_Notification
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.59 Number Of Completed Data Blocks event
+# HCI_Number_Of_Completed_Data_Blocks
+# TODO: b/265052417 - Definition needs to be added
+
+
+struct LEMetaEvent:
+ -- 7.7.65 LE Meta event
+ let hdr_size = hci.EventHeader.$size_in_bytes
+ 0 [+hdr_size] hci.EventHeader header
+ $next [+1] UInt subevent_code
+ -- The event code for the LE subevent.
+
+
+struct LEConnectionCompleteSubevent:
+ -- 7.7.65.1 LE Connection Complete event
+ -- HCI_LE_Connection_Complete
+ 0 [+LEMetaEvent.$size_in_bytes] LEMetaEvent le_meta_event
+
+ $next [+1] hci.StatusCode status
+
+ $next [+2] UInt connection_handle
+ -- Only the lower 12-bits are meaningful.
+ [requires: 0x0000 <= this <= 0x0EFF]
+
+ $next [+1] hci.ConnectionRole role
+
+ $next [+1] hci.LEPeerAddressType peer_address_type
+
+ $next [+hci.BdAddr.$size_in_bytes] hci.BdAddr peer_address
+ -- Public Device Address or Random Device Address of the peer device.
+
+ $next [+2] UInt connection_interval
+ -- Time: N * 1.25 ms
+ -- Range: 7.5 ms to 4 s
+ [requires: 0x0006 <= this <= 0x0C80]
+
+ $next [+2] UInt peripheral_latency
+ [requires: 0x0000 <= this <= 0x01F3]
+
+ $next [+2] UInt supervision_timeout
+ -- Time: N * 10 ms
+ -- Range: 100 ms to 32 s
+ [requires: 0x000A <= this <= 0x0C80]
+
+ $next [+1] LEClockAccuracy central_clock_accuracy
+ -- Only valid for a peripheral. On a central, this parameter shall be set to 0x00.
+
+
+# 7.7.65.2 LE Advertising Report event
+# HCI_LE_Advertising_Report
+# TODO: b/265052417 - Definition needs to be added
+
+
+struct LEConnectionUpdateCompleteSubevent:
+ -- 7.7.65.3 LE Connection Update Complete event
+ -- HCI_LE_Connection_Update_Complete
+ 0 [+LEMetaEvent.$size_in_bytes] LEMetaEvent le_meta_event
+
+ $next [+1] hci.StatusCode status
+
+ $next [+2] UInt connection_handle
+ -- Only the lower 12-bits are meaningful.
+ [requires: 0x0000 <= this <= 0x0EFF]
+
+ $next [+2] UInt connection_interval
+ -- Time: N * 1.25 ms
+ -- Range: 7.5 ms to 4 s
+ [requires: 0x0006 <= this <= 0x0C80]
+
+ $next [+2] UInt peripheral_latency
+ [requires: 0x0000 <= this <= 0x01F3]
+
+ $next [+2] UInt supervision_timeout
+ -- Time: N * 10 ms
+ -- Range: 100 ms to 32 s
+ [requires: 0x000A <= this <= 0x0C80]
+
+
+struct LEReadRemoteFeaturesCompleteSubevent:
+ -- 7.7.65.4 LE Read Remote Features Complete event
+ -- HCI_LE_Read_Remote_Features_Complete
+ 0 [+LEMetaEvent.$size_in_bytes] LEMetaEvent le_meta_event
+ $next [+1] hci.StatusCode status
+ $next [+2] UInt connection_handle
+ -- Only the lower 12-bits are meaningful.
+ [requires: 0x0000 <= this <= 0x0EFF]
+
+ $next [+8] bits:
+ 0 [+LEFeatureSet.$size_in_bits] LEFeatureSet le_features
+
+
struct LELongTermKeyRequestSubevent:
- -- LE Long Term Key Request Event (v4.0) (LE)
+ -- 7.7.65.5 LE Long Term Key Request event (v4.0) (LE)
+ -- HCI_LE_Long_Term_Key_Request
0 [+LEMetaEvent.$size_in_bytes] LEMetaEvent le_meta_event
$next [+2] UInt connection_handle
[requires: 0x0000 <= this <= 0x0EFF]
@@ -1220,131 +1443,278 @@ struct LELongTermKeyRequestSubevent:
$next [+2] UInt encrypted_diversifier
-struct ReadLocalVersionInfoCommandCompleteEvent:
- let hdr_size = hci.CommandCompleteEvent.$size_in_bytes
+# 7.7.65.6 LE Remote Connection Parameter Request event
+# HCI_LE_Remote_Connection_Parameter_Request
+# TODO: b/265052417 - Definition needs to be added
- 0 [+hdr_size] hci.CommandCompleteEvent command_complete
- $next [+1] hci.StatusCode status
+# 7.7.65.7 LE Data Length Change event
+# HCI_LE_Data_Length_Change
+# TODO: b/265052417 - Definition needs to be added
- $next [+1] CoreSpecificationVersion hci_version
- -- Version of the HCI Specification supported by the Controller. See
- -- Assigned Numbers
- $next [+2] UInt hci_subversion
- -- Revision of the HCI implementation in the Controller. This value is
- -- vendor-specific.
+# 7.7.65.8 LE Read Local P-256 Public Key Complete event
+# HCI_LE_Read_Local_P-256_Public_Key_Complete
+# TODO: b/265052417 - Definition needs to be added
- $next [+1] UInt lmp_version
- -- Version of the Current LMP supported by the Controller. See Assigned
- -- Numbers
- $next [+2] UInt company_identifier
- -- Company identifier for the manufacturer of the Controller. See Assigned
- -- Numbers
+# 7.7.65.9 LE Generate DHKey Complete event
+# HCI_LE_Generate_DHKey_Complete
+# TODO: b/265052417 - Definition needs to be added
- $next [+2] UInt lmp_subversion
- -- Subversion of the Current LMP in the Controller. This value is
- -- vendor-specific.
+# 7.7.65.10 LE Enhanced Connection Complete event
+# HCI_LE_Enhanced_Connection_Complete
+# TODO: b/265052417 - Definition needs to be added
-struct ReadBdAddrCommandCompleteEvent:
- -- Read BD_ADDR Command (v1.1) (BR/EDR, LE)
- let hdr_size = hci.CommandCompleteEvent.$size_in_bytes
- 0 [+hdr_size] hci.CommandCompleteEvent command_complete
- $next [+1] hci.StatusCode status
- $next [+hci.BdAddr.$size_in_bytes] hci.BdAddr bd_addr
+# 7.7.65.11 LE Directed Advertising Report event
+# HCI_LE_Directed_Advertising_Report
+# TODO: b/265052417 - Definition needs to be added
-struct ReadBufferSizeCommandCompleteEvent:
- -- Read Buffer Size Command (v1.1)
- let hdr_size = hci.CommandCompleteEvent.$size_in_bytes
+# 7.7.65.12 LE PHY Update Complete event
+# HCI_LE_PHY_Update_Complete
+# TODO: b/265052417 - Definition needs to be added
- 0 [+hdr_size] hci.CommandCompleteEvent command_complete
- $next [+1] hci.StatusCode status
+struct LEExtendedAdvertisingReportData:
+ 0 [+2] bits:
- $next [+2] UInt acl_data_packet_length
- -- Maximum length (in octets) of the data portion of each HCI ACL Data
- -- packet that the Controller is able to accept.
- [requires: 0x0001 <= this <= 0xFFFF]
+ 0 [+7] LEExtendedAdvertisingEventType event_type
- $next [+1] UInt synchronous_data_packet_length
- -- Maximum length (in octets) of the data portion of each HCI Synchronous
- -- Data packet that the Controller is able to accept.
- [requires: 0x01 <= this <= 0xFF]
+ $next [+1] hci.LEAddressType address_type
+ -- Address type of the advertiser.
- $next [+2] UInt total_num_acl_data_packets
- -- Total number of HCI ACL Data packets that can be stored in the data
- -- buffers of the Controller.
- [requires: 0x0001 <= this <= 0xFFFF]
+ $next [+hci.BdAddr.$size_in_bytes] hci.BdAddr address
+ -- Public Device Address, Random Device Address, Public Identity Address or
+ -- Random (static) Identity Address of the advertising device.
- $next [+2] UInt total_num_synchronous_data_packets
- -- Total number of HCI Synchronous Data packets that can be stored in the
- -- data buffers of the Controller. A value of 0 indicates that the
- -- Controller does not support SCO or eSCO over HCI.
+ $next [+1] hci.LEPrimaryAdvertisingPHY primary_phy
+ -- Indicates the PHY used to send the advertising PDU on the primary advertising
+ -- channel. Legacy PDUs always use LE_1M. NONE, LE_2M, and LE_CODED_S2 are excluded.
+ $next [+1] hci.LESecondaryAdvertisingPHY secondary_phy
+ -- Indicates the PHY used to send the advertising PDU(s), if any, on the secondary
+ -- advertising channel. A value of NONE means that no packets were received on the
+ -- secondary advertising channel.
-struct LEReadLocalSupportedFeaturesCommandCompleteEvent:
- -- LE Read Local Supported Features Command (v4.0) (LE)
- let hdr_size = hci.CommandCompleteEvent.$size_in_bytes
- 0 [+hdr_size] hci.CommandCompleteEvent command_complete
- $next [+1] hci.StatusCode status
- $next [+8] bits:
- 0 [+LEFeatureSet.$size_in_bits] LEFeatureSet le_features
+ $next [+1] UInt advertising_sid
+ -- Value of the Advertising SID subfield in the ADI field of the PDU. A value of
+ -- 0xFF means no ADI field provided.
+ [requires: 0x00 <= this <= 0x0F || this == 0xFF]
+ $next [+1] UInt tx_power
+ -- Units: dBm. A value of 0x7F means Tx Power information is not available.
+ [requires: -127 <= this <= 20 || this == 0x7F]
-struct ReadLocalSupportedCommandsCommandCompleteEvent:
- -- Read Local Supported Commands Command (v1.2)
- let hdr_size = hci.CommandCompleteEvent.$size_in_bytes
- 0 [+hdr_size] hci.CommandCompleteEvent command_complete
- $next [+1] hci.StatusCode status
- $next [+1] SupportedCommands(0) supported_commands_0
- $next [+1] SupportedCommands(1) supported_commands_1
- $next [+1] SupportedCommands(2) supported_commands_2
- $next [+1] SupportedCommands(3) supported_commands_3
- $next [+1] SupportedCommands(4) supported_commands_4
- $next [+1] SupportedCommands(5) supported_commands_5
- $next [+1] SupportedCommands(6) supported_commands_6
- $next [+1] SupportedCommands(7) supported_commands_7
- $next [+1] SupportedCommands(8) supported_commands_8
- $next [+1] SupportedCommands(9) supported_commands_9
- $next [+1] SupportedCommands(10) supported_commands_10
- $next [+1] SupportedCommands(11) supported_commands_11
- $next [+1] SupportedCommands(12) supported_commands_12
- $next [+1] SupportedCommands(13) supported_commands_13
- $next [+1] SupportedCommands(14) supported_commands_14
- $next [+1] SupportedCommands(15) supported_commands_15
- $next [+1] SupportedCommands(16) supported_commands_16
- $next [+1] SupportedCommands(17) supported_commands_17
- $next [+1] SupportedCommands(18) supported_commands_18
- $next [+1] SupportedCommands(19) supported_commands_19
- $next [+1] SupportedCommands(20) supported_commands_20
- $next [+1] SupportedCommands(21) supported_commands_21
- $next [+1] SupportedCommands(22) supported_commands_22
- $next [+1] SupportedCommands(23) supported_commands_23
- $next [+1] SupportedCommands(24) supported_commands_24
- $next [+1] SupportedCommands(25) supported_commands_25
- $next [+1] SupportedCommands(26) supported_commands_26
- $next [+1] SupportedCommands(27) supported_commands_27
- $next [+1] SupportedCommands(28) supported_commands_28
- $next [+1] SupportedCommands(29) supported_commands_29
- $next [+1] SupportedCommands(30) supported_commands_30
- $next [+1] SupportedCommands(31) supported_commands_31
- $next [+1] SupportedCommands(32) supported_commands_32
- $next [+1] SupportedCommands(33) supported_commands_33
- $next [+1] SupportedCommands(34) supported_commands_34
- $next [+1] SupportedCommands(35) supported_commands_35
- $next [+1] SupportedCommands(36) supported_commands_36
- $next [+1] SupportedCommands(37) supported_commands_37
- $next [+1] SupportedCommands(38) supported_commands_38
- $next [+1] SupportedCommands(39) supported_commands_39
- $next [+1] SupportedCommands(40) supported_commands_40
- $next [+1] SupportedCommands(41) supported_commands_41
- $next [+1] SupportedCommands(42) supported_commands_42
- $next [+1] SupportedCommands(43) supported_commands_43
- $next [+1] SupportedCommands(44) supported_commands_44
- $next [+1] SupportedCommands(45) supported_commands_45
- $next [+1] SupportedCommands(46) supported_commands_46
- $next [+1] SupportedCommands(47) supported_commands_47
+ $next [+1] Int rssi
+ -- Units: dBm. A value of 0x7F means RSSI is not available.
+ [requires: -127 <= this <= 20 || this == 0x7F]
+
+ $next [+2] UInt periodic_advertising_interval
+ -- 0x0000: No periodic advertising.
+ -- 0xXXXX:
+ -- Time = N * 1.25 ms
+ -- Time Range: 7.5 ms to 81,918.75 s
+ [requires: 0x0006 <= this <= 0xFFFF || this == 0x0000]
+
+ $next [+1] LEDirectAddressType direct_address_type
+
+ $next [+hci.BdAddr.$size_in_bytes] hci.BdAddr direct_address
+ -- TargetA field in the advertisement or either Public Identity Address or Random (static)
+ -- Identity Address of the target device.
+
+ $next [+1] UInt data_length
+ -- Length of the |data| field.
+
+ $next [+data_length] UInt:8[data_length] data
+ -- |data_length| octets of advertising or scan response data formatted as defined in
+ -- [Vol 3] Part C, Section 11. Note: Each element of this array has a variable length.
+
+
+struct LEExtendedAdvertisingReportSubevent(reports_size: UInt:8):
+ -- 7.7.65.13 LE Extended Advertising Report event (v5.0) (LE)
+ -- HCI_LE_Extended_Advertising_Report
+ 0 [+LEMetaEvent.$size_in_bytes] LEMetaEvent le_meta_event
+ $next [+1] UInt num_reports
+ -- Number of separate reports in the event.
+ [requires: 0x01 <= this <= 0x0A]
+
+ $next [+reports_size] UInt:8[reports_size] reports
+ -- Since each report has a variable length, they are stored in a UInt:8 array.
+
+
+# 7.7.65.14 LE Periodic Advertising Sync Established event
+# HCI_LE_Periodic_Advertising_Sync_Established
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.15 LE Periodic Advertising Report event
+# HCI_LE_Periodic_Advertising_Report
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.16 LE Periodic Advertising Sync Lost event
+# HCI_LE_Periodic_Advertising_Sync_Lost
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.17 LE Scan Timeout event
+# HCI_LE_Scan_Timeout
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.18 LE Advertising Set Terminated event
+# HCI_LE_Advertising_Set_Terminated
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.19 LE Scan Request Received event
+# HCI_LE_Scan_Request_Received
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.20 LE Channel Selection Algorithm event
+# HCI_LE_Channel_Selection_Algorithm
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.21 LE Connectionless IQ Report event
+# HCI_LE_Connectionless_IQ_Report
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.22 LE Connection IQ Report event
+# HCI_LE_Connection_IQ_Report
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.23 LE CTE Request Failed event
+# HCI_LE_CTE_Request_Failed
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.24 LE Periodic Advertising Sync Transfer Received event
+# HCI_LE_Periodic_Advertising_Sync_Transfer_Received
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.25 LE CIS Established event
+# HCI_LE_CIS_Established
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.26 LE CIS Request event
+# HCI_LE_CIS_Request
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.27 LE Create BIG Complete event
+# HCI_LE_Create_BIG_Complete
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.28 LE Terminate BIG Complete event
+# HCI_LE_Terminate_BIG_Complete
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.29 LE BIG Sync Established event
+# HCI_LE_BIG_Sync_Established
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.30 LE BIG Sync Lost event
+# HCI_LE_BIG_Sync_Lost
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.31 LE Request Peer SCA Complete event
+# HCI_LE_Request_Peer_SCA_Complete
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.32 LE Path Loss Threshold event
+# HCI_LE_Path_Loss_Threshold
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.33 LE Transmit Power Reporting event
+# HCI_LE_Transmit_Power_Reporting
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.34 LE BIGInfo Advertising Report event
+# HCI_LE_BIGInfo_Advertising_Report
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.35 LE Subrate Change event
+# HCI_LE_Subrate_Change
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.36 LE Periodic Advertising Subevent Data Request event
+# HCI_LE_Periodic_Advertising_Subevent_Data_Request
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.65.37 LE Periodic Advertising Response Report event
+# HCI_LE_Periodic_Advertising_Response_Report
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.66 Triggered Clock Capture event
+# HCI_Triggered_Clock_Capture
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.67 Synchronization Train Complete event
+# HCI_Synchronization_Train_Complete
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.68 Synchronization Train Received event
+# HCI_Synchronization_Train_Received
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.69 Connectionless Peripheral Broadcast Receive event
+# HCI_Connectionless_Peripheral_Broadcast_Receive
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.70 Connectionless Peripheral Broadcast Timeout event
+# HCI_Connectionless_Peripheral_Broadcast_Timeout
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.71 Truncated Page Complete event
+# HCI_Truncated_Page_Complete
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.72 Peripheral Page Response Timeout event
+# HCI_Peripheral_Page_Response_Timeout
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.73 Connectionless Peripheral Broadcast Channel Map Change event
+# HCI_Connectionless_Peripheral_Broadcast_Channel_Map_Change
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.74 Inquiry Response Notification event
+# HCI_Inquiry_Response_Notification
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.75 Authenticated Payload Timeout Expired event
+# HCI_Authenticated_Payload_Timeout_Expired
+# TODO: b/265052417 - Definition needs to be added
+
+
+# 7.7.76 SAM Status Change event
+# HCI_SAM_Status_Change
+# TODO: b/265052417 - Definition needs to be added