Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
hci.h File Reference
#include <toolchain.h>
#include <zephyr/types.h>
#include <stdbool.h>
#include <string.h>
#include <sys/util.h>
#include <net/buf.h>
#include <bluetooth/addr.h>
#include <bluetooth/hci_err.h>
#include <bluetooth/conn.h>

Go to the source code of this file.

Data Structures

struct  bt_hci_evt_hdr
 
struct  bt_hci_acl_hdr
 
struct  bt_hci_iso_data_hdr
 
struct  bt_hci_iso_ts_data_hdr
 
struct  bt_hci_iso_hdr
 
struct  bt_hci_cmd_hdr
 
struct  bt_hci_op_inquiry
 
struct  bt_hci_cp_connect
 
struct  bt_hci_cp_disconnect
 
struct  bt_hci_cp_connect_cancel
 
struct  bt_hci_rp_connect_cancel
 
struct  bt_hci_cp_accept_conn_req
 
struct  bt_hci_cp_setup_sync_conn
 
struct  bt_hci_cp_accept_sync_conn_req
 
struct  bt_hci_cp_reject_conn_req
 
struct  bt_hci_cp_link_key_reply
 
struct  bt_hci_cp_link_key_neg_reply
 
struct  bt_hci_cp_pin_code_reply
 
struct  bt_hci_rp_pin_code_reply
 
struct  bt_hci_cp_pin_code_neg_reply
 
struct  bt_hci_rp_pin_code_neg_reply
 
struct  bt_hci_cp_auth_requested
 
struct  bt_hci_cp_set_conn_encrypt
 
struct  bt_hci_cp_remote_name_request
 
struct  bt_hci_cp_remote_name_cancel
 
struct  bt_hci_rp_remote_name_cancel
 
struct  bt_hci_cp_read_remote_features
 
struct  bt_hci_cp_read_remote_ext_features
 
struct  bt_hci_cp_read_remote_version_info
 
struct  bt_hci_cp_io_capability_reply
 
struct  bt_hci_cp_user_confirm_reply
 
struct  bt_hci_rp_user_confirm_reply
 
struct  bt_hci_cp_user_passkey_reply
 
struct  bt_hci_cp_user_passkey_neg_reply
 
struct  bt_hci_cp_io_capability_neg_reply
 
struct  bt_hci_cp_set_event_mask
 
struct  bt_hci_write_local_name
 
struct  bt_hci_cp_write_class_of_device
 
struct  bt_hci_cp_read_tx_power_level
 
struct  bt_hci_rp_read_tx_power_level
 
struct  bt_hci_cp_set_ctl_to_host_flow
 
struct  bt_hci_cp_host_buffer_size
 
struct  bt_hci_handle_count
 
struct  bt_hci_cp_host_num_completed_packets
 
struct  bt_hci_cp_write_inquiry_mode
 
struct  bt_hci_cp_write_ssp_mode
 
struct  bt_hci_cp_set_event_mask_page_2
 
struct  bt_hci_cp_write_le_host_supp
 
struct  bt_hci_cp_write_sc_host_supp
 
struct  bt_hci_cp_read_auth_payload_timeout
 
struct  bt_hci_rp_read_auth_payload_timeout
 
struct  bt_hci_cp_write_auth_payload_timeout
 
struct  bt_hci_rp_write_auth_payload_timeout
 
struct  bt_hci_cp_configure_data_path
 
struct  bt_hci_rp_configure_data_path
 
struct  bt_hci_rp_read_local_version_info
 
struct  bt_hci_rp_read_supported_commands
 
struct  bt_hci_cp_read_local_ext_features
 
struct  bt_hci_rp_read_local_ext_features
 
struct  bt_hci_rp_read_local_features
 
struct  bt_hci_rp_read_buffer_size
 
struct  bt_hci_rp_read_bd_addr
 
struct  bt_hci_std_codec_info
 
struct  bt_hci_std_codecs
 
struct  bt_hci_vs_codec_info
 
struct  bt_hci_vs_codecs
 
struct  bt_hci_rp_read_codecs
 
struct  bt_hci_std_codec_info_v2
 
struct  bt_hci_std_codecs_v2
 
struct  bt_hci_vs_codec_info_v2
 
struct  bt_hci_vs_codecs_v2
 
struct  bt_hci_rp_read_codecs_v2
 
struct  bt_hci_cp_codec_id
 
struct  bt_hci_cp_read_codec_capabilities
 
struct  bt_hci_codec_capability_info
 
struct  bt_hci_rp_read_codec_capabilities
 
struct  bt_hci_cp_read_ctlr_delay
 
struct  bt_hci_rp_read_ctlr_delay
 
struct  bt_hci_cp_read_rssi
 
struct  bt_hci_rp_read_rssi
 
struct  bt_hci_cp_read_encryption_key_size
 
struct  bt_hci_rp_read_encryption_key_size
 
struct  bt_hci_cp_le_set_event_mask
 
struct  bt_hci_rp_le_read_buffer_size
 
struct  bt_hci_rp_le_read_local_features
 
struct  bt_hci_cp_le_set_random_address
 
struct  bt_hci_cp_le_set_adv_param
 
struct  bt_hci_rp_le_read_chan_tx_power
 
struct  bt_hci_cp_le_set_adv_data
 
struct  bt_hci_cp_le_set_scan_rsp_data
 
struct  bt_hci_cp_le_set_adv_enable
 
struct  bt_hci_cp_le_set_scan_param
 
struct  bt_hci_cp_le_set_scan_enable
 
struct  bt_hci_cp_le_create_conn
 
struct  bt_hci_rp_le_read_fal_size
 
struct  bt_hci_cp_le_add_dev_to_fal
 
struct  bt_hci_cp_le_rem_dev_from_fal
 
struct  hci_cp_le_conn_update
 
struct  bt_hci_cp_le_set_host_chan_classif
 
struct  bt_hci_cp_le_read_chan_map
 
struct  bt_hci_rp_le_read_chan_map
 
struct  bt_hci_cp_le_read_remote_features
 
struct  bt_hci_cp_le_encrypt
 
struct  bt_hci_rp_le_encrypt
 
struct  bt_hci_rp_le_rand
 
struct  bt_hci_cp_le_start_encryption
 
struct  bt_hci_cp_le_ltk_req_reply
 
struct  bt_hci_rp_le_ltk_req_reply
 
struct  bt_hci_cp_le_ltk_req_neg_reply
 
struct  bt_hci_rp_le_ltk_req_neg_reply
 
struct  bt_hci_rp_le_read_supp_states
 
struct  bt_hci_cp_le_rx_test
 
struct  bt_hci_cp_le_tx_test
 
struct  bt_hci_rp_le_test_end
 
struct  bt_hci_cp_le_conn_param_req_reply
 
struct  bt_hci_rp_le_conn_param_req_reply
 
struct  bt_hci_cp_le_conn_param_req_neg_reply
 
struct  bt_hci_rp_le_conn_param_req_neg_reply
 
struct  bt_hci_cp_le_set_data_len
 
struct  bt_hci_rp_le_set_data_len
 
struct  bt_hci_rp_le_read_default_data_len
 
struct  bt_hci_cp_le_write_default_data_len
 
struct  bt_hci_cp_le_generate_dhkey
 
struct  bt_hci_cp_le_generate_dhkey_v2
 
struct  bt_hci_cp_le_add_dev_to_rl
 
struct  bt_hci_cp_le_rem_dev_from_rl
 
struct  bt_hci_rp_le_read_rl_size
 
struct  bt_hci_cp_le_read_peer_rpa
 
struct  bt_hci_rp_le_read_peer_rpa
 
struct  bt_hci_cp_le_read_local_rpa
 
struct  bt_hci_rp_le_read_local_rpa
 
struct  bt_hci_cp_le_set_addr_res_enable
 
struct  bt_hci_cp_le_set_rpa_timeout
 
struct  bt_hci_rp_le_read_max_data_len
 
struct  bt_hci_cp_le_read_phy
 
struct  bt_hci_rp_le_read_phy
 
struct  bt_hci_cp_le_set_default_phy
 
struct  bt_hci_cp_le_set_phy
 
struct  bt_hci_cp_le_enh_rx_test
 
struct  bt_hci_cp_le_enh_tx_test
 
struct  bt_hci_cp_le_set_adv_set_random_addr
 
struct  bt_hci_cp_le_set_ext_adv_param
 
struct  bt_hci_rp_le_set_ext_adv_param
 
struct  bt_hci_cp_le_set_ext_adv_data
 
struct  bt_hci_cp_le_set_ext_scan_rsp_data
 
struct  bt_hci_ext_adv_set
 
struct  bt_hci_cp_le_set_ext_adv_enable
 
struct  bt_hci_rp_le_read_max_adv_data_len
 
struct  bt_hci_rp_le_read_num_adv_sets
 
struct  bt_hci_cp_le_remove_adv_set
 
struct  bt_hci_cp_le_set_per_adv_param
 
struct  bt_hci_cp_le_set_per_adv_data
 
struct  bt_hci_cp_le_set_per_adv_enable
 
struct  bt_hci_ext_scan_phy
 
struct  bt_hci_cp_le_set_ext_scan_param
 
struct  bt_hci_cp_le_set_ext_scan_enable
 
struct  bt_hci_ext_conn_phy
 
struct  bt_hci_cp_le_ext_create_conn
 
struct  bt_hci_cp_le_per_adv_create_sync
 
struct  bt_hci_cp_le_per_adv_terminate_sync
 
struct  bt_hci_cp_le_add_dev_to_per_adv_list
 
struct  bt_hci_cp_le_rem_dev_from_per_adv_list
 
struct  bt_hci_rp_le_read_per_adv_list_size
 
struct  bt_hci_rp_le_read_tx_power
 
struct  bt_hci_rp_le_read_rf_path_comp
 
struct  bt_hci_cp_le_write_rf_path_comp
 
struct  bt_hci_cp_le_set_privacy_mode
 
struct  bt_hci_cp_le_set_cl_cte_tx_params
 
struct  bt_hci_cp_le_set_cl_cte_tx_enable
 
struct  bt_hci_cp_le_set_cl_cte_sampling_enable
 
struct  bt_hci_rp_le_set_cl_cte_sampling_enable
 
struct  bt_hci_cp_le_set_conn_cte_rx_params
 
struct  bt_hci_rp_le_set_conn_cte_rx_params
 
struct  bt_hci_cp_le_set_conn_cte_tx_params
 
struct  bt_hci_rp_le_set_conn_cte_tx_params
 
struct  bt_hci_cp_le_conn_cte_req_enable
 
struct  bt_hci_rp_le_conn_cte_req_enable
 
struct  bt_hci_cp_le_conn_cte_rsp_enable
 
struct  bt_hci_rp_le_conn_cte_rsp_enable
 
struct  bt_hci_rp_le_read_ant_info
 
struct  bt_hci_cp_le_set_per_adv_recv_enable
 
struct  bt_hci_cp_le_per_adv_sync_transfer
 
struct  bt_hci_rp_le_per_adv_sync_transfer
 
struct  bt_hci_cp_le_per_adv_set_info_transfer
 
struct  bt_hci_rp_le_per_adv_set_info_transfer
 
struct  bt_hci_cp_le_past_param
 
struct  bt_hci_rp_le_past_param
 
struct  bt_hci_cp_le_default_past_param
 
struct  bt_hci_rp_le_default_past_param
 
struct  bt_hci_rp_le_read_buffer_size_v2
 
struct  bt_hci_cp_le_read_iso_tx_sync
 
struct  bt_hci_rp_le_read_iso_tx_sync
 
struct  bt_hci_cis_params
 
struct  bt_hci_cp_le_set_cig_params
 
struct  bt_hci_rp_le_set_cig_params
 
struct  bt_hci_cis_params_test
 
struct  bt_hci_cp_le_set_cig_params_test
 
struct  bt_hci_rp_le_set_cig_params_test
 
struct  bt_hci_cis
 
struct  bt_hci_cp_le_create_cis
 
struct  bt_hci_cp_le_remove_cig
 
struct  bt_hci_rp_le_remove_cig
 
struct  bt_hci_cp_le_accept_cis
 
struct  bt_hci_cp_le_reject_cis
 
struct  bt_hci_rp_le_reject_cis
 
struct  bt_hci_cp_le_create_big
 
struct  bt_hci_cp_le_create_big_test
 
struct  bt_hci_cp_le_terminate_big
 
struct  bt_hci_cp_le_big_create_sync
 
struct  bt_hci_cp_le_big_terminate_sync
 
struct  bt_hci_rp_le_big_terminate_sync
 
struct  bt_hci_cp_le_req_peer_sca
 
struct  bt_hci_cp_le_setup_iso_path
 
struct  bt_hci_rp_le_setup_iso_path
 
struct  bt_hci_cp_le_remove_iso_path
 
struct  bt_hci_rp_le_remove_iso_path
 
struct  bt_hci_cp_le_iso_transmit_test
 
struct  bt_hci_rp_le_iso_transmit_test
 
struct  bt_hci_cp_le_iso_receive_test
 
struct  bt_hci_rp_le_iso_receive_test
 
struct  bt_hci_cp_le_read_test_counters
 
struct  bt_hci_rp_le_read_test_counters
 
struct  bt_hci_cp_le_iso_test_end
 
struct  bt_hci_rp_le_iso_test_end
 
struct  bt_hci_cp_le_set_host_feature
 
struct  bt_hci_rp_le_set_host_feature
 
struct  bt_hci_cp_le_read_iso_link_quality
 
struct  bt_hci_rp_le_read_iso_link_quality
 
struct  bt_hci_evt_inquiry_complete
 
struct  bt_hci_evt_conn_complete
 
struct  bt_hci_evt_conn_request
 
struct  bt_hci_evt_disconn_complete
 
struct  bt_hci_evt_auth_complete
 
struct  bt_hci_evt_remote_name_req_complete
 
struct  bt_hci_evt_encrypt_change
 
struct  bt_hci_evt_remote_features
 
struct  bt_hci_evt_remote_version_info
 
struct  bt_hci_evt_cmd_complete
 
struct  bt_hci_evt_cc_status
 
struct  bt_hci_evt_cmd_status
 
struct  bt_hci_evt_hardware_error
 
struct  bt_hci_evt_role_change
 
struct  bt_hci_evt_num_completed_packets
 
struct  bt_hci_evt_pin_code_req
 
struct  bt_hci_evt_link_key_req
 
struct  bt_hci_evt_link_key_notify
 
struct  bt_hci_evt_data_buf_overflow
 
struct  bt_hci_evt_inquiry_result_with_rssi
 
struct  bt_hci_evt_remote_ext_features
 
struct  bt_hci_evt_sync_conn_complete
 
struct  bt_hci_evt_extended_inquiry_result
 
struct  bt_hci_evt_encrypt_key_refresh_complete
 
struct  bt_hci_evt_io_capa_req
 
struct  bt_hci_evt_io_capa_resp
 
struct  bt_hci_evt_user_confirm_req
 
struct  bt_hci_evt_user_passkey_req
 
struct  bt_hci_evt_ssp_complete
 
struct  bt_hci_evt_user_passkey_notify
 
struct  bt_hci_evt_le_meta_event
 
struct  bt_hci_evt_auth_payload_timeout_exp
 
struct  bt_hci_evt_le_conn_complete
 
struct  bt_hci_evt_le_advertising_info
 
struct  bt_hci_evt_le_advertising_report
 
struct  bt_hci_evt_le_conn_update_complete
 
struct  bt_hci_evt_le_remote_feat_complete
 
struct  bt_hci_evt_le_ltk_request
 
struct  bt_hci_evt_le_conn_param_req
 
struct  bt_hci_evt_le_data_len_change
 
struct  bt_hci_evt_le_p256_public_key_complete
 
struct  bt_hci_evt_le_generate_dhkey_complete
 
struct  bt_hci_evt_le_enh_conn_complete
 
struct  bt_hci_evt_le_direct_adv_info
 
struct  bt_hci_evt_le_direct_adv_report
 
struct  bt_hci_evt_le_phy_update_complete
 
struct  bt_hci_evt_le_ext_advertising_info
 
struct  bt_hci_evt_le_ext_advertising_report
 
struct  bt_hci_evt_le_per_adv_sync_established
 
struct  bt_hci_evt_le_per_advertising_report
 
struct  bt_hci_evt_le_per_adv_sync_lost
 
struct  bt_hci_evt_le_adv_set_terminated
 
struct  bt_hci_evt_le_scan_req_received
 
struct  bt_hci_evt_le_chan_sel_algo
 
struct  bt_hci_le_iq_sample
 
struct  bt_hci_evt_le_connectionless_iq_report
 
struct  bt_hci_evt_le_connection_iq_report
 
struct  bt_hci_evt_le_cte_req_failed
 
struct  bt_hci_evt_le_past_received
 
struct  bt_hci_evt_le_cis_established
 
struct  bt_hci_evt_le_cis_req
 
struct  bt_hci_evt_le_big_complete
 
struct  bt_hci_evt_le_big_terminate
 
struct  bt_hci_evt_le_big_sync_established
 
struct  bt_hci_evt_le_big_sync_lost
 
struct  bt_hci_evt_le_req_peer_sca_complete
 
struct  bt_hci_evt_le_biginfo_adv_report
 

Macros

#define BT_HCI_OWN_ADDR_RPA_OR_PUBLIC   0x02
 
#define BT_HCI_OWN_ADDR_RPA_OR_RANDOM   0x03
 
#define BT_HCI_OWN_ADDR_RPA_MASK   0x02
 
#define BT_HCI_PEER_ADDR_RPA_UNRESOLVED   0xfe
 
#define BT_HCI_PEER_ADDR_ANONYMOUS   0xff
 
#define BT_ENC_KEY_SIZE_MIN   0x07
 
#define BT_ENC_KEY_SIZE_MAX   0x10
 
#define BT_HCI_EVT_HDR_SIZE   2
 
#define BT_ACL_START_NO_FLUSH   0x00
 
#define BT_ACL_CONT   0x01
 
#define BT_ACL_START   0x02
 
#define BT_ACL_COMPLETE   0x03
 
#define BT_ACL_POINT_TO_POINT   0x00
 
#define BT_ACL_BROADCAST   0x01
 
#define BT_ACL_HANDLE_MASK   BIT_MASK(12)
 
#define bt_acl_handle(h)   ((h) & BT_ACL_HANDLE_MASK)
 
#define bt_acl_flags(h)   ((h) >> 12)
 
#define bt_acl_flags_pb(f)   ((f) & BIT_MASK(2))
 
#define bt_acl_flags_bc(f)   ((f) >> 2)
 
#define bt_acl_handle_pack(h, f)   ((h) | ((f) << 12))
 
#define BT_HCI_ACL_HDR_SIZE   4
 
#define BT_ISO_START   0x00
 
#define BT_ISO_CONT   0x01
 
#define BT_ISO_SINGLE   0x02
 
#define BT_ISO_END   0x03
 
#define bt_iso_handle(h)   ((h) & 0x0fff)
 
#define bt_iso_flags(h)   ((h) >> 12)
 
#define bt_iso_flags_pb(f)   ((f) & 0x0003)
 
#define bt_iso_flags_ts(f)   (((f) >> 2) & 0x0001)
 
#define bt_iso_pack_flags(pb, ts)    (((pb) & 0x0003) | (((ts) & 0x0001) << 2))
 
#define bt_iso_handle_pack(h, pb, ts)    ((h) | (bt_iso_pack_flags(pb, ts) << 12))
 
#define BT_ISO_DATA_VALID   0x00
 
#define BT_ISO_DATA_INVALID   0x01
 
#define BT_ISO_DATA_NOP   0x02
 
#define bt_iso_pkt_len(h)   ((h) & 0x3fff)
 
#define bt_iso_pkt_flags(h)   ((h) >> 14)
 
#define bt_iso_pkt_len_pack(h, f)   ((h) | ((f) << 14))
 
#define BT_HCI_ISO_DATA_HDR_SIZE   4
 
#define BT_HCI_ISO_TS_DATA_HDR_SIZE   8
 
#define BT_HCI_ISO_HDR_SIZE   4
 
#define BT_HCI_CMD_HDR_SIZE   3
 
#define BT_CMD_TEST(cmd, octet, bit)   (cmd[octet] & BIT(bit))
 
#define BT_CMD_LE_STATES(cmd)   BT_CMD_TEST(cmd, 28, 3)
 
#define BT_FEAT_TEST(feat, page, octet, bit)   (feat[page][octet] & BIT(bit))
 
#define BT_FEAT_BREDR(feat)   !BT_FEAT_TEST(feat, 0, 4, 5)
 
#define BT_FEAT_LE(feat)   BT_FEAT_TEST(feat, 0, 4, 6)
 
#define BT_FEAT_EXT_FEATURES(feat)   BT_FEAT_TEST(feat, 0, 7, 7)
 
#define BT_FEAT_HOST_SSP(feat)   BT_FEAT_TEST(feat, 1, 0, 0)
 
#define BT_FEAT_SC(feat)   BT_FEAT_TEST(feat, 2, 1, 0)
 
#define BT_FEAT_LMP_ESCO_CAPABLE(feat)   BT_FEAT_TEST(feat, 0, 3, 7)
 
#define BT_FEAT_HV2_PKT(feat)   BT_FEAT_TEST(feat, 0, 1, 4)
 
#define BT_FEAT_HV3_PKT(feat)   BT_FEAT_TEST(feat, 0, 1, 5)
 
#define BT_FEAT_EV4_PKT(feat)   BT_FEAT_TEST(feat, 0, 4, 0)
 
#define BT_FEAT_EV5_PKT(feat)   BT_FEAT_TEST(feat, 0, 4, 1)
 
#define BT_FEAT_2EV3_PKT(feat)   BT_FEAT_TEST(feat, 0, 5, 5)
 
#define BT_FEAT_3EV3_PKT(feat)   BT_FEAT_TEST(feat, 0, 5, 6)
 
#define BT_FEAT_3SLOT_PKT(feat)   BT_FEAT_TEST(feat, 0, 5, 7)
 
#define BT_LE_FEAT_BIT_ENC   0
 
#define BT_LE_FEAT_BIT_CONN_PARAM_REQ   1
 
#define BT_LE_FEAT_BIT_EXT_REJ_IND   2
 
#define BT_LE_FEAT_BIT_PER_INIT_FEAT_XCHG   3
 
#define BT_LE_FEAT_BIT_PING   4
 
#define BT_LE_FEAT_BIT_DLE   5
 
#define BT_LE_FEAT_BIT_PRIVACY   6
 
#define BT_LE_FEAT_BIT_EXT_SCAN   7
 
#define BT_LE_FEAT_BIT_PHY_2M   8
 
#define BT_LE_FEAT_BIT_SMI_TX   9
 
#define BT_LE_FEAT_BIT_SMI_RX   10
 
#define BT_LE_FEAT_BIT_PHY_CODED   11
 
#define BT_LE_FEAT_BIT_EXT_ADV   12
 
#define BT_LE_FEAT_BIT_PER_ADV   13
 
#define BT_LE_FEAT_BIT_CHAN_SEL_ALGO_2   14
 
#define BT_LE_FEAT_BIT_PWR_CLASS_1   15
 
#define BT_LE_FEAT_BIT_MIN_USED_CHAN_PROC   16
 
#define BT_LE_FEAT_BIT_CONN_CTE_REQ   17
 
#define BT_LE_FEAT_BIT_CONN_CTE_RESP   18
 
#define BT_LE_FEAT_BIT_CONNECTIONLESS_CTE_TX   19
 
#define BT_LE_FEAT_BIT_CONNECTIONLESS_CTE_RX   20
 
#define BT_LE_FEAT_BIT_ANT_SWITCH_TX_AOD   21
 
#define BT_LE_FEAT_BIT_ANT_SWITCH_RX_AOA   22
 
#define BT_LE_FEAT_BIT_RX_CTE   23
 
#define BT_LE_FEAT_BIT_PAST_SEND   24
 
#define BT_LE_FEAT_BIT_PAST_RECV   25
 
#define BT_LE_FEAT_BIT_SCA_UPDATE   26
 
#define BT_LE_FEAT_BIT_REMOTE_PUB_KEY_VALIDATE   27
 
#define BT_LE_FEAT_BIT_CIS_CENTRAL   28
 
#define BT_LE_FEAT_BIT_CIS_PERIPHERAL   29
 
#define BT_LE_FEAT_BIT_ISO_BROADCASTER   30
 
#define BT_LE_FEAT_BIT_SYNC_RECEIVER   31
 
#define BT_LE_FEAT_BIT_ISO_CHANNELS   32
 
#define BT_LE_FEAT_BIT_PWR_CTRL_REQ   33
 
#define BT_LE_FEAT_BIT_PWR_CHG_IND   34
 
#define BT_LE_FEAT_BIT_PATH_LOSS_MONITOR   35
 
#define BT_LE_FEAT_TEST(feat, n)
 
#define BT_FEAT_LE_ENCR(feat)
 
#define BT_FEAT_LE_CONN_PARAM_REQ_PROC(feat)
 
#define BT_FEAT_LE_PER_INIT_FEAT_XCHG(feat)
 
#define BT_FEAT_LE_DLE(feat)
 
#define BT_FEAT_LE_PHY_2M(feat)
 
#define BT_FEAT_LE_PHY_CODED(feat)
 
#define BT_FEAT_LE_PRIVACY(feat)
 
#define BT_FEAT_LE_EXT_ADV(feat)
 
#define BT_FEAT_LE_EXT_PER_ADV(feat)
 
#define BT_FEAT_LE_CONNECTION_CTE_REQ(feat)
 
#define BT_FEAT_LE_CONNECTION_CTE_RESP(feat)
 
#define BT_FEAT_LE_CONNECTIONLESS_CTE_TX(feat)
 
#define BT_FEAT_LE_CONNECTIONLESS_CTE_RX(feat)
 
#define BT_FEAT_LE_ANT_SWITCH_TX_AOD(feat)
 
#define BT_FEAT_LE_ANT_SWITCH_RX_AOA(feat)
 
#define BT_FEAT_LE_RX_CTE(feat)
 
#define BT_FEAT_LE_PAST_SEND(feat)
 
#define BT_FEAT_LE_PAST_RECV(feat)
 
#define BT_FEAT_LE_CIS_CENTRAL(feat)
 
#define BT_FEAT_LE_CIS_PERIPHERAL(feat)
 
#define BT_FEAT_LE_ISO_BROADCASTER(feat)
 
#define BT_FEAT_LE_SYNC_RECEIVER(feat)
 
#define BT_FEAT_LE_ISO_CHANNELS(feat)
 
#define BT_FEAT_LE_CIS(feat)
 
#define BT_FEAT_LE_BIS(feat)
 
#define BT_FEAT_LE_ISO(feat)
 
#define BT_LE_STATES_PER_CONN_ADV(states)   (states & 0x0000004000000000)
 
#define BT_HCI_NO_BONDING   0x00
 
#define BT_HCI_NO_BONDING_MITM   0x01
 
#define BT_HCI_DEDICATED_BONDING   0x02
 
#define BT_HCI_DEDICATED_BONDING_MITM   0x03
 
#define BT_HCI_GENERAL_BONDING   0x04
 
#define BT_HCI_GENERAL_BONDING_MITM   0x05
 
#define BT_MITM   0x01
 
#define BT_IO_DISPLAY_ONLY   0x00
 
#define BT_IO_DISPLAY_YESNO   0x01
 
#define BT_IO_KEYBOARD_ONLY   0x02
 
#define BT_IO_NO_INPUT_OUTPUT   0x03
 
#define HCI_PKT_TYPE_HV1   0x0020
 
#define HCI_PKT_TYPE_HV2   0x0040
 
#define HCI_PKT_TYPE_HV3   0x0080
 
#define HCI_PKT_TYPE_ESCO_HV1   0x0001
 
#define HCI_PKT_TYPE_ESCO_HV2   0x0002
 
#define HCI_PKT_TYPE_ESCO_HV3   0x0004
 
#define HCI_PKT_TYPE_ESCO_EV3   0x0008
 
#define HCI_PKT_TYPE_ESCO_EV4   0x0010
 
#define HCI_PKT_TYPE_ESCO_EV5   0x0020
 
#define HCI_PKT_TYPE_ESCO_2EV3   0x0040
 
#define HCI_PKT_TYPE_ESCO_3EV3   0x0080
 
#define HCI_PKT_TYPE_ESCO_2EV5   0x0100
 
#define HCI_PKT_TYPE_ESCO_3EV5   0x0200
 
#define ESCO_PKT_MASK
 
#define SCO_PKT_MASK
 
#define EDR_ESCO_PKT_MASK
 
#define BT_HCI_SCO   0x00
 
#define BT_HCI_ACL   0x01
 
#define BT_HCI_ESCO   0x02
 
#define BT_OGF_LINK_CTRL   0x01
 
#define BT_OGF_BASEBAND   0x03
 
#define BT_OGF_INFO   0x04
 
#define BT_OGF_STATUS   0x05
 
#define BT_OGF_LE   0x08
 
#define BT_OGF_VS   0x3f
 
#define BT_OP(ogf, ocf)   ((ocf) | ((ogf) << 10))
 
#define BT_OP_NOP   0x0000
 
#define BT_OGF(opcode)   (((opcode) >> 10) & BIT_MASK(6))
 
#define BT_OCF(opcode)   ((opcode) & BIT_MASK(10))
 
#define BT_HCI_OP_INQUIRY   BT_OP(BT_OGF_LINK_CTRL, 0x0001)
 
#define BT_HCI_OP_INQUIRY_CANCEL   BT_OP(BT_OGF_LINK_CTRL, 0x0002)
 
#define BT_HCI_OP_CONNECT   BT_OP(BT_OGF_LINK_CTRL, 0x0005)
 
#define BT_HCI_OP_DISCONNECT   BT_OP(BT_OGF_LINK_CTRL, 0x0006)
 
#define BT_HCI_OP_CONNECT_CANCEL   BT_OP(BT_OGF_LINK_CTRL, 0x0008)
 
#define BT_HCI_OP_ACCEPT_CONN_REQ   BT_OP(BT_OGF_LINK_CTRL, 0x0009)
 
#define BT_HCI_OP_SETUP_SYNC_CONN   BT_OP(BT_OGF_LINK_CTRL, 0x0028)
 
#define BT_HCI_OP_ACCEPT_SYNC_CONN_REQ   BT_OP(BT_OGF_LINK_CTRL, 0x0029)
 
#define BT_HCI_OP_REJECT_CONN_REQ   BT_OP(BT_OGF_LINK_CTRL, 0x000a)
 
#define BT_HCI_OP_LINK_KEY_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x000b)
 
#define BT_HCI_OP_LINK_KEY_NEG_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x000c)
 
#define BT_HCI_OP_PIN_CODE_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x000d)
 
#define BT_HCI_OP_PIN_CODE_NEG_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x000e)
 
#define BT_HCI_OP_AUTH_REQUESTED   BT_OP(BT_OGF_LINK_CTRL, 0x0011)
 
#define BT_HCI_OP_SET_CONN_ENCRYPT   BT_OP(BT_OGF_LINK_CTRL, 0x0013)
 
#define BT_HCI_OP_REMOTE_NAME_REQUEST   BT_OP(BT_OGF_LINK_CTRL, 0x0019)
 
#define BT_HCI_OP_REMOTE_NAME_CANCEL   BT_OP(BT_OGF_LINK_CTRL, 0x001a)
 
#define BT_HCI_OP_READ_REMOTE_FEATURES   BT_OP(BT_OGF_LINK_CTRL, 0x001b)
 
#define BT_HCI_OP_READ_REMOTE_EXT_FEATURES   BT_OP(BT_OGF_LINK_CTRL, 0x001c)
 
#define BT_HCI_OP_READ_REMOTE_VERSION_INFO   BT_OP(BT_OGF_LINK_CTRL, 0x001d)
 
#define BT_HCI_OP_IO_CAPABILITY_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x002b)
 
#define BT_HCI_OP_USER_CONFIRM_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x002c)
 
#define BT_HCI_OP_USER_CONFIRM_NEG_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x002d)
 
#define BT_HCI_OP_USER_PASSKEY_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x002e)
 
#define BT_HCI_OP_USER_PASSKEY_NEG_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x002f)
 
#define BT_HCI_OP_IO_CAPABILITY_NEG_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x0034)
 
#define BT_HCI_OP_SET_EVENT_MASK   BT_OP(BT_OGF_BASEBAND, 0x0001)
 
#define BT_HCI_OP_RESET   BT_OP(BT_OGF_BASEBAND, 0x0003)
 
#define BT_HCI_OP_WRITE_LOCAL_NAME   BT_OP(BT_OGF_BASEBAND, 0x0013)
 
#define BT_HCI_OP_WRITE_PAGE_TIMEOUT   BT_OP(BT_OGF_BASEBAND, 0x0018)
 
#define BT_HCI_OP_WRITE_SCAN_ENABLE   BT_OP(BT_OGF_BASEBAND, 0x001a)
 
#define BT_BREDR_SCAN_DISABLED   0x00
 
#define BT_BREDR_SCAN_INQUIRY   0x01
 
#define BT_BREDR_SCAN_PAGE   0x02
 
#define BT_HCI_OP_WRITE_CLASS_OF_DEVICE   BT_OP(BT_OGF_BASEBAND, 0x0024)
 
#define BT_TX_POWER_LEVEL_CURRENT   0x00
 
#define BT_TX_POWER_LEVEL_MAX   0x01
 
#define BT_HCI_OP_READ_TX_POWER_LEVEL   BT_OP(BT_OGF_BASEBAND, 0x002d)
 
#define BT_HCI_CTL_TO_HOST_FLOW_DISABLE   0x00
 
#define BT_HCI_CTL_TO_HOST_FLOW_ENABLE   0x01
 
#define BT_HCI_OP_SET_CTL_TO_HOST_FLOW   BT_OP(BT_OGF_BASEBAND, 0x0031)
 
#define BT_HCI_OP_HOST_BUFFER_SIZE   BT_OP(BT_OGF_BASEBAND, 0x0033)
 
#define BT_HCI_OP_HOST_NUM_COMPLETED_PACKETS   BT_OP(BT_OGF_BASEBAND, 0x0035)
 
#define BT_HCI_OP_WRITE_INQUIRY_MODE   BT_OP(BT_OGF_BASEBAND, 0x0045)
 
#define BT_HCI_OP_WRITE_SSP_MODE   BT_OP(BT_OGF_BASEBAND, 0x0056)
 
#define BT_HCI_OP_SET_EVENT_MASK_PAGE_2   BT_OP(BT_OGF_BASEBAND, 0x0063)
 
#define BT_HCI_OP_LE_WRITE_LE_HOST_SUPP   BT_OP(BT_OGF_BASEBAND, 0x006d)
 
#define BT_HCI_OP_WRITE_SC_HOST_SUPP   BT_OP(BT_OGF_BASEBAND, 0x007a)
 
#define BT_HCI_OP_READ_AUTH_PAYLOAD_TIMEOUT   BT_OP(BT_OGF_BASEBAND, 0x007b)
 
#define BT_HCI_OP_WRITE_AUTH_PAYLOAD_TIMEOUT   BT_OP(BT_OGF_BASEBAND, 0x007c)
 
#define BT_HCI_OP_CONFIGURE_DATA_PATH   BT_OP(BT_OGF_BASEBAND, 0x0083)
 
#define BT_HCI_VERSION_1_0B   0
 
#define BT_HCI_VERSION_1_1   1
 
#define BT_HCI_VERSION_1_2   2
 
#define BT_HCI_VERSION_2_0   3
 
#define BT_HCI_VERSION_2_1   4
 
#define BT_HCI_VERSION_3_0   5
 
#define BT_HCI_VERSION_4_0   6
 
#define BT_HCI_VERSION_4_1   7
 
#define BT_HCI_VERSION_4_2   8
 
#define BT_HCI_VERSION_5_0   9
 
#define BT_HCI_VERSION_5_1   10
 
#define BT_HCI_VERSION_5_2   11
 
#define BT_HCI_VERSION_5_3   12
 
#define BT_HCI_OP_READ_LOCAL_VERSION_INFO   BT_OP(BT_OGF_INFO, 0x0001)
 
#define BT_HCI_OP_READ_SUPPORTED_COMMANDS   BT_OP(BT_OGF_INFO, 0x0002)
 
#define BT_HCI_OP_READ_LOCAL_EXT_FEATURES   BT_OP(BT_OGF_INFO, 0x0004)
 
#define BT_HCI_OP_READ_LOCAL_FEATURES   BT_OP(BT_OGF_INFO, 0x0003)
 
#define BT_HCI_OP_READ_BUFFER_SIZE   BT_OP(BT_OGF_INFO, 0x0005)
 
#define BT_HCI_OP_READ_BD_ADDR   BT_OP(BT_OGF_INFO, 0x0009)
 
#define BT_HCI_CODEC_TRANSPORT_MASK_BREDR_ACL   BIT(0)
 
#define BT_HCI_CODEC_TRANSPORT_MASK_BREDR_SCO   BIT(1)
 
#define BT_HCI_CODEC_TRANSPORT_MASK_LE_CIS   BIT(2)
 
#define BT_HCI_CODEC_TRANSPORT_MASK_LE_BIS   BIT(3)
 
#define BT_HCI_LOGICAL_TRANSPORT_TYPE_BREDR_ACL   0x00
 
#define BT_HCI_LOGICAL_TRANSPORT_TYPE_BREDR_SCO   0x01
 
#define BT_HCI_LOGICAL_TRANSPORT_TYPE_LE_CIS   0x02
 
#define BT_HCI_LOGICAL_TRANSPORT_TYPE_LE_BIS   0x03
 
#define BT_HCI_DATAPATH_DIR_HOST_TO_CTLR   0x00
 
#define BT_HCI_DATAPATH_DIR_CTLR_TO_HOST   0x01
 
#define BT_HCI_DATAPATH_ID_HCI   0x00
 
#define BT_HCI_DATAPATH_ID_VS   0x01
 
#define BT_HCI_DATAPATH_ID_VS_END   0xfe
 
#define BT_HCI_DATAPATH_ID_DISABLED   0xff
 
#define BT_HCI_CODING_FORMAT_ULAW_LOG   0x00
 
#define BT_HCI_CODING_FORMAT_ALAW_LOG   0x01
 
#define BT_HCI_CODING_FORMAT_CVSD   0x02
 
#define BT_HCI_CODING_FORMAT_TRANSPARENT   0x03
 
#define BT_HCI_CODING_FORMAT_LINEAR_PCM   0x04
 
#define BT_HCI_CODING_FORMAT_MSBC   0x05
 
#define BT_HCI_CODING_FORMAT_VS   0xFF
 
#define BT_HCI_OP_READ_CODECS   BT_OP(BT_OGF_INFO, 0x000b)
 
#define BT_HCI_OP_READ_CODECS_V2   BT_OP(BT_OGF_INFO, 0x000d)
 
#define BT_HCI_OP_READ_CODEC_CAPABILITIES   BT_OP(BT_OGF_INFO, 0x000e)
 
#define BT_HCI_OP_READ_CTLR_DELAY   BT_OP(BT_OGF_INFO, 0x000f)
 
#define BT_HCI_OP_READ_RSSI   BT_OP(BT_OGF_STATUS, 0x0005)
 
#define BT_HCI_ENCRYPTION_KEY_SIZE_MIN   7
 
#define BT_HCI_ENCRYPTION_KEY_SIZE_MAX   16
 
#define BT_HCI_OP_READ_ENCRYPTION_KEY_SIZE   BT_OP(BT_OGF_STATUS, 0x0008)
 
#define BT_HCI_OP_LE_SET_EVENT_MASK   BT_OP(BT_OGF_LE, 0x0001)
 
#define BT_HCI_OP_LE_READ_BUFFER_SIZE   BT_OP(BT_OGF_LE, 0x0002)
 
#define BT_HCI_OP_LE_READ_LOCAL_FEATURES   BT_OP(BT_OGF_LE, 0x0003)
 
#define BT_HCI_OP_LE_SET_RANDOM_ADDRESS   BT_OP(BT_OGF_LE, 0x0005)
 
#define BT_HCI_ADV_IND   0x00
 
#define BT_HCI_ADV_DIRECT_IND   0x01
 
#define BT_HCI_ADV_SCAN_IND   0x02
 
#define BT_HCI_ADV_NONCONN_IND   0x03
 
#define BT_HCI_ADV_DIRECT_IND_LOW_DUTY   0x04
 
#define BT_HCI_ADV_SCAN_RSP   0x04
 
#define BT_LE_ADV_INTERVAL_MIN   0x0020
 
#define BT_LE_ADV_INTERVAL_MAX   0x4000
 
#define BT_LE_ADV_INTERVAL_DEFAULT   0x0800
 
#define BT_LE_ADV_CHAN_MAP_CHAN_37   0x01
 
#define BT_LE_ADV_CHAN_MAP_CHAN_38   0x02
 
#define BT_LE_ADV_CHAN_MAP_CHAN_39   0x04
 
#define BT_LE_ADV_CHAN_MAP_ALL   0x07
 
#define BT_LE_ADV_FP_NO_FILTER   0x00
 
#define BT_LE_ADV_FP_FILTER_SCAN_REQ   0x01
 
#define BT_LE_ADV_FP_FILTER_CONN_IND   0x02
 
#define BT_LE_ADV_FP_FILTER_BOTH   0x03
 
#define BT_HCI_OP_LE_SET_ADV_PARAM   BT_OP(BT_OGF_LE, 0x0006)
 
#define BT_HCI_OP_LE_READ_ADV_CHAN_TX_POWER   BT_OP(BT_OGF_LE, 0x0007)
 
#define BT_HCI_OP_LE_SET_ADV_DATA   BT_OP(BT_OGF_LE, 0x0008)
 
#define BT_HCI_OP_LE_SET_SCAN_RSP_DATA   BT_OP(BT_OGF_LE, 0x0009)
 
#define BT_HCI_LE_ADV_DISABLE   0x00
 
#define BT_HCI_LE_ADV_ENABLE   0x01
 
#define BT_HCI_OP_LE_SET_ADV_ENABLE   BT_OP(BT_OGF_LE, 0x000a)
 
#define BT_HCI_OP_LE_SET_SCAN_PARAM   BT_OP(BT_OGF_LE, 0x000b)
 
#define BT_HCI_LE_SCAN_PASSIVE   0x00
 
#define BT_HCI_LE_SCAN_ACTIVE   0x01
 
#define BT_HCI_LE_SCAN_FP_BASIC_NO_FILTER   0x00
 
#define BT_HCI_LE_SCAN_FP_BASIC_FILTER   0x01
 
#define BT_HCI_LE_SCAN_FP_EXT_NO_FILTER   0x02
 
#define BT_HCI_LE_SCAN_FP_EXT_FILTER   0x03
 
#define BT_HCI_OP_LE_SET_SCAN_ENABLE   BT_OP(BT_OGF_LE, 0x000c)
 
#define BT_HCI_LE_SCAN_DISABLE   0x00
 
#define BT_HCI_LE_SCAN_ENABLE   0x01
 
#define BT_HCI_LE_SCAN_FILTER_DUP_DISABLE   0x00
 
#define BT_HCI_LE_SCAN_FILTER_DUP_ENABLE   0x01
 
#define BT_HCI_OP_LE_CREATE_CONN   BT_OP(BT_OGF_LE, 0x000d)
 
#define BT_HCI_LE_CREATE_CONN_FP_NO_FILTER   0x00
 
#define BT_HCI_LE_CREATE_CONN_FP_FILTER   0x01
 
#define BT_HCI_OP_LE_CREATE_CONN_CANCEL   BT_OP(BT_OGF_LE, 0x000e)
 
#define BT_HCI_OP_LE_READ_FAL_SIZE   BT_OP(BT_OGF_LE, 0x000f)
 
#define BT_HCI_OP_LE_CLEAR_FAL   BT_OP(BT_OGF_LE, 0x0010)
 
#define BT_HCI_OP_LE_ADD_DEV_TO_FAL   BT_OP(BT_OGF_LE, 0x0011)
 
#define BT_HCI_OP_LE_REM_DEV_FROM_FAL   BT_OP(BT_OGF_LE, 0x0012)
 
#define BT_HCI_OP_LE_CONN_UPDATE   BT_OP(BT_OGF_LE, 0x0013)
 
#define BT_HCI_OP_LE_SET_HOST_CHAN_CLASSIF   BT_OP(BT_OGF_LE, 0x0014)
 
#define BT_HCI_OP_LE_READ_CHAN_MAP   BT_OP(BT_OGF_LE, 0x0015)
 
#define BT_HCI_OP_LE_READ_REMOTE_FEATURES   BT_OP(BT_OGF_LE, 0x0016)
 
#define BT_HCI_OP_LE_ENCRYPT   BT_OP(BT_OGF_LE, 0x0017)
 
#define BT_HCI_OP_LE_RAND   BT_OP(BT_OGF_LE, 0x0018)
 
#define BT_HCI_OP_LE_START_ENCRYPTION   BT_OP(BT_OGF_LE, 0x0019)
 
#define BT_HCI_OP_LE_LTK_REQ_REPLY   BT_OP(BT_OGF_LE, 0x001a)
 
#define BT_HCI_OP_LE_LTK_REQ_NEG_REPLY   BT_OP(BT_OGF_LE, 0x001b)
 
#define BT_HCI_OP_LE_READ_SUPP_STATES   BT_OP(BT_OGF_LE, 0x001c)
 
#define BT_HCI_OP_LE_RX_TEST   BT_OP(BT_OGF_LE, 0x001d)
 
#define BT_HCI_OP_LE_TX_TEST   BT_OP(BT_OGF_LE, 0x001e)
 
#define BT_HCI_OP_LE_TEST_END   BT_OP(BT_OGF_LE, 0x001f)
 
#define BT_HCI_OP_LE_CONN_PARAM_REQ_REPLY   BT_OP(BT_OGF_LE, 0x0020)
 
#define BT_HCI_OP_LE_CONN_PARAM_REQ_NEG_REPLY   BT_OP(BT_OGF_LE, 0x0021)
 
#define BT_HCI_OP_LE_SET_DATA_LEN   BT_OP(BT_OGF_LE, 0x0022)
 
#define BT_HCI_OP_LE_READ_DEFAULT_DATA_LEN   BT_OP(BT_OGF_LE, 0x0023)
 
#define BT_HCI_OP_LE_WRITE_DEFAULT_DATA_LEN   BT_OP(BT_OGF_LE, 0x0024)
 
#define BT_HCI_OP_LE_P256_PUBLIC_KEY   BT_OP(BT_OGF_LE, 0x0025)
 
#define BT_HCI_OP_LE_GENERATE_DHKEY   BT_OP(BT_OGF_LE, 0x0026)
 
#define BT_HCI_OP_LE_GENERATE_DHKEY_V2   BT_OP(BT_OGF_LE, 0x005e)
 
#define BT_HCI_LE_KEY_TYPE_GENERATED   0x00
 
#define BT_HCI_LE_KEY_TYPE_DEBUG   0x01
 
#define BT_HCI_OP_LE_ADD_DEV_TO_RL   BT_OP(BT_OGF_LE, 0x0027)
 
#define BT_HCI_OP_LE_REM_DEV_FROM_RL   BT_OP(BT_OGF_LE, 0x0028)
 
#define BT_HCI_OP_LE_CLEAR_RL   BT_OP(BT_OGF_LE, 0x0029)
 
#define BT_HCI_OP_LE_READ_RL_SIZE   BT_OP(BT_OGF_LE, 0x002a)
 
#define BT_HCI_OP_LE_READ_PEER_RPA   BT_OP(BT_OGF_LE, 0x002b)
 
#define BT_HCI_OP_LE_READ_LOCAL_RPA   BT_OP(BT_OGF_LE, 0x002c)
 
#define BT_HCI_ADDR_RES_DISABLE   0x00
 
#define BT_HCI_ADDR_RES_ENABLE   0x01
 
#define BT_HCI_OP_LE_SET_ADDR_RES_ENABLE   BT_OP(BT_OGF_LE, 0x002d)
 
#define BT_HCI_OP_LE_SET_RPA_TIMEOUT   BT_OP(BT_OGF_LE, 0x002e)
 
#define BT_HCI_OP_LE_READ_MAX_DATA_LEN   BT_OP(BT_OGF_LE, 0x002f)
 
#define BT_HCI_LE_PHY_1M   0x01
 
#define BT_HCI_LE_PHY_2M   0x02
 
#define BT_HCI_LE_PHY_CODED   0x03
 
#define BT_HCI_OP_LE_READ_PHY   BT_OP(BT_OGF_LE, 0x0030)
 
#define BT_HCI_LE_PHY_TX_ANY   BIT(0)
 
#define BT_HCI_LE_PHY_RX_ANY   BIT(1)
 
#define BT_HCI_LE_PHY_PREFER_1M   BIT(0)
 
#define BT_HCI_LE_PHY_PREFER_2M   BIT(1)
 
#define BT_HCI_LE_PHY_PREFER_CODED   BIT(2)
 
#define BT_HCI_OP_LE_SET_DEFAULT_PHY   BT_OP(BT_OGF_LE, 0x0031)
 
#define BT_HCI_LE_PHY_CODED_ANY   0x00
 
#define BT_HCI_LE_PHY_CODED_S2   0x01
 
#define BT_HCI_LE_PHY_CODED_S8   0x02
 
#define BT_HCI_OP_LE_SET_PHY   BT_OP(BT_OGF_LE, 0x0032)
 
#define BT_HCI_LE_MOD_INDEX_STANDARD   0x00
 
#define BT_HCI_LE_MOD_INDEX_STABLE   0x01
 
#define BT_HCI_OP_LE_ENH_RX_TEST   BT_OP(BT_OGF_LE, 0x0033)
 
#define BT_HCI_LE_TX_PHY_CODED_S8   0x03
 
#define BT_HCI_LE_TX_PHY_CODED_S2   0x04
 
#define BT_HCI_OP_LE_ENH_TX_TEST   BT_OP(BT_OGF_LE, 0x0034)
 
#define BT_HCI_OP_LE_SET_ADV_SET_RANDOM_ADDR   BT_OP(BT_OGF_LE, 0x0035)
 
#define BT_HCI_LE_ADV_PROP_CONN   BIT(0)
 
#define BT_HCI_LE_ADV_PROP_SCAN   BIT(1)
 
#define BT_HCI_LE_ADV_PROP_DIRECT   BIT(2)
 
#define BT_HCI_LE_ADV_PROP_HI_DC_CONN   BIT(3)
 
#define BT_HCI_LE_ADV_PROP_LEGACY   BIT(4)
 
#define BT_HCI_LE_ADV_PROP_ANON   BIT(5)
 
#define BT_HCI_LE_ADV_PROP_TX_POWER   BIT(6)
 
#define BT_HCI_LE_ADV_SCAN_REQ_ENABLE   1
 
#define BT_HCI_LE_ADV_SCAN_REQ_DISABLE   0
 
#define BT_HCI_LE_ADV_TX_POWER_NO_PREF   0x7F
 
#define BT_HCI_LE_ADV_HANDLE_MAX   0xEF
 
#define BT_HCI_LE_EXT_ADV_SID_INVALID   0xFF
 
#define BT_HCI_OP_LE_SET_EXT_ADV_PARAM   BT_OP(BT_OGF_LE, 0x0036)
 
#define BT_HCI_LE_EXT_ADV_OP_INTERM_FRAG   0x00
 
#define BT_HCI_LE_EXT_ADV_OP_FIRST_FRAG   0x01
 
#define BT_HCI_LE_EXT_ADV_OP_LAST_FRAG   0x02
 
#define BT_HCI_LE_EXT_ADV_OP_COMPLETE_DATA   0x03
 
#define BT_HCI_LE_EXT_ADV_OP_UNCHANGED_DATA   0x04
 
#define BT_HCI_LE_EXT_ADV_FRAG_ENABLED   0x00
 
#define BT_HCI_LE_EXT_ADV_FRAG_DISABLED   0x01
 
#define BT_HCI_LE_EXT_ADV_FRAG_MAX_LEN   251
 
#define BT_HCI_OP_LE_SET_EXT_ADV_DATA   BT_OP(BT_OGF_LE, 0x0037)
 
#define BT_HCI_OP_LE_SET_EXT_SCAN_RSP_DATA   BT_OP(BT_OGF_LE, 0x0038)
 
#define BT_HCI_OP_LE_SET_EXT_ADV_ENABLE   BT_OP(BT_OGF_LE, 0x0039)
 
#define BT_HCI_OP_LE_READ_MAX_ADV_DATA_LEN   BT_OP(BT_OGF_LE, 0x003a)
 
#define BT_HCI_OP_LE_READ_NUM_ADV_SETS   BT_OP(BT_OGF_LE, 0x003b)
 
#define BT_HCI_OP_LE_REMOVE_ADV_SET   BT_OP(BT_OGF_LE, 0x003c)
 
#define BT_HCI_OP_CLEAR_ADV_SETS   BT_OP(BT_OGF_LE, 0x003d)
 
#define BT_HCI_OP_LE_SET_PER_ADV_PARAM   BT_OP(BT_OGF_LE, 0x003e)
 
#define BT_HCI_LE_PER_ADV_OP_INTERM_FRAG   0x00
 
#define BT_HCI_LE_PER_ADV_OP_FIRST_FRAG   0x01
 
#define BT_HCI_LE_PER_ADV_OP_LAST_FRAG   0x02
 
#define BT_HCI_LE_PER_ADV_OP_COMPLETE_DATA   0x03
 
#define BT_HCI_LE_PER_ADV_FRAG_MAX_LEN   252
 
#define BT_HCI_OP_LE_SET_PER_ADV_DATA   BT_OP(BT_OGF_LE, 0x003f)
 
#define BT_HCI_OP_LE_SET_PER_ADV_ENABLE   BT_OP(BT_OGF_LE, 0x0040)
 
#define BT_HCI_OP_LE_SET_EXT_SCAN_PARAM   BT_OP(BT_OGF_LE, 0x0041)
 
#define BT_HCI_LE_EXT_SCAN_PHY_1M   BIT(0)
 
#define BT_HCI_LE_EXT_SCAN_PHY_2M   BIT(1)
 
#define BT_HCI_LE_EXT_SCAN_PHY_CODED   BIT(2)
 
#define BT_HCI_LE_EXT_SCAN_FILTER_DUP_ENABLE_RESET   0x02
 
#define BT_HCI_OP_LE_SET_EXT_SCAN_ENABLE   BT_OP(BT_OGF_LE, 0x0042)
 
#define BT_HCI_OP_LE_EXT_CREATE_CONN   BT_OP(BT_OGF_LE, 0x0043)
 
#define BT_HCI_LE_PER_ADV_CREATE_SYNC_FP_USE_LIST   BIT(0)
 
#define BT_HCI_LE_PER_ADV_CREATE_SYNC_FP_REPORTS_DISABLED   BIT(1)
 
#define BT_HCI_LE_PER_ADV_CREATE_SYNC_CTE_TYPE_NO_AOA   BIT(0)
 
#define BT_HCI_LE_PER_ADV_CREATE_SYNC_CTE_TYPE_NO_AOD_1US   BIT(1)
 
#define BT_HCI_LE_PER_ADV_CREATE_SYNC_CTE_TYPE_NO_AOD_2US   BIT(2)
 
#define BT_HCI_LE_PER_ADV_CREATE_SYNC_CTE_TYPE_NO_CTE   BIT(3)
 
#define BT_HCI_LE_PER_ADV_CREATE_SYNC_CTE_TYPE_ONLY_CTE   BIT(4)
 
#define BT_HCI_OP_LE_PER_ADV_CREATE_SYNC   BT_OP(BT_OGF_LE, 0x0044)
 
#define BT_HCI_OP_LE_PER_ADV_CREATE_SYNC_CANCEL   BT_OP(BT_OGF_LE, 0x0045)
 
#define BT_HCI_OP_LE_PER_ADV_TERMINATE_SYNC   BT_OP(BT_OGF_LE, 0x0046)
 
#define BT_HCI_OP_LE_ADD_DEV_TO_PER_ADV_LIST   BT_OP(BT_OGF_LE, 0x0047)
 
#define BT_HCI_OP_LE_REM_DEV_FROM_PER_ADV_LIST   BT_OP(BT_OGF_LE, 0x0048)
 
#define BT_HCI_OP_LE_CLEAR_PER_ADV_LIST   BT_OP(BT_OGF_LE, 0x0049)
 
#define BT_HCI_OP_LE_READ_PER_ADV_LIST_SIZE   BT_OP(BT_OGF_LE, 0x004a)
 
#define BT_HCI_OP_LE_READ_TX_POWER   BT_OP(BT_OGF_LE, 0x004b)
 
#define BT_HCI_OP_LE_READ_RF_PATH_COMP   BT_OP(BT_OGF_LE, 0x004c)
 
#define BT_HCI_OP_LE_WRITE_RF_PATH_COMP   BT_OP(BT_OGF_LE, 0x004d)
 
#define BT_HCI_LE_PRIVACY_MODE_NETWORK   0x00
 
#define BT_HCI_LE_PRIVACY_MODE_DEVICE   0x01
 
#define BT_HCI_OP_LE_SET_PRIVACY_MODE   BT_OP(BT_OGF_LE, 0x004e)
 
#define BT_HCI_LE_CTE_LEN_MIN   0x2
 
#define BT_HCI_LE_CTE_LEN_MAX   0x14
 
#define BT_HCI_LE_AOA_CTE   0x0
 
#define BT_HCI_LE_AOD_CTE_1US   0x1
 
#define BT_HCI_LE_AOD_CTE_2US   0x2
 
#define BT_HCI_LE_NO_CTE   0xFF
 
#define BT_HCI_LE_CTE_COUNT_MIN   0x1
 
#define BT_HCI_LE_CTE_COUNT_MAX   0x10
 
#define BT_HCI_OP_LE_SET_CL_CTE_TX_PARAMS   BT_OP(BT_OGF_LE, 0x0051)
 
#define BT_HCI_OP_LE_SET_CL_CTE_TX_ENABLE   BT_OP(BT_OGF_LE, 0x0052)
 
#define BT_HCI_LE_ANTENNA_SWITCHING_SLOT_1US   0x1
 
#define BT_HCI_LE_ANTENNA_SWITCHING_SLOT_2US   0x2
 
#define BT_HCI_LE_SAMPLE_CTE_ALL   0x0
 
#define BT_HCI_LE_SAMPLE_CTE_COUNT_MIN   0x1
 
#define BT_HCI_LE_SAMPLE_CTE_COUNT_MAX   0x10
 
#define BT_HCI_OP_LE_SET_CL_CTE_SAMPLING_ENABLE   BT_OP(BT_OGF_LE, 0x0053)
 
#define BT_HCI_OP_LE_SET_CONN_CTE_RX_PARAMS   BT_OP(BT_OGF_LE, 0x0054)
 
#define BT_HCI_LE_AOA_CTE_RSP   BIT(0)
 
#define BT_HCI_LE_AOD_CTE_RSP_1US   BIT(1)
 
#define BT_HCI_LE_AOD_CTE_RSP_2US   BIT(2)
 
#define BT_HCI_LE_SWITCH_PATTERN_LEN_MIN   0x2
 
#define BT_HCI_LE_SWITCH_PATTERN_LEN_MAX   0x4B
 
#define BT_HCI_OP_LE_SET_CONN_CTE_TX_PARAMS   BT_OP(BT_OGF_LE, 0x0055)
 
#define BT_HCI_REQUEST_CTE_ONCE   0x0
 
#define BT_HCI_REQUEST_CTE_INTERVAL_MIN   0x1
 
#define BT_HCI_REQUEST_CTE_INTERVAL_MAX   0xFFFF
 
#define BT_HCI_OP_LE_CONN_CTE_REQ_ENABLE   BT_OP(BT_OGF_LE, 0x0056)
 
#define BT_HCI_OP_LE_CONN_CTE_RSP_ENABLE   BT_OP(BT_OGF_LE, 0x0057)
 
#define BT_HCI_LE_1US_AOD_TX   BIT(0)
 
#define BT_HCI_LE_1US_AOD_RX   BIT(1)
 
#define BT_HCI_LE_1US_AOA_RX   BIT(2)
 
#define BT_HCI_LE_NUM_ANT_MIN   0x1
 
#define BT_HCI_LE_NUM_ANT_MAX   0x4B
 
#define BT_HCI_LE_MAX_SWITCH_PATTERN_LEN_MIN   0x2
 
#define BT_HCI_LE_MAX_SWITCH_PATTERN_LEN_MAX   0x4B
 
#define BT_HCI_LE_MAX_CTE_LEN_MIN   0x2
 
#define BT_HCI_LE_MAX_CTE_LEN_MAX   0x14
 
#define BT_HCI_OP_LE_READ_ANT_INFO   BT_OP(BT_OGF_LE, 0x0058)
 
#define BT_HCI_OP_LE_SET_PER_ADV_RECV_ENABLE   BT_OP(BT_OGF_LE, 0x0059)
 
#define BT_HCI_OP_LE_PER_ADV_SYNC_TRANSFER   BT_OP(BT_OGF_LE, 0x005a)
 
#define BT_HCI_OP_LE_PER_ADV_SET_INFO_TRANSFER   BT_OP(BT_OGF_LE, 0x005b)
 
#define BT_HCI_LE_PAST_MODE_NO_SYNC   0x00
 
#define BT_HCI_LE_PAST_MODE_NO_REPORTS   0x01
 
#define BT_HCI_LE_PAST_MODE_SYNC   0x02
 
#define BT_HCI_LE_PAST_CTE_TYPE_NO_AOA   BIT(0)
 
#define BT_HCI_LE_PAST_CTE_TYPE_NO_AOD_1US   BIT(1)
 
#define BT_HCI_LE_PAST_CTE_TYPE_NO_AOD_2US   BIT(2)
 
#define BT_HCI_LE_PAST_CTE_TYPE_NO_CTE   BIT(3)
 
#define BT_HCI_LE_PAST_CTE_TYPE_ONLY_CTE   BIT(4)
 
#define BT_HCI_OP_LE_PAST_PARAM   BT_OP(BT_OGF_LE, 0x005c)
 
#define BT_HCI_OP_LE_DEFAULT_PAST_PARAM   BT_OP(BT_OGF_LE, 0x005d)
 
#define BT_HCI_OP_LE_READ_BUFFER_SIZE_V2   BT_OP(BT_OGF_LE, 0x0060)
 
#define BT_HCI_OP_LE_READ_ISO_TX_SYNC   BT_OP(BT_OGF_LE, 0x0061)
 
#define BT_HCI_OP_LE_SET_CIG_PARAMS   BT_OP(BT_OGF_LE, 0x0062)
 
#define BT_HCI_OP_LE_SET_CIG_PARAMS_TEST   BT_OP(BT_OGF_LE, 0x0063)
 
#define BT_HCI_OP_LE_CREATE_CIS   BT_OP(BT_OGF_LE, 0x0064)
 
#define BT_HCI_OP_LE_REMOVE_CIG   BT_OP(BT_OGF_LE, 0x0065)
 
#define BT_HCI_OP_LE_ACCEPT_CIS   BT_OP(BT_OGF_LE, 0x0066)
 
#define BT_HCI_OP_LE_REJECT_CIS   BT_OP(BT_OGF_LE, 0x0067)
 
#define BT_HCI_OP_LE_CREATE_BIG   BT_OP(BT_OGF_LE, 0x0068)
 
#define BT_HCI_OP_LE_CREATE_BIG_TEST   BT_OP(BT_OGF_LE, 0x0069)
 
#define BT_HCI_OP_LE_TERMINATE_BIG   BT_OP(BT_OGF_LE, 0x006a)
 
#define BT_HCI_OP_LE_BIG_CREATE_SYNC   BT_OP(BT_OGF_LE, 0x006b)
 
#define BT_HCI_OP_LE_BIG_TERMINATE_SYNC   BT_OP(BT_OGF_LE, 0x006c)
 
#define BT_HCI_OP_LE_REQ_PEER_SC   BT_OP(BT_OGF_LE, 0x006d)
 
#define BT_HCI_OP_LE_SETUP_ISO_PATH   BT_OP(BT_OGF_LE, 0x006e)
 
#define BT_HCI_OP_LE_REMOVE_ISO_PATH   BT_OP(BT_OGF_LE, 0x006f)
 
#define BT_HCI_OP_LE_ISO_TRANSMIT_TEST   BT_OP(BT_OGF_LE, 0x0070)
 
#define BT_HCI_OP_LE_ISO_RECEIVE_TEST   BT_OP(BT_OGF_LE, 0x0071)
 
#define BT_HCI_OP_LE_ISO_READ_TEST_COUNTERS   BT_OP(BT_OGF_LE, 0x0072)
 
#define BT_HCI_OP_LE_ISO_TEST_END   BT_OP(BT_OGF_LE, 0x0073)
 
#define BT_HCI_OP_LE_SET_HOST_FEATURE   BT_OP(BT_OGF_LE, 0x0074)
 
#define BT_HCI_OP_LE_READ_ISO_LINK_QUALITY   BT_OP(BT_OGF_LE, 0x0075)
 
#define BT_HCI_EVT_UNKNOWN   0x00
 
#define BT_HCI_EVT_VENDOR   0xff
 
#define BT_HCI_EVT_INQUIRY_COMPLETE   0x01
 
#define BT_HCI_EVT_CONN_COMPLETE   0x03
 
#define BT_HCI_EVT_CONN_REQUEST   0x04
 
#define BT_HCI_EVT_DISCONN_COMPLETE   0x05
 
#define BT_HCI_EVT_AUTH_COMPLETE   0x06
 
#define BT_HCI_EVT_REMOTE_NAME_REQ_COMPLETE   0x07
 
#define BT_HCI_EVT_ENCRYPT_CHANGE   0x08
 
#define BT_HCI_EVT_REMOTE_FEATURES   0x0b
 
#define BT_HCI_EVT_REMOTE_VERSION_INFO   0x0c
 
#define BT_HCI_EVT_CMD_COMPLETE   0x0e
 
#define BT_HCI_EVT_CMD_STATUS   0x0f
 
#define BT_HCI_EVT_HARDWARE_ERROR   0x10
 
#define BT_HCI_EVT_ROLE_CHANGE   0x12
 
#define BT_HCI_EVT_NUM_COMPLETED_PACKETS   0x13
 
#define BT_HCI_EVT_PIN_CODE_REQ   0x16
 
#define BT_HCI_EVT_LINK_KEY_REQ   0x17
 
#define BT_LK_COMBINATION   0x00
 
#define BT_LK_LOCAL_UNIT   0x01
 
#define BT_LK_REMOTE_UNIT   0x02
 
#define BT_LK_DEBUG_COMBINATION   0x03
 
#define BT_LK_UNAUTH_COMBINATION_P192   0x04
 
#define BT_LK_AUTH_COMBINATION_P192   0x05
 
#define BT_LK_CHANGED_COMBINATION   0x06
 
#define BT_LK_UNAUTH_COMBINATION_P256   0x07
 
#define BT_LK_AUTH_COMBINATION_P256   0x08
 
#define BT_HCI_EVT_LINK_KEY_NOTIFY   0x18
 
#define BT_OVERFLOW_LINK_SYNCH   0x00
 
#define BT_OVERFLOW_LINK_ACL   0x01
 
#define BT_HCI_EVT_DATA_BUF_OVERFLOW   0x1a
 
#define BT_HCI_EVT_INQUIRY_RESULT_WITH_RSSI   0x22
 
#define BT_HCI_EVT_REMOTE_EXT_FEATURES   0x23
 
#define BT_HCI_EVT_SYNC_CONN_COMPLETE   0x2c
 
#define BT_HCI_EVT_EXTENDED_INQUIRY_RESULT   0x2f
 
#define BT_HCI_EVT_ENCRYPT_KEY_REFRESH_COMPLETE   0x30
 
#define BT_HCI_EVT_IO_CAPA_REQ   0x31
 
#define BT_HCI_EVT_IO_CAPA_RESP   0x32
 
#define BT_HCI_EVT_USER_CONFIRM_REQ   0x33
 
#define BT_HCI_EVT_USER_PASSKEY_REQ   0x34
 
#define BT_HCI_EVT_SSP_COMPLETE   0x36
 
#define BT_HCI_EVT_USER_PASSKEY_NOTIFY   0x3b
 
#define BT_HCI_EVT_LE_META_EVENT   0x3e
 
#define BT_HCI_EVT_AUTH_PAYLOAD_TIMEOUT_EXP   0x57
 
#define BT_HCI_ROLE_CENTRAL   0x00
 
#define BT_HCI_ROLE_PERIPHERAL   0x01
 
#define BT_HCI_EVT_LE_CONN_COMPLETE   0x01
 
#define BT_HCI_LE_RSSI_NOT_AVAILABLE   0x7F
 
#define BT_HCI_EVT_LE_ADVERTISING_REPORT   0x02
 
#define BT_HCI_EVT_LE_CONN_UPDATE_COMPLETE   0x03
 
#define BT_HCI_EVT_LE_REMOTE_FEAT_COMPLETE   0x04
 
#define BT_HCI_EVT_LE_LTK_REQUEST   0x05
 
#define BT_HCI_EVT_LE_CONN_PARAM_REQ   0x06
 
#define BT_HCI_EVT_LE_DATA_LEN_CHANGE   0x07
 
#define BT_HCI_EVT_LE_P256_PUBLIC_KEY_COMPLETE   0x08
 
#define BT_HCI_EVT_LE_GENERATE_DHKEY_COMPLETE   0x09
 
#define BT_HCI_EVT_LE_ENH_CONN_COMPLETE   0x0a
 
#define BT_HCI_EVT_LE_DIRECT_ADV_REPORT   0x0b
 
#define BT_HCI_EVT_LE_PHY_UPDATE_COMPLETE   0x0c
 
#define BT_HCI_EVT_LE_EXT_ADVERTISING_REPORT   0x0d
 
#define BT_HCI_LE_ADV_EVT_TYPE_CONN   BIT(0)
 
#define BT_HCI_LE_ADV_EVT_TYPE_SCAN   BIT(1)
 
#define BT_HCI_LE_ADV_EVT_TYPE_DIRECT   BIT(2)
 
#define BT_HCI_LE_ADV_EVT_TYPE_SCAN_RSP   BIT(3)
 
#define BT_HCI_LE_ADV_EVT_TYPE_LEGACY   BIT(4)
 
#define BT_HCI_LE_ADV_EVT_TYPE_DATA_STATUS(ev_type)   (((ev_type) >> 5) & 0x03)
 
#define BT_HCI_LE_ADV_EVT_TYPE_DATA_STATUS_COMPLETE   0
 
#define BT_HCI_LE_ADV_EVT_TYPE_DATA_STATUS_PARTIAL   1
 
#define BT_HCI_LE_ADV_EVT_TYPE_DATA_STATUS_INCOMPLETE   2
 
#define BT_HCI_EVT_LE_PER_ADV_SYNC_ESTABLISHED   0x0e
 
#define BT_HCI_EVT_LE_PER_ADVERTISING_REPORT   0x0f
 
#define BT_HCI_EVT_LE_PER_ADV_SYNC_LOST   0x10
 
#define BT_HCI_EVT_LE_SCAN_TIMEOUT   0x11
 
#define BT_HCI_EVT_LE_ADV_SET_TERMINATED   0x12
 
#define BT_HCI_EVT_LE_SCAN_REQ_RECEIVED   0x13
 
#define BT_HCI_LE_CHAN_SEL_ALGO_1   0x00
 
#define BT_HCI_LE_CHAN_SEL_ALGO_2   0x01
 
#define BT_HCI_EVT_LE_CHAN_SEL_ALGO   0x14
 
#define BT_HCI_LE_CTE_CRC_OK   0x0
 
#define BT_HCI_LE_CTE_CRC_ERR_CTE_BASED_TIME   0x1
 
#define BT_HCI_LE_CTE_CRC_ERR_CTE_BASED_OTHER   0x2
 
#define BT_HCI_LE_CTE_INSUFFICIENT_RESOURCES   0xFF
 
#define B_HCI_LE_CTE_REPORT_SAMPLE_COUNT_MIN   0x9
 
#define B_HCI_LE_CTE_REPORT_SAMPLE_COUNT_MAX   0x52
 
#define BT_HCI_LE_CTE_REPORT_NO_VALID_SAMPLE   0x80
 
#define BT_HCI_EVT_LE_CONNECTIONLESS_IQ_REPORT   0x15
 
#define BT_HCI_EVT_LE_CONNECTION_IQ_REPORT   0x16
 
#define BT_HCI_EVT_LE_CTE_REQUEST_FAILED   0x17
 
#define BT_HCI_EVT_LE_PAST_RECEIVED   0x18
 
#define BT_HCI_EVT_LE_CIS_ESTABLISHED   0x19
 
#define BT_HCI_EVT_LE_CIS_REQ   0x1a
 
#define BT_HCI_EVT_LE_BIG_COMPLETE   0x1b
 
#define BT_HCI_EVT_LE_BIG_TERMINATE   0x1c
 
#define BT_HCI_EVT_LE_BIG_SYNC_ESTABLISHED   0x1d
 
#define BT_HCI_EVT_LE_BIG_SYNC_LOST   0x1e
 
#define BT_HCI_EVT_LE_REQ_PEER_SCA_COMPLETE   0x1f
 
#define BT_HCI_EVT_LE_BIGINFO_ADV_REPORT   0x22
 
#define BT_EVT_BIT(n)   (1ULL << (n))
 
#define BT_EVT_MASK_INQUIRY_COMPLETE   BT_EVT_BIT(0)
 
#define BT_EVT_MASK_CONN_COMPLETE   BT_EVT_BIT(2)
 
#define BT_EVT_MASK_CONN_REQUEST   BT_EVT_BIT(3)
 
#define BT_EVT_MASK_DISCONN_COMPLETE   BT_EVT_BIT(4)
 
#define BT_EVT_MASK_AUTH_COMPLETE   BT_EVT_BIT(5)
 
#define BT_EVT_MASK_REMOTE_NAME_REQ_COMPLETE   BT_EVT_BIT(6)
 
#define BT_EVT_MASK_ENCRYPT_CHANGE   BT_EVT_BIT(7)
 
#define BT_EVT_MASK_REMOTE_FEATURES   BT_EVT_BIT(10)
 
#define BT_EVT_MASK_REMOTE_VERSION_INFO   BT_EVT_BIT(11)
 
#define BT_EVT_MASK_HARDWARE_ERROR   BT_EVT_BIT(15)
 
#define BT_EVT_MASK_ROLE_CHANGE   BT_EVT_BIT(17)
 
#define BT_EVT_MASK_PIN_CODE_REQ   BT_EVT_BIT(21)
 
#define BT_EVT_MASK_LINK_KEY_REQ   BT_EVT_BIT(22)
 
#define BT_EVT_MASK_LINK_KEY_NOTIFY   BT_EVT_BIT(23)
 
#define BT_EVT_MASK_DATA_BUFFER_OVERFLOW   BT_EVT_BIT(25)
 
#define BT_EVT_MASK_INQUIRY_RESULT_WITH_RSSI   BT_EVT_BIT(33)
 
#define BT_EVT_MASK_REMOTE_EXT_FEATURES   BT_EVT_BIT(34)
 
#define BT_EVT_MASK_SYNC_CONN_COMPLETE   BT_EVT_BIT(43)
 
#define BT_EVT_MASK_EXTENDED_INQUIRY_RESULT   BT_EVT_BIT(46)
 
#define BT_EVT_MASK_ENCRYPT_KEY_REFRESH_COMPLETE   BT_EVT_BIT(47)
 
#define BT_EVT_MASK_IO_CAPA_REQ   BT_EVT_BIT(48)
 
#define BT_EVT_MASK_IO_CAPA_RESP   BT_EVT_BIT(49)
 
#define BT_EVT_MASK_USER_CONFIRM_REQ   BT_EVT_BIT(50)
 
#define BT_EVT_MASK_USER_PASSKEY_REQ   BT_EVT_BIT(51)
 
#define BT_EVT_MASK_SSP_COMPLETE   BT_EVT_BIT(53)
 
#define BT_EVT_MASK_USER_PASSKEY_NOTIFY   BT_EVT_BIT(58)
 
#define BT_EVT_MASK_LE_META_EVENT   BT_EVT_BIT(61)
 
#define BT_EVT_MASK_NUM_COMPLETE_DATA_BLOCKS   BT_EVT_BIT(8)
 
#define BT_EVT_MASK_TRIGG_CLOCK_CAPTURE   BT_EVT_BIT(14)
 
#define BT_EVT_MASK_SYNCH_TRAIN_COMPLETE   BT_EVT_BIT(15)
 
#define BT_EVT_MASK_SYNCH_TRAIN_RX   BT_EVT_BIT(16)
 
#define BT_EVT_MASK_CL_PER_BC_RX   BT_EVT_BIT(17)
 
#define BT_EVT_MASK_CL_PER_BC_TIMEOUT   BT_EVT_BIT(18)
 
#define BT_EVT_MASK_TRUNC_PAGE_COMPLETE   BT_EVT_BIT(19)
 
#define BT_EVT_MASK_PER_PAGE_RSP_TIMEOUT   BT_EVT_BIT(20)
 
#define BT_EVT_MASK_CL_PER_BC_CH_MAP_CHANGE   BT_EVT_BIT(21)
 
#define BT_EVT_MASK_INQUIRY_RSP_NOT   BT_EVT_BIT(22)
 
#define BT_EVT_MASK_AUTH_PAYLOAD_TIMEOUT_EXP   BT_EVT_BIT(23)
 
#define BT_EVT_MASK_SAM_STATUS_CHANGE   BT_EVT_BIT(24)
 
#define BT_EVT_MASK_LE_CONN_COMPLETE   BT_EVT_BIT(0)
 
#define BT_EVT_MASK_LE_ADVERTISING_REPORT   BT_EVT_BIT(1)
 
#define BT_EVT_MASK_LE_CONN_UPDATE_COMPLETE   BT_EVT_BIT(2)
 
#define BT_EVT_MASK_LE_REMOTE_FEAT_COMPLETE   BT_EVT_BIT(3)
 
#define BT_EVT_MASK_LE_LTK_REQUEST   BT_EVT_BIT(4)
 
#define BT_EVT_MASK_LE_CONN_PARAM_REQ   BT_EVT_BIT(5)
 
#define BT_EVT_MASK_LE_DATA_LEN_CHANGE   BT_EVT_BIT(6)
 
#define BT_EVT_MASK_LE_P256_PUBLIC_KEY_COMPLETE   BT_EVT_BIT(7)
 
#define BT_EVT_MASK_LE_GENERATE_DHKEY_COMPLETE   BT_EVT_BIT(8)
 
#define BT_EVT_MASK_LE_ENH_CONN_COMPLETE   BT_EVT_BIT(9)
 
#define BT_EVT_MASK_LE_DIRECT_ADV_REPORT   BT_EVT_BIT(10)
 
#define BT_EVT_MASK_LE_PHY_UPDATE_COMPLETE   BT_EVT_BIT(11)
 
#define BT_EVT_MASK_LE_EXT_ADVERTISING_REPORT   BT_EVT_BIT(12)
 
#define BT_EVT_MASK_LE_PER_ADV_SYNC_ESTABLISHED   BT_EVT_BIT(13)
 
#define BT_EVT_MASK_LE_PER_ADVERTISING_REPORT   BT_EVT_BIT(14)
 
#define BT_EVT_MASK_LE_PER_ADV_SYNC_LOST   BT_EVT_BIT(15)
 
#define BT_EVT_MASK_LE_SCAN_TIMEOUT   BT_EVT_BIT(16)
 
#define BT_EVT_MASK_LE_ADV_SET_TERMINATED   BT_EVT_BIT(17)
 
#define BT_EVT_MASK_LE_SCAN_REQ_RECEIVED   BT_EVT_BIT(18)
 
#define BT_EVT_MASK_LE_CHAN_SEL_ALGO   BT_EVT_BIT(19)
 
#define BT_EVT_MASK_LE_CONNECTIONLESS_IQ_REPORT   BT_EVT_BIT(21)
 
#define BT_EVT_MASK_LE_CONNECTION_IQ_REPORT   BT_EVT_BIT(22)
 
#define BT_EVT_MASK_LE_CTE_REQUEST_FAILED   BT_EVT_BIT(23)
 
#define BT_EVT_MASK_LE_PAST_RECEIVED   BT_EVT_BIT(23)
 
#define BT_EVT_MASK_LE_CIS_ESTABLISHED   BT_EVT_BIT(24)
 
#define BT_EVT_MASK_LE_CIS_REQ   BT_EVT_BIT(25)
 
#define BT_EVT_MASK_LE_BIG_COMPLETE   BT_EVT_BIT(26)
 
#define BT_EVT_MASK_LE_BIG_TERMINATED   BT_EVT_BIT(27)
 
#define BT_EVT_MASK_LE_BIG_SYNC_ESTABLISHED   BT_EVT_BIT(28)
 
#define BT_EVT_MASK_LE_BIG_SYNC_LOST   BT_EVT_BIT(29)
 
#define BT_EVT_MASK_LE_REQ_PEER_SCA_COMPLETE   BT_EVT_BIT(30)
 
#define BT_EVT_MASK_LE_PATH_LOSS_THRESHOLD   BT_EVT_BIT(31)
 
#define BT_EVT_MASK_LE_TRANSMIT_POWER_REPORTING   BT_EVT_BIT(32)
 
#define BT_EVT_MASK_LE_BIGINFO_ADV_REPORT   BT_EVT_BIT(33)
 

Typedefs

typedef bool bt_hci_vnd_evt_cb_t(struct net_buf_simple *buf)
 Callback type for vendor handling of HCI Vendor-Specific Events. More...
 

Functions

struct net_bufbt_hci_cmd_create (uint16_t opcode, uint8_t param_len)
 
int bt_hci_cmd_send (uint16_t opcode, struct net_buf *buf)
 
int bt_hci_cmd_send_sync (uint16_t opcode, struct net_buf *buf, struct net_buf **rsp)
 
int bt_hci_get_conn_handle (const struct bt_conn *conn, uint16_t *conn_handle)
 Get connection handle for a connection. More...
 
int bt_hci_get_adv_handle (const struct bt_le_ext_adv *adv, uint8_t *adv_handle)
 Get advertising handle for an advertising set. More...
 
int bt_hci_register_vnd_evt_cb (bt_hci_vnd_evt_cb_t cb)
 

Macro Definition Documentation

◆ B_HCI_LE_CTE_REPORT_SAMPLE_COUNT_MAX

#define B_HCI_LE_CTE_REPORT_SAMPLE_COUNT_MAX   0x52

◆ B_HCI_LE_CTE_REPORT_SAMPLE_COUNT_MIN

#define B_HCI_LE_CTE_REPORT_SAMPLE_COUNT_MIN   0x9

◆ BT_ACL_BROADCAST

#define BT_ACL_BROADCAST   0x01

◆ BT_ACL_COMPLETE

#define BT_ACL_COMPLETE   0x03

◆ BT_ACL_CONT

#define BT_ACL_CONT   0x01

◆ bt_acl_flags

#define bt_acl_flags (   h)    ((h) >> 12)

◆ bt_acl_flags_bc

#define bt_acl_flags_bc (   f)    ((f) >> 2)

◆ bt_acl_flags_pb

#define bt_acl_flags_pb (   f)    ((f) & BIT_MASK(2))

◆ bt_acl_handle

#define bt_acl_handle (   h)    ((h) & BT_ACL_HANDLE_MASK)

◆ BT_ACL_HANDLE_MASK

#define BT_ACL_HANDLE_MASK   BIT_MASK(12)

◆ bt_acl_handle_pack

#define bt_acl_handle_pack (   h,
  f 
)    ((h) | ((f) << 12))

◆ BT_ACL_POINT_TO_POINT

#define BT_ACL_POINT_TO_POINT   0x00

◆ BT_ACL_START

#define BT_ACL_START   0x02

◆ BT_ACL_START_NO_FLUSH

#define BT_ACL_START_NO_FLUSH   0x00

◆ BT_BREDR_SCAN_DISABLED

#define BT_BREDR_SCAN_DISABLED   0x00

◆ BT_BREDR_SCAN_INQUIRY

#define BT_BREDR_SCAN_INQUIRY   0x01

◆ BT_BREDR_SCAN_PAGE

#define BT_BREDR_SCAN_PAGE   0x02

◆ BT_CMD_LE_STATES

#define BT_CMD_LE_STATES (   cmd)    BT_CMD_TEST(cmd, 28, 3)

◆ BT_CMD_TEST

#define BT_CMD_TEST (   cmd,
  octet,
  bit 
)    (cmd[octet] & BIT(bit))

◆ BT_ENC_KEY_SIZE_MAX

#define BT_ENC_KEY_SIZE_MAX   0x10

◆ BT_ENC_KEY_SIZE_MIN

#define BT_ENC_KEY_SIZE_MIN   0x07

◆ BT_EVT_BIT

#define BT_EVT_BIT (   n)    (1ULL << (n))

◆ BT_EVT_MASK_AUTH_COMPLETE

#define BT_EVT_MASK_AUTH_COMPLETE   BT_EVT_BIT(5)

◆ BT_EVT_MASK_AUTH_PAYLOAD_TIMEOUT_EXP

#define BT_EVT_MASK_AUTH_PAYLOAD_TIMEOUT_EXP   BT_EVT_BIT(23)

◆ BT_EVT_MASK_CL_PER_BC_CH_MAP_CHANGE

#define BT_EVT_MASK_CL_PER_BC_CH_MAP_CHANGE   BT_EVT_BIT(21)

◆ BT_EVT_MASK_CL_PER_BC_RX

#define BT_EVT_MASK_CL_PER_BC_RX   BT_EVT_BIT(17)

◆ BT_EVT_MASK_CL_PER_BC_TIMEOUT

#define BT_EVT_MASK_CL_PER_BC_TIMEOUT   BT_EVT_BIT(18)

◆ BT_EVT_MASK_CONN_COMPLETE

#define BT_EVT_MASK_CONN_COMPLETE   BT_EVT_BIT(2)

◆ BT_EVT_MASK_CONN_REQUEST

#define BT_EVT_MASK_CONN_REQUEST   BT_EVT_BIT(3)

◆ BT_EVT_MASK_DATA_BUFFER_OVERFLOW

#define BT_EVT_MASK_DATA_BUFFER_OVERFLOW   BT_EVT_BIT(25)

◆ BT_EVT_MASK_DISCONN_COMPLETE

#define BT_EVT_MASK_DISCONN_COMPLETE   BT_EVT_BIT(4)

◆ BT_EVT_MASK_ENCRYPT_CHANGE

#define BT_EVT_MASK_ENCRYPT_CHANGE   BT_EVT_BIT(7)

◆ BT_EVT_MASK_ENCRYPT_KEY_REFRESH_COMPLETE

#define BT_EVT_MASK_ENCRYPT_KEY_REFRESH_COMPLETE   BT_EVT_BIT(47)

◆ BT_EVT_MASK_EXTENDED_INQUIRY_RESULT

#define BT_EVT_MASK_EXTENDED_INQUIRY_RESULT   BT_EVT_BIT(46)

◆ BT_EVT_MASK_HARDWARE_ERROR

#define BT_EVT_MASK_HARDWARE_ERROR   BT_EVT_BIT(15)

◆ BT_EVT_MASK_INQUIRY_COMPLETE

#define BT_EVT_MASK_INQUIRY_COMPLETE   BT_EVT_BIT(0)

◆ BT_EVT_MASK_INQUIRY_RESULT_WITH_RSSI

#define BT_EVT_MASK_INQUIRY_RESULT_WITH_RSSI   BT_EVT_BIT(33)

◆ BT_EVT_MASK_INQUIRY_RSP_NOT

#define BT_EVT_MASK_INQUIRY_RSP_NOT   BT_EVT_BIT(22)

◆ BT_EVT_MASK_IO_CAPA_REQ

#define BT_EVT_MASK_IO_CAPA_REQ   BT_EVT_BIT(48)

◆ BT_EVT_MASK_IO_CAPA_RESP

#define BT_EVT_MASK_IO_CAPA_RESP   BT_EVT_BIT(49)

◆ BT_EVT_MASK_LE_ADV_SET_TERMINATED

#define BT_EVT_MASK_LE_ADV_SET_TERMINATED   BT_EVT_BIT(17)

◆ BT_EVT_MASK_LE_ADVERTISING_REPORT

#define BT_EVT_MASK_LE_ADVERTISING_REPORT   BT_EVT_BIT(1)

◆ BT_EVT_MASK_LE_BIG_COMPLETE

#define BT_EVT_MASK_LE_BIG_COMPLETE   BT_EVT_BIT(26)

◆ BT_EVT_MASK_LE_BIG_SYNC_ESTABLISHED

#define BT_EVT_MASK_LE_BIG_SYNC_ESTABLISHED   BT_EVT_BIT(28)

◆ BT_EVT_MASK_LE_BIG_SYNC_LOST

#define BT_EVT_MASK_LE_BIG_SYNC_LOST   BT_EVT_BIT(29)

◆ BT_EVT_MASK_LE_BIG_TERMINATED

#define BT_EVT_MASK_LE_BIG_TERMINATED   BT_EVT_BIT(27)

◆ BT_EVT_MASK_LE_BIGINFO_ADV_REPORT

#define BT_EVT_MASK_LE_BIGINFO_ADV_REPORT   BT_EVT_BIT(33)

◆ BT_EVT_MASK_LE_CHAN_SEL_ALGO

#define BT_EVT_MASK_LE_CHAN_SEL_ALGO   BT_EVT_BIT(19)

◆ BT_EVT_MASK_LE_CIS_ESTABLISHED

#define BT_EVT_MASK_LE_CIS_ESTABLISHED   BT_EVT_BIT(24)

◆ BT_EVT_MASK_LE_CIS_REQ

#define BT_EVT_MASK_LE_CIS_REQ   BT_EVT_BIT(25)

◆ BT_EVT_MASK_LE_CONN_COMPLETE

#define BT_EVT_MASK_LE_CONN_COMPLETE   BT_EVT_BIT(0)

◆ BT_EVT_MASK_LE_CONN_PARAM_REQ

#define BT_EVT_MASK_LE_CONN_PARAM_REQ   BT_EVT_BIT(5)

◆ BT_EVT_MASK_LE_CONN_UPDATE_COMPLETE

#define BT_EVT_MASK_LE_CONN_UPDATE_COMPLETE   BT_EVT_BIT(2)

◆ BT_EVT_MASK_LE_CONNECTION_IQ_REPORT

#define BT_EVT_MASK_LE_CONNECTION_IQ_REPORT   BT_EVT_BIT(22)

◆ BT_EVT_MASK_LE_CONNECTIONLESS_IQ_REPORT

#define BT_EVT_MASK_LE_CONNECTIONLESS_IQ_REPORT   BT_EVT_BIT(21)

◆ BT_EVT_MASK_LE_CTE_REQUEST_FAILED

#define BT_EVT_MASK_LE_CTE_REQUEST_FAILED   BT_EVT_BIT(23)

◆ BT_EVT_MASK_LE_DATA_LEN_CHANGE

#define BT_EVT_MASK_LE_DATA_LEN_CHANGE   BT_EVT_BIT(6)

◆ BT_EVT_MASK_LE_DIRECT_ADV_REPORT

#define BT_EVT_MASK_LE_DIRECT_ADV_REPORT   BT_EVT_BIT(10)

◆ BT_EVT_MASK_LE_ENH_CONN_COMPLETE

#define BT_EVT_MASK_LE_ENH_CONN_COMPLETE   BT_EVT_BIT(9)

◆ BT_EVT_MASK_LE_EXT_ADVERTISING_REPORT

#define BT_EVT_MASK_LE_EXT_ADVERTISING_REPORT   BT_EVT_BIT(12)

◆ BT_EVT_MASK_LE_GENERATE_DHKEY_COMPLETE

#define BT_EVT_MASK_LE_GENERATE_DHKEY_COMPLETE   BT_EVT_BIT(8)

◆ BT_EVT_MASK_LE_LTK_REQUEST

#define BT_EVT_MASK_LE_LTK_REQUEST   BT_EVT_BIT(4)

◆ BT_EVT_MASK_LE_META_EVENT

#define BT_EVT_MASK_LE_META_EVENT   BT_EVT_BIT(61)

◆ BT_EVT_MASK_LE_P256_PUBLIC_KEY_COMPLETE

#define BT_EVT_MASK_LE_P256_PUBLIC_KEY_COMPLETE   BT_EVT_BIT(7)

◆ BT_EVT_MASK_LE_PAST_RECEIVED

#define BT_EVT_MASK_LE_PAST_RECEIVED   BT_EVT_BIT(23)

◆ BT_EVT_MASK_LE_PATH_LOSS_THRESHOLD

#define BT_EVT_MASK_LE_PATH_LOSS_THRESHOLD   BT_EVT_BIT(31)

◆ BT_EVT_MASK_LE_PER_ADV_SYNC_ESTABLISHED

#define BT_EVT_MASK_LE_PER_ADV_SYNC_ESTABLISHED   BT_EVT_BIT(13)

◆ BT_EVT_MASK_LE_PER_ADV_SYNC_LOST

#define BT_EVT_MASK_LE_PER_ADV_SYNC_LOST   BT_EVT_BIT(15)

◆ BT_EVT_MASK_LE_PER_ADVERTISING_REPORT

#define BT_EVT_MASK_LE_PER_ADVERTISING_REPORT   BT_EVT_BIT(14)

◆ BT_EVT_MASK_LE_PHY_UPDATE_COMPLETE

#define BT_EVT_MASK_LE_PHY_UPDATE_COMPLETE   BT_EVT_BIT(11)

◆ BT_EVT_MASK_LE_REMOTE_FEAT_COMPLETE

#define BT_EVT_MASK_LE_REMOTE_FEAT_COMPLETE   BT_EVT_BIT(3)

◆ BT_EVT_MASK_LE_REQ_PEER_SCA_COMPLETE

#define BT_EVT_MASK_LE_REQ_PEER_SCA_COMPLETE   BT_EVT_BIT(30)

◆ BT_EVT_MASK_LE_SCAN_REQ_RECEIVED

#define BT_EVT_MASK_LE_SCAN_REQ_RECEIVED   BT_EVT_BIT(18)

◆ BT_EVT_MASK_LE_SCAN_TIMEOUT

#define BT_EVT_MASK_LE_SCAN_TIMEOUT   BT_EVT_BIT(16)

◆ BT_EVT_MASK_LE_TRANSMIT_POWER_REPORTING

#define BT_EVT_MASK_LE_TRANSMIT_POWER_REPORTING   BT_EVT_BIT(32)

◆ BT_EVT_MASK_LINK_KEY_NOTIFY

#define BT_EVT_MASK_LINK_KEY_NOTIFY   BT_EVT_BIT(23)

◆ BT_EVT_MASK_LINK_KEY_REQ

#define BT_EVT_MASK_LINK_KEY_REQ   BT_EVT_BIT(22)

◆ BT_EVT_MASK_NUM_COMPLETE_DATA_BLOCKS

#define BT_EVT_MASK_NUM_COMPLETE_DATA_BLOCKS   BT_EVT_BIT(8)

◆ BT_EVT_MASK_PER_PAGE_RSP_TIMEOUT

#define BT_EVT_MASK_PER_PAGE_RSP_TIMEOUT   BT_EVT_BIT(20)

◆ BT_EVT_MASK_PIN_CODE_REQ

#define BT_EVT_MASK_PIN_CODE_REQ   BT_EVT_BIT(21)

◆ BT_EVT_MASK_REMOTE_EXT_FEATURES

#define BT_EVT_MASK_REMOTE_EXT_FEATURES   BT_EVT_BIT(34)

◆ BT_EVT_MASK_REMOTE_FEATURES

#define BT_EVT_MASK_REMOTE_FEATURES   BT_EVT_BIT(10)

◆ BT_EVT_MASK_REMOTE_NAME_REQ_COMPLETE

#define BT_EVT_MASK_REMOTE_NAME_REQ_COMPLETE   BT_EVT_BIT(6)

◆ BT_EVT_MASK_REMOTE_VERSION_INFO

#define BT_EVT_MASK_REMOTE_VERSION_INFO   BT_EVT_BIT(11)

◆ BT_EVT_MASK_ROLE_CHANGE

#define BT_EVT_MASK_ROLE_CHANGE   BT_EVT_BIT(17)

◆ BT_EVT_MASK_SAM_STATUS_CHANGE

#define BT_EVT_MASK_SAM_STATUS_CHANGE   BT_EVT_BIT(24)

◆ BT_EVT_MASK_SSP_COMPLETE

#define BT_EVT_MASK_SSP_COMPLETE   BT_EVT_BIT(53)

◆ BT_EVT_MASK_SYNC_CONN_COMPLETE

#define BT_EVT_MASK_SYNC_CONN_COMPLETE   BT_EVT_BIT(43)

◆ BT_EVT_MASK_SYNCH_TRAIN_COMPLETE

#define BT_EVT_MASK_SYNCH_TRAIN_COMPLETE   BT_EVT_BIT(15)

◆ BT_EVT_MASK_SYNCH_TRAIN_RX

#define BT_EVT_MASK_SYNCH_TRAIN_RX   BT_EVT_BIT(16)

◆ BT_EVT_MASK_TRIGG_CLOCK_CAPTURE

#define BT_EVT_MASK_TRIGG_CLOCK_CAPTURE   BT_EVT_BIT(14)

◆ BT_EVT_MASK_TRUNC_PAGE_COMPLETE

#define BT_EVT_MASK_TRUNC_PAGE_COMPLETE   BT_EVT_BIT(19)

◆ BT_EVT_MASK_USER_CONFIRM_REQ

#define BT_EVT_MASK_USER_CONFIRM_REQ   BT_EVT_BIT(50)

◆ BT_EVT_MASK_USER_PASSKEY_NOTIFY

#define BT_EVT_MASK_USER_PASSKEY_NOTIFY   BT_EVT_BIT(58)

◆ BT_EVT_MASK_USER_PASSKEY_REQ

#define BT_EVT_MASK_USER_PASSKEY_REQ   BT_EVT_BIT(51)

◆ BT_FEAT_2EV3_PKT

#define BT_FEAT_2EV3_PKT (   feat)    BT_FEAT_TEST(feat, 0, 5, 5)

◆ BT_FEAT_3EV3_PKT

#define BT_FEAT_3EV3_PKT (   feat)    BT_FEAT_TEST(feat, 0, 5, 6)

◆ BT_FEAT_3SLOT_PKT

#define BT_FEAT_3SLOT_PKT (   feat)    BT_FEAT_TEST(feat, 0, 5, 7)

◆ BT_FEAT_BREDR

#define BT_FEAT_BREDR (   feat)    !BT_FEAT_TEST(feat, 0, 4, 5)

◆ BT_FEAT_EV4_PKT

#define BT_FEAT_EV4_PKT (   feat)    BT_FEAT_TEST(feat, 0, 4, 0)

◆ BT_FEAT_EV5_PKT

#define BT_FEAT_EV5_PKT (   feat)    BT_FEAT_TEST(feat, 0, 4, 1)

◆ BT_FEAT_EXT_FEATURES

#define BT_FEAT_EXT_FEATURES (   feat)    BT_FEAT_TEST(feat, 0, 7, 7)

◆ BT_FEAT_HOST_SSP

#define BT_FEAT_HOST_SSP (   feat)    BT_FEAT_TEST(feat, 1, 0, 0)

◆ BT_FEAT_HV2_PKT

#define BT_FEAT_HV2_PKT (   feat)    BT_FEAT_TEST(feat, 0, 1, 4)

◆ BT_FEAT_HV3_PKT

#define BT_FEAT_HV3_PKT (   feat)    BT_FEAT_TEST(feat, 0, 1, 5)

◆ BT_FEAT_LE

#define BT_FEAT_LE (   feat)    BT_FEAT_TEST(feat, 0, 4, 6)

◆ BT_FEAT_LE_ANT_SWITCH_RX_AOA

#define BT_FEAT_LE_ANT_SWITCH_RX_AOA (   feat)
Value:
#define BT_LE_FEAT_BIT_ANT_SWITCH_RX_AOA
Definition: hci.h:154
#define BT_LE_FEAT_TEST(feat, n)
Definition: hci.h:169

◆ BT_FEAT_LE_ANT_SWITCH_TX_AOD

#define BT_FEAT_LE_ANT_SWITCH_TX_AOD (   feat)
Value:
#define BT_LE_FEAT_BIT_ANT_SWITCH_TX_AOD
Definition: hci.h:153

◆ BT_FEAT_LE_BIS

#define BT_FEAT_LE_BIS (   feat)
Value:
BT_FEAT_LE_SYNC_RECEIVER(feat))
#define BT_FEAT_LE_ISO_BROADCASTER(feat)
Definition: hci.h:212

◆ BT_FEAT_LE_CIS

#define BT_FEAT_LE_CIS (   feat)
Value:
BT_FEAT_LE_CIS_PERIPHERAL(feat))
#define BT_FEAT_LE_CIS_CENTRAL(feat)
Definition: hci.h:208

◆ BT_FEAT_LE_CIS_CENTRAL

#define BT_FEAT_LE_CIS_CENTRAL (   feat)
Value:
#define BT_LE_FEAT_BIT_CIS_CENTRAL
Definition: hci.h:160

◆ BT_FEAT_LE_CIS_PERIPHERAL

#define BT_FEAT_LE_CIS_PERIPHERAL (   feat)
Value:
#define BT_LE_FEAT_BIT_CIS_PERIPHERAL
Definition: hci.h:161

◆ BT_FEAT_LE_CONN_PARAM_REQ_PROC

#define BT_FEAT_LE_CONN_PARAM_REQ_PROC (   feat)
Value:
#define BT_LE_FEAT_BIT_CONN_PARAM_REQ
Definition: hci.h:133

◆ BT_FEAT_LE_CONNECTION_CTE_REQ

#define BT_FEAT_LE_CONNECTION_CTE_REQ (   feat)
Value:
#define BT_LE_FEAT_BIT_CONN_CTE_REQ
Definition: hci.h:149

◆ BT_FEAT_LE_CONNECTION_CTE_RESP

#define BT_FEAT_LE_CONNECTION_CTE_RESP (   feat)
Value:
#define BT_LE_FEAT_BIT_CONN_CTE_RESP
Definition: hci.h:150

◆ BT_FEAT_LE_CONNECTIONLESS_CTE_RX

#define BT_FEAT_LE_CONNECTIONLESS_CTE_RX (   feat)
Value:
#define BT_LE_FEAT_BIT_CONNECTIONLESS_CTE_RX
Definition: hci.h:152

◆ BT_FEAT_LE_CONNECTIONLESS_CTE_TX

#define BT_FEAT_LE_CONNECTIONLESS_CTE_TX (   feat)
Value:
#define BT_LE_FEAT_BIT_CONNECTIONLESS_CTE_TX
Definition: hci.h:151

◆ BT_FEAT_LE_DLE

#define BT_FEAT_LE_DLE (   feat)
Value:
#define BT_LE_FEAT_BIT_DLE
Definition: hci.h:137

◆ BT_FEAT_LE_ENCR

#define BT_FEAT_LE_ENCR (   feat)
Value:
#define BT_LE_FEAT_BIT_ENC
Definition: hci.h:132

◆ BT_FEAT_LE_EXT_ADV

#define BT_FEAT_LE_EXT_ADV (   feat)
Value:
#define BT_LE_FEAT_BIT_EXT_ADV
Definition: hci.h:144

◆ BT_FEAT_LE_EXT_PER_ADV

#define BT_FEAT_LE_EXT_PER_ADV (   feat)
Value:
#define BT_LE_FEAT_BIT_PER_ADV
Definition: hci.h:145

◆ BT_FEAT_LE_ISO

#define BT_FEAT_LE_ISO (   feat)
Value:
(BT_FEAT_LE_CIS(feat) | \
BT_FEAT_LE_BIS(feat))
#define BT_FEAT_LE_CIS(feat)
Definition: hci.h:219

◆ BT_FEAT_LE_ISO_BROADCASTER

#define BT_FEAT_LE_ISO_BROADCASTER (   feat)
Value:
#define BT_LE_FEAT_BIT_ISO_BROADCASTER
Definition: hci.h:162

◆ BT_FEAT_LE_ISO_CHANNELS

#define BT_FEAT_LE_ISO_CHANNELS (   feat)
Value:
#define BT_LE_FEAT_BIT_ISO_CHANNELS
Definition: hci.h:164

◆ BT_FEAT_LE_PAST_RECV

#define BT_FEAT_LE_PAST_RECV (   feat)
Value:
#define BT_LE_FEAT_BIT_PAST_RECV
Definition: hci.h:157

◆ BT_FEAT_LE_PAST_SEND

#define BT_FEAT_LE_PAST_SEND (   feat)
Value:
#define BT_LE_FEAT_BIT_PAST_SEND
Definition: hci.h:156

◆ BT_FEAT_LE_PER_INIT_FEAT_XCHG

#define BT_FEAT_LE_PER_INIT_FEAT_XCHG (   feat)
Value:
#define BT_LE_FEAT_BIT_PER_INIT_FEAT_XCHG
Definition: hci.h:135

◆ BT_FEAT_LE_PHY_2M

#define BT_FEAT_LE_PHY_2M (   feat)
Value:
#define BT_LE_FEAT_BIT_PHY_2M
Definition: hci.h:140

◆ BT_FEAT_LE_PHY_CODED

#define BT_FEAT_LE_PHY_CODED (   feat)
Value:
#define BT_LE_FEAT_BIT_PHY_CODED
Definition: hci.h:143

◆ BT_FEAT_LE_PRIVACY

#define BT_FEAT_LE_PRIVACY (   feat)
Value:
#define BT_LE_FEAT_BIT_PRIVACY
Definition: hci.h:138

◆ BT_FEAT_LE_RX_CTE

#define BT_FEAT_LE_RX_CTE (   feat)
Value:
#define BT_LE_FEAT_BIT_RX_CTE
Definition: hci.h:155

◆ BT_FEAT_LE_SYNC_RECEIVER

#define BT_FEAT_LE_SYNC_RECEIVER (   feat)
Value:
#define BT_LE_FEAT_BIT_SYNC_RECEIVER
Definition: hci.h:163

◆ BT_FEAT_LMP_ESCO_CAPABLE

#define BT_FEAT_LMP_ESCO_CAPABLE (   feat)    BT_FEAT_TEST(feat, 0, 3, 7)

◆ BT_FEAT_SC

#define BT_FEAT_SC (   feat)    BT_FEAT_TEST(feat, 2, 1, 0)

◆ BT_FEAT_TEST

#define BT_FEAT_TEST (   feat,
  page,
  octet,
  bit 
)    (feat[page][octet] & BIT(bit))

◆ BT_HCI_ACL

#define BT_HCI_ACL   0x01

◆ BT_HCI_ACL_HDR_SIZE

#define BT_HCI_ACL_HDR_SIZE   4

◆ BT_HCI_ADDR_RES_DISABLE

#define BT_HCI_ADDR_RES_DISABLE   0x00

◆ BT_HCI_ADDR_RES_ENABLE

#define BT_HCI_ADDR_RES_ENABLE   0x01

◆ BT_HCI_ADV_DIRECT_IND

#define BT_HCI_ADV_DIRECT_IND   0x01

◆ BT_HCI_ADV_DIRECT_IND_LOW_DUTY

#define BT_HCI_ADV_DIRECT_IND_LOW_DUTY   0x04

◆ BT_HCI_ADV_IND

#define BT_HCI_ADV_IND   0x00

◆ BT_HCI_ADV_NONCONN_IND

#define BT_HCI_ADV_NONCONN_IND   0x03

◆ BT_HCI_ADV_SCAN_IND

#define BT_HCI_ADV_SCAN_IND   0x02

◆ BT_HCI_ADV_SCAN_RSP

#define BT_HCI_ADV_SCAN_RSP   0x04

◆ BT_HCI_CMD_HDR_SIZE

#define BT_HCI_CMD_HDR_SIZE   3

◆ BT_HCI_CODEC_TRANSPORT_MASK_BREDR_ACL

#define BT_HCI_CODEC_TRANSPORT_MASK_BREDR_ACL   BIT(0)

◆ BT_HCI_CODEC_TRANSPORT_MASK_BREDR_SCO

#define BT_HCI_CODEC_TRANSPORT_MASK_BREDR_SCO   BIT(1)

◆ BT_HCI_CODEC_TRANSPORT_MASK_LE_BIS

#define BT_HCI_CODEC_TRANSPORT_MASK_LE_BIS   BIT(3)

◆ BT_HCI_CODEC_TRANSPORT_MASK_LE_CIS

#define BT_HCI_CODEC_TRANSPORT_MASK_LE_CIS   BIT(2)

◆ BT_HCI_CODING_FORMAT_ALAW_LOG

#define BT_HCI_CODING_FORMAT_ALAW_LOG   0x01

◆ BT_HCI_CODING_FORMAT_CVSD

#define BT_HCI_CODING_FORMAT_CVSD   0x02

◆ BT_HCI_CODING_FORMAT_LINEAR_PCM

#define BT_HCI_CODING_FORMAT_LINEAR_PCM   0x04

◆ BT_HCI_CODING_FORMAT_MSBC

#define BT_HCI_CODING_FORMAT_MSBC   0x05

◆ BT_HCI_CODING_FORMAT_TRANSPARENT

#define BT_HCI_CODING_FORMAT_TRANSPARENT   0x03

◆ BT_HCI_CODING_FORMAT_ULAW_LOG

#define BT_HCI_CODING_FORMAT_ULAW_LOG   0x00

◆ BT_HCI_CODING_FORMAT_VS

#define BT_HCI_CODING_FORMAT_VS   0xFF

◆ BT_HCI_CTL_TO_HOST_FLOW_DISABLE

#define BT_HCI_CTL_TO_HOST_FLOW_DISABLE   0x00

◆ BT_HCI_CTL_TO_HOST_FLOW_ENABLE

#define BT_HCI_CTL_TO_HOST_FLOW_ENABLE   0x01

◆ BT_HCI_DATAPATH_DIR_CTLR_TO_HOST

#define BT_HCI_DATAPATH_DIR_CTLR_TO_HOST   0x01

◆ BT_HCI_DATAPATH_DIR_HOST_TO_CTLR

#define BT_HCI_DATAPATH_DIR_HOST_TO_CTLR   0x00

◆ BT_HCI_DATAPATH_ID_DISABLED

#define BT_HCI_DATAPATH_ID_DISABLED   0xff

◆ BT_HCI_DATAPATH_ID_HCI

#define BT_HCI_DATAPATH_ID_HCI   0x00

◆ BT_HCI_DATAPATH_ID_VS

#define BT_HCI_DATAPATH_ID_VS   0x01

◆ BT_HCI_DATAPATH_ID_VS_END

#define BT_HCI_DATAPATH_ID_VS_END   0xfe

◆ BT_HCI_DEDICATED_BONDING

#define BT_HCI_DEDICATED_BONDING   0x02

◆ BT_HCI_DEDICATED_BONDING_MITM

#define BT_HCI_DEDICATED_BONDING_MITM   0x03

◆ BT_HCI_ENCRYPTION_KEY_SIZE_MAX

#define BT_HCI_ENCRYPTION_KEY_SIZE_MAX   16

◆ BT_HCI_ENCRYPTION_KEY_SIZE_MIN

#define BT_HCI_ENCRYPTION_KEY_SIZE_MIN   7

◆ BT_HCI_ESCO

#define BT_HCI_ESCO   0x02

◆ BT_HCI_EVT_AUTH_COMPLETE

#define BT_HCI_EVT_AUTH_COMPLETE   0x06

◆ BT_HCI_EVT_AUTH_PAYLOAD_TIMEOUT_EXP

#define BT_HCI_EVT_AUTH_PAYLOAD_TIMEOUT_EXP   0x57

◆ BT_HCI_EVT_CMD_COMPLETE

#define BT_HCI_EVT_CMD_COMPLETE   0x0e

◆ BT_HCI_EVT_CMD_STATUS

#define BT_HCI_EVT_CMD_STATUS   0x0f

◆ BT_HCI_EVT_CONN_COMPLETE

#define BT_HCI_EVT_CONN_COMPLETE   0x03

◆ BT_HCI_EVT_CONN_REQUEST

#define BT_HCI_EVT_CONN_REQUEST   0x04

◆ BT_HCI_EVT_DATA_BUF_OVERFLOW

#define BT_HCI_EVT_DATA_BUF_OVERFLOW   0x1a

◆ BT_HCI_EVT_DISCONN_COMPLETE

#define BT_HCI_EVT_DISCONN_COMPLETE   0x05

◆ BT_HCI_EVT_ENCRYPT_CHANGE

#define BT_HCI_EVT_ENCRYPT_CHANGE   0x08

◆ BT_HCI_EVT_ENCRYPT_KEY_REFRESH_COMPLETE

#define BT_HCI_EVT_ENCRYPT_KEY_REFRESH_COMPLETE   0x30

◆ BT_HCI_EVT_EXTENDED_INQUIRY_RESULT

#define BT_HCI_EVT_EXTENDED_INQUIRY_RESULT   0x2f

◆ BT_HCI_EVT_HARDWARE_ERROR

#define BT_HCI_EVT_HARDWARE_ERROR   0x10

◆ BT_HCI_EVT_HDR_SIZE

#define BT_HCI_EVT_HDR_SIZE   2

◆ BT_HCI_EVT_INQUIRY_COMPLETE

#define BT_HCI_EVT_INQUIRY_COMPLETE   0x01

◆ BT_HCI_EVT_INQUIRY_RESULT_WITH_RSSI

#define BT_HCI_EVT_INQUIRY_RESULT_WITH_RSSI   0x22

◆ BT_HCI_EVT_IO_CAPA_REQ

#define BT_HCI_EVT_IO_CAPA_REQ   0x31

◆ BT_HCI_EVT_IO_CAPA_RESP

#define BT_HCI_EVT_IO_CAPA_RESP   0x32

◆ BT_HCI_EVT_LE_ADV_SET_TERMINATED

#define BT_HCI_EVT_LE_ADV_SET_TERMINATED   0x12

◆ BT_HCI_EVT_LE_ADVERTISING_REPORT

#define BT_HCI_EVT_LE_ADVERTISING_REPORT   0x02

◆ BT_HCI_EVT_LE_BIG_COMPLETE

#define BT_HCI_EVT_LE_BIG_COMPLETE   0x1b

◆ BT_HCI_EVT_LE_BIG_SYNC_ESTABLISHED

#define BT_HCI_EVT_LE_BIG_SYNC_ESTABLISHED   0x1d

◆ BT_HCI_EVT_LE_BIG_SYNC_LOST

#define BT_HCI_EVT_LE_BIG_SYNC_LOST   0x1e

◆ BT_HCI_EVT_LE_BIG_TERMINATE

#define BT_HCI_EVT_LE_BIG_TERMINATE   0x1c

◆ BT_HCI_EVT_LE_BIGINFO_ADV_REPORT

#define BT_HCI_EVT_LE_BIGINFO_ADV_REPORT   0x22

◆ BT_HCI_EVT_LE_CHAN_SEL_ALGO

#define BT_HCI_EVT_LE_CHAN_SEL_ALGO   0x14

◆ BT_HCI_EVT_LE_CIS_ESTABLISHED

#define BT_HCI_EVT_LE_CIS_ESTABLISHED   0x19

◆ BT_HCI_EVT_LE_CIS_REQ

#define BT_HCI_EVT_LE_CIS_REQ   0x1a

◆ BT_HCI_EVT_LE_CONN_COMPLETE

#define BT_HCI_EVT_LE_CONN_COMPLETE   0x01

◆ BT_HCI_EVT_LE_CONN_PARAM_REQ

#define BT_HCI_EVT_LE_CONN_PARAM_REQ   0x06

◆ BT_HCI_EVT_LE_CONN_UPDATE_COMPLETE

#define BT_HCI_EVT_LE_CONN_UPDATE_COMPLETE   0x03

◆ BT_HCI_EVT_LE_CONNECTION_IQ_REPORT

#define BT_HCI_EVT_LE_CONNECTION_IQ_REPORT   0x16

◆ BT_HCI_EVT_LE_CONNECTIONLESS_IQ_REPORT

#define BT_HCI_EVT_LE_CONNECTIONLESS_IQ_REPORT   0x15

◆ BT_HCI_EVT_LE_CTE_REQUEST_FAILED

#define BT_HCI_EVT_LE_CTE_REQUEST_FAILED   0x17

◆ BT_HCI_EVT_LE_DATA_LEN_CHANGE

#define BT_HCI_EVT_LE_DATA_LEN_CHANGE   0x07

◆ BT_HCI_EVT_LE_DIRECT_ADV_REPORT

#define BT_HCI_EVT_LE_DIRECT_ADV_REPORT   0x0b

◆ BT_HCI_EVT_LE_ENH_CONN_COMPLETE

#define BT_HCI_EVT_LE_ENH_CONN_COMPLETE   0x0a

◆ BT_HCI_EVT_LE_EXT_ADVERTISING_REPORT

#define BT_HCI_EVT_LE_EXT_ADVERTISING_REPORT   0x0d

◆ BT_HCI_EVT_LE_GENERATE_DHKEY_COMPLETE

#define BT_HCI_EVT_LE_GENERATE_DHKEY_COMPLETE   0x09

◆ BT_HCI_EVT_LE_LTK_REQUEST

#define BT_HCI_EVT_LE_LTK_REQUEST   0x05

◆ BT_HCI_EVT_LE_META_EVENT

#define BT_HCI_EVT_LE_META_EVENT   0x3e

◆ BT_HCI_EVT_LE_P256_PUBLIC_KEY_COMPLETE

#define BT_HCI_EVT_LE_P256_PUBLIC_KEY_COMPLETE   0x08

◆ BT_HCI_EVT_LE_PAST_RECEIVED

#define BT_HCI_EVT_LE_PAST_RECEIVED   0x18

◆ BT_HCI_EVT_LE_PER_ADV_SYNC_ESTABLISHED

#define BT_HCI_EVT_LE_PER_ADV_SYNC_ESTABLISHED   0x0e

◆ BT_HCI_EVT_LE_PER_ADV_SYNC_LOST

#define BT_HCI_EVT_LE_PER_ADV_SYNC_LOST   0x10

◆ BT_HCI_EVT_LE_PER_ADVERTISING_REPORT

#define BT_HCI_EVT_LE_PER_ADVERTISING_REPORT   0x0f

◆ BT_HCI_EVT_LE_PHY_UPDATE_COMPLETE

#define BT_HCI_EVT_LE_PHY_UPDATE_COMPLETE   0x0c

◆ BT_HCI_EVT_LE_REMOTE_FEAT_COMPLETE

#define BT_HCI_EVT_LE_REMOTE_FEAT_COMPLETE   0x04

◆ BT_HCI_EVT_LE_REQ_PEER_SCA_COMPLETE

#define BT_HCI_EVT_LE_REQ_PEER_SCA_COMPLETE   0x1f

◆ BT_HCI_EVT_LE_SCAN_REQ_RECEIVED

#define BT_HCI_EVT_LE_SCAN_REQ_RECEIVED   0x13

◆ BT_HCI_EVT_LE_SCAN_TIMEOUT

#define BT_HCI_EVT_LE_SCAN_TIMEOUT   0x11

◆ BT_HCI_EVT_LINK_KEY_NOTIFY

#define BT_HCI_EVT_LINK_KEY_NOTIFY   0x18

◆ BT_HCI_EVT_LINK_KEY_REQ

#define BT_HCI_EVT_LINK_KEY_REQ   0x17

◆ BT_HCI_EVT_NUM_COMPLETED_PACKETS

#define BT_HCI_EVT_NUM_COMPLETED_PACKETS   0x13

◆ BT_HCI_EVT_PIN_CODE_REQ

#define BT_HCI_EVT_PIN_CODE_REQ   0x16

◆ BT_HCI_EVT_REMOTE_EXT_FEATURES

#define BT_HCI_EVT_REMOTE_EXT_FEATURES   0x23

◆ BT_HCI_EVT_REMOTE_FEATURES

#define BT_HCI_EVT_REMOTE_FEATURES   0x0b

◆ BT_HCI_EVT_REMOTE_NAME_REQ_COMPLETE

#define BT_HCI_EVT_REMOTE_NAME_REQ_COMPLETE   0x07

◆ BT_HCI_EVT_REMOTE_VERSION_INFO

#define BT_HCI_EVT_REMOTE_VERSION_INFO   0x0c

◆ BT_HCI_EVT_ROLE_CHANGE

#define BT_HCI_EVT_ROLE_CHANGE   0x12

◆ BT_HCI_EVT_SSP_COMPLETE

#define BT_HCI_EVT_SSP_COMPLETE   0x36

◆ BT_HCI_EVT_SYNC_CONN_COMPLETE

#define BT_HCI_EVT_SYNC_CONN_COMPLETE   0x2c

◆ BT_HCI_EVT_UNKNOWN

#define BT_HCI_EVT_UNKNOWN   0x00

◆ BT_HCI_EVT_USER_CONFIRM_REQ

#define BT_HCI_EVT_USER_CONFIRM_REQ   0x33

◆ BT_HCI_EVT_USER_PASSKEY_NOTIFY

#define BT_HCI_EVT_USER_PASSKEY_NOTIFY   0x3b

◆ BT_HCI_EVT_USER_PASSKEY_REQ

#define BT_HCI_EVT_USER_PASSKEY_REQ   0x34

◆ BT_HCI_EVT_VENDOR

#define BT_HCI_EVT_VENDOR   0xff

◆ BT_HCI_GENERAL_BONDING

#define BT_HCI_GENERAL_BONDING   0x04

◆ BT_HCI_GENERAL_BONDING_MITM

#define BT_HCI_GENERAL_BONDING_MITM   0x05

◆ BT_HCI_ISO_DATA_HDR_SIZE

#define BT_HCI_ISO_DATA_HDR_SIZE   4

◆ BT_HCI_ISO_HDR_SIZE

#define BT_HCI_ISO_HDR_SIZE   4

◆ BT_HCI_ISO_TS_DATA_HDR_SIZE

#define BT_HCI_ISO_TS_DATA_HDR_SIZE   8

◆ BT_HCI_LE_1US_AOA_RX

#define BT_HCI_LE_1US_AOA_RX   BIT(2)

◆ BT_HCI_LE_1US_AOD_RX

#define BT_HCI_LE_1US_AOD_RX   BIT(1)

◆ BT_HCI_LE_1US_AOD_TX

#define BT_HCI_LE_1US_AOD_TX   BIT(0)

◆ BT_HCI_LE_ADV_DISABLE

#define BT_HCI_LE_ADV_DISABLE   0x00

◆ BT_HCI_LE_ADV_ENABLE

#define BT_HCI_LE_ADV_ENABLE   0x01

◆ BT_HCI_LE_ADV_EVT_TYPE_CONN

#define BT_HCI_LE_ADV_EVT_TYPE_CONN   BIT(0)

◆ BT_HCI_LE_ADV_EVT_TYPE_DATA_STATUS

#define BT_HCI_LE_ADV_EVT_TYPE_DATA_STATUS (   ev_type)    (((ev_type) >> 5) & 0x03)

◆ BT_HCI_LE_ADV_EVT_TYPE_DATA_STATUS_COMPLETE

#define BT_HCI_LE_ADV_EVT_TYPE_DATA_STATUS_COMPLETE   0

◆ BT_HCI_LE_ADV_EVT_TYPE_DATA_STATUS_INCOMPLETE

#define BT_HCI_LE_ADV_EVT_TYPE_DATA_STATUS_INCOMPLETE   2

◆ BT_HCI_LE_ADV_EVT_TYPE_DATA_STATUS_PARTIAL

#define BT_HCI_LE_ADV_EVT_TYPE_DATA_STATUS_PARTIAL   1

◆ BT_HCI_LE_ADV_EVT_TYPE_DIRECT

#define BT_HCI_LE_ADV_EVT_TYPE_DIRECT   BIT(2)

◆ BT_HCI_LE_ADV_EVT_TYPE_LEGACY

#define BT_HCI_LE_ADV_EVT_TYPE_LEGACY   BIT(4)

◆ BT_HCI_LE_ADV_EVT_TYPE_SCAN

#define BT_HCI_LE_ADV_EVT_TYPE_SCAN   BIT(1)

◆ BT_HCI_LE_ADV_EVT_TYPE_SCAN_RSP

#define BT_HCI_LE_ADV_EVT_TYPE_SCAN_RSP   BIT(3)

◆ BT_HCI_LE_ADV_HANDLE_MAX

#define BT_HCI_LE_ADV_HANDLE_MAX   0xEF

◆ BT_HCI_LE_ADV_PROP_ANON

#define BT_HCI_LE_ADV_PROP_ANON   BIT(5)

◆ BT_HCI_LE_ADV_PROP_CONN

#define BT_HCI_LE_ADV_PROP_CONN   BIT(0)

◆ BT_HCI_LE_ADV_PROP_DIRECT

#define BT_HCI_LE_ADV_PROP_DIRECT   BIT(2)

◆ BT_HCI_LE_ADV_PROP_HI_DC_CONN

#define BT_HCI_LE_ADV_PROP_HI_DC_CONN   BIT(3)

◆ BT_HCI_LE_ADV_PROP_LEGACY

#define BT_HCI_LE_ADV_PROP_LEGACY   BIT(4)

◆ BT_HCI_LE_ADV_PROP_SCAN

#define BT_HCI_LE_ADV_PROP_SCAN   BIT(1)

◆ BT_HCI_LE_ADV_PROP_TX_POWER

#define BT_HCI_LE_ADV_PROP_TX_POWER   BIT(6)

◆ BT_HCI_LE_ADV_SCAN_REQ_DISABLE

#define BT_HCI_LE_ADV_SCAN_REQ_DISABLE   0

◆ BT_HCI_LE_ADV_SCAN_REQ_ENABLE

#define BT_HCI_LE_ADV_SCAN_REQ_ENABLE   1

◆ BT_HCI_LE_ADV_TX_POWER_NO_PREF

#define BT_HCI_LE_ADV_TX_POWER_NO_PREF   0x7F

◆ BT_HCI_LE_ANTENNA_SWITCHING_SLOT_1US

#define BT_HCI_LE_ANTENNA_SWITCHING_SLOT_1US   0x1

◆ BT_HCI_LE_ANTENNA_SWITCHING_SLOT_2US

#define BT_HCI_LE_ANTENNA_SWITCHING_SLOT_2US   0x2

◆ BT_HCI_LE_AOA_CTE

#define BT_HCI_LE_AOA_CTE   0x0

◆ BT_HCI_LE_AOA_CTE_RSP

#define BT_HCI_LE_AOA_CTE_RSP   BIT(0)

◆ BT_HCI_LE_AOD_CTE_1US

#define BT_HCI_LE_AOD_CTE_1US   0x1

◆ BT_HCI_LE_AOD_CTE_2US

#define BT_HCI_LE_AOD_CTE_2US   0x2

◆ BT_HCI_LE_AOD_CTE_RSP_1US

#define BT_HCI_LE_AOD_CTE_RSP_1US   BIT(1)

◆ BT_HCI_LE_AOD_CTE_RSP_2US

#define BT_HCI_LE_AOD_CTE_RSP_2US   BIT(2)

◆ BT_HCI_LE_CHAN_SEL_ALGO_1

#define BT_HCI_LE_CHAN_SEL_ALGO_1   0x00

◆ BT_HCI_LE_CHAN_SEL_ALGO_2

#define BT_HCI_LE_CHAN_SEL_ALGO_2   0x01

◆ BT_HCI_LE_CREATE_CONN_FP_FILTER

#define BT_HCI_LE_CREATE_CONN_FP_FILTER   0x01

◆ BT_HCI_LE_CREATE_CONN_FP_NO_FILTER

#define BT_HCI_LE_CREATE_CONN_FP_NO_FILTER   0x00

◆ BT_HCI_LE_CTE_COUNT_MAX

#define BT_HCI_LE_CTE_COUNT_MAX   0x10

◆ BT_HCI_LE_CTE_COUNT_MIN

#define BT_HCI_LE_CTE_COUNT_MIN   0x1

◆ BT_HCI_LE_CTE_CRC_ERR_CTE_BASED_OTHER

#define BT_HCI_LE_CTE_CRC_ERR_CTE_BASED_OTHER   0x2

◆ BT_HCI_LE_CTE_CRC_ERR_CTE_BASED_TIME

#define BT_HCI_LE_CTE_CRC_ERR_CTE_BASED_TIME   0x1

◆ BT_HCI_LE_CTE_CRC_OK

#define BT_HCI_LE_CTE_CRC_OK   0x0

◆ BT_HCI_LE_CTE_INSUFFICIENT_RESOURCES

#define BT_HCI_LE_CTE_INSUFFICIENT_RESOURCES   0xFF

◆ BT_HCI_LE_CTE_LEN_MAX

#define BT_HCI_LE_CTE_LEN_MAX   0x14

◆ BT_HCI_LE_CTE_LEN_MIN

#define BT_HCI_LE_CTE_LEN_MIN   0x2

◆ BT_HCI_LE_CTE_REPORT_NO_VALID_SAMPLE

#define BT_HCI_LE_CTE_REPORT_NO_VALID_SAMPLE   0x80

◆ BT_HCI_LE_EXT_ADV_FRAG_DISABLED

#define BT_HCI_LE_EXT_ADV_FRAG_DISABLED   0x01

◆ BT_HCI_LE_EXT_ADV_FRAG_ENABLED

#define BT_HCI_LE_EXT_ADV_FRAG_ENABLED   0x00

◆ BT_HCI_LE_EXT_ADV_FRAG_MAX_LEN

#define BT_HCI_LE_EXT_ADV_FRAG_MAX_LEN   251

◆ BT_HCI_LE_EXT_ADV_OP_COMPLETE_DATA

#define BT_HCI_LE_EXT_ADV_OP_COMPLETE_DATA   0x03

◆ BT_HCI_LE_EXT_ADV_OP_FIRST_FRAG

#define BT_HCI_LE_EXT_ADV_OP_FIRST_FRAG   0x01

◆ BT_HCI_LE_EXT_ADV_OP_INTERM_FRAG

#define BT_HCI_LE_EXT_ADV_OP_INTERM_FRAG   0x00

◆ BT_HCI_LE_EXT_ADV_OP_LAST_FRAG

#define BT_HCI_LE_EXT_ADV_OP_LAST_FRAG   0x02

◆ BT_HCI_LE_EXT_ADV_OP_UNCHANGED_DATA

#define BT_HCI_LE_EXT_ADV_OP_UNCHANGED_DATA   0x04

◆ BT_HCI_LE_EXT_ADV_SID_INVALID

#define BT_HCI_LE_EXT_ADV_SID_INVALID   0xFF

◆ BT_HCI_LE_EXT_SCAN_FILTER_DUP_ENABLE_RESET

#define BT_HCI_LE_EXT_SCAN_FILTER_DUP_ENABLE_RESET   0x02

◆ BT_HCI_LE_EXT_SCAN_PHY_1M

#define BT_HCI_LE_EXT_SCAN_PHY_1M   BIT(0)

◆ BT_HCI_LE_EXT_SCAN_PHY_2M

#define BT_HCI_LE_EXT_SCAN_PHY_2M   BIT(1)

◆ BT_HCI_LE_EXT_SCAN_PHY_CODED

#define BT_HCI_LE_EXT_SCAN_PHY_CODED   BIT(2)

◆ BT_HCI_LE_KEY_TYPE_DEBUG

#define BT_HCI_LE_KEY_TYPE_DEBUG   0x01

◆ BT_HCI_LE_KEY_TYPE_GENERATED

#define BT_HCI_LE_KEY_TYPE_GENERATED   0x00

◆ BT_HCI_LE_MAX_CTE_LEN_MAX

#define BT_HCI_LE_MAX_CTE_LEN_MAX   0x14

◆ BT_HCI_LE_MAX_CTE_LEN_MIN

#define BT_HCI_LE_MAX_CTE_LEN_MIN   0x2

◆ BT_HCI_LE_MAX_SWITCH_PATTERN_LEN_MAX

#define BT_HCI_LE_MAX_SWITCH_PATTERN_LEN_MAX   0x4B

◆ BT_HCI_LE_MAX_SWITCH_PATTERN_LEN_MIN

#define BT_HCI_LE_MAX_SWITCH_PATTERN_LEN_MIN   0x2

◆ BT_HCI_LE_MOD_INDEX_STABLE

#define BT_HCI_LE_MOD_INDEX_STABLE   0x01

◆ BT_HCI_LE_MOD_INDEX_STANDARD

#define BT_HCI_LE_MOD_INDEX_STANDARD   0x00

◆ BT_HCI_LE_NO_CTE

#define BT_HCI_LE_NO_CTE   0xFF

◆ BT_HCI_LE_NUM_ANT_MAX

#define BT_HCI_LE_NUM_ANT_MAX   0x4B

◆ BT_HCI_LE_NUM_ANT_MIN

#define BT_HCI_LE_NUM_ANT_MIN   0x1

◆ BT_HCI_LE_PAST_CTE_TYPE_NO_AOA

#define BT_HCI_LE_PAST_CTE_TYPE_NO_AOA   BIT(0)

◆ BT_HCI_LE_PAST_CTE_TYPE_NO_AOD_1US

#define BT_HCI_LE_PAST_CTE_TYPE_NO_AOD_1US   BIT(1)

◆ BT_HCI_LE_PAST_CTE_TYPE_NO_AOD_2US

#define BT_HCI_LE_PAST_CTE_TYPE_NO_AOD_2US   BIT(2)

◆ BT_HCI_LE_PAST_CTE_TYPE_NO_CTE

#define BT_HCI_LE_PAST_CTE_TYPE_NO_CTE   BIT(3)

◆ BT_HCI_LE_PAST_CTE_TYPE_ONLY_CTE

#define BT_HCI_LE_PAST_CTE_TYPE_ONLY_CTE   BIT(4)

◆ BT_HCI_LE_PAST_MODE_NO_REPORTS

#define BT_HCI_LE_PAST_MODE_NO_REPORTS   0x01

◆ BT_HCI_LE_PAST_MODE_NO_SYNC

#define BT_HCI_LE_PAST_MODE_NO_SYNC   0x00

◆ BT_HCI_LE_PAST_MODE_SYNC

#define BT_HCI_LE_PAST_MODE_SYNC   0x02

◆ BT_HCI_LE_PER_ADV_CREATE_SYNC_CTE_TYPE_NO_AOA

#define BT_HCI_LE_PER_ADV_CREATE_SYNC_CTE_TYPE_NO_AOA   BIT(0)

◆ BT_HCI_LE_PER_ADV_CREATE_SYNC_CTE_TYPE_NO_AOD_1US

#define BT_HCI_LE_PER_ADV_CREATE_SYNC_CTE_TYPE_NO_AOD_1US   BIT(1)

◆ BT_HCI_LE_PER_ADV_CREATE_SYNC_CTE_TYPE_NO_AOD_2US

#define BT_HCI_LE_PER_ADV_CREATE_SYNC_CTE_TYPE_NO_AOD_2US   BIT(2)

◆ BT_HCI_LE_PER_ADV_CREATE_SYNC_CTE_TYPE_NO_CTE

#define BT_HCI_LE_PER_ADV_CREATE_SYNC_CTE_TYPE_NO_CTE   BIT(3)

◆ BT_HCI_LE_PER_ADV_CREATE_SYNC_CTE_TYPE_ONLY_CTE

#define BT_HCI_LE_PER_ADV_CREATE_SYNC_CTE_TYPE_ONLY_CTE   BIT(4)

◆ BT_HCI_LE_PER_ADV_CREATE_SYNC_FP_REPORTS_DISABLED

#define BT_HCI_LE_PER_ADV_CREATE_SYNC_FP_REPORTS_DISABLED   BIT(1)

◆ BT_HCI_LE_PER_ADV_CREATE_SYNC_FP_USE_LIST

#define BT_HCI_LE_PER_ADV_CREATE_SYNC_FP_USE_LIST   BIT(0)

◆ BT_HCI_LE_PER_ADV_FRAG_MAX_LEN

#define BT_HCI_LE_PER_ADV_FRAG_MAX_LEN   252

◆ BT_HCI_LE_PER_ADV_OP_COMPLETE_DATA

#define BT_HCI_LE_PER_ADV_OP_COMPLETE_DATA   0x03

◆ BT_HCI_LE_PER_ADV_OP_FIRST_FRAG

#define BT_HCI_LE_PER_ADV_OP_FIRST_FRAG   0x01

◆ BT_HCI_LE_PER_ADV_OP_INTERM_FRAG

#define BT_HCI_LE_PER_ADV_OP_INTERM_FRAG   0x00

◆ BT_HCI_LE_PER_ADV_OP_LAST_FRAG

#define BT_HCI_LE_PER_ADV_OP_LAST_FRAG   0x02

◆ BT_HCI_LE_PHY_1M

#define BT_HCI_LE_PHY_1M   0x01

◆ BT_HCI_LE_PHY_2M

#define BT_HCI_LE_PHY_2M   0x02

◆ BT_HCI_LE_PHY_CODED

#define BT_HCI_LE_PHY_CODED   0x03

◆ BT_HCI_LE_PHY_CODED_ANY

#define BT_HCI_LE_PHY_CODED_ANY   0x00

◆ BT_HCI_LE_PHY_CODED_S2

#define BT_HCI_LE_PHY_CODED_S2   0x01

◆ BT_HCI_LE_PHY_CODED_S8

#define BT_HCI_LE_PHY_CODED_S8   0x02

◆ BT_HCI_LE_PHY_PREFER_1M

#define BT_HCI_LE_PHY_PREFER_1M   BIT(0)

◆ BT_HCI_LE_PHY_PREFER_2M

#define BT_HCI_LE_PHY_PREFER_2M   BIT(1)

◆ BT_HCI_LE_PHY_PREFER_CODED

#define BT_HCI_LE_PHY_PREFER_CODED   BIT(2)

◆ BT_HCI_LE_PHY_RX_ANY

#define BT_HCI_LE_PHY_RX_ANY   BIT(1)

◆ BT_HCI_LE_PHY_TX_ANY

#define BT_HCI_LE_PHY_TX_ANY   BIT(0)

◆ BT_HCI_LE_PRIVACY_MODE_DEVICE

#define BT_HCI_LE_PRIVACY_MODE_DEVICE   0x01

◆ BT_HCI_LE_PRIVACY_MODE_NETWORK

#define BT_HCI_LE_PRIVACY_MODE_NETWORK   0x00

◆ BT_HCI_LE_RSSI_NOT_AVAILABLE

#define BT_HCI_LE_RSSI_NOT_AVAILABLE   0x7F

◆ BT_HCI_LE_SAMPLE_CTE_ALL

#define BT_HCI_LE_SAMPLE_CTE_ALL   0x0

◆ BT_HCI_LE_SAMPLE_CTE_COUNT_MAX

#define BT_HCI_LE_SAMPLE_CTE_COUNT_MAX   0x10

◆ BT_HCI_LE_SAMPLE_CTE_COUNT_MIN

#define BT_HCI_LE_SAMPLE_CTE_COUNT_MIN   0x1

◆ BT_HCI_LE_SCAN_ACTIVE

#define BT_HCI_LE_SCAN_ACTIVE   0x01

◆ BT_HCI_LE_SCAN_DISABLE

#define BT_HCI_LE_SCAN_DISABLE   0x00

◆ BT_HCI_LE_SCAN_ENABLE

#define BT_HCI_LE_SCAN_ENABLE   0x01

◆ BT_HCI_LE_SCAN_FILTER_DUP_DISABLE

#define BT_HCI_LE_SCAN_FILTER_DUP_DISABLE   0x00

◆ BT_HCI_LE_SCAN_FILTER_DUP_ENABLE

#define BT_HCI_LE_SCAN_FILTER_DUP_ENABLE   0x01

◆ BT_HCI_LE_SCAN_FP_BASIC_FILTER

#define BT_HCI_LE_SCAN_FP_BASIC_FILTER   0x01

◆ BT_HCI_LE_SCAN_FP_BASIC_NO_FILTER

#define BT_HCI_LE_SCAN_FP_BASIC_NO_FILTER   0x00

◆ BT_HCI_LE_SCAN_FP_EXT_FILTER

#define BT_HCI_LE_SCAN_FP_EXT_FILTER   0x03

◆ BT_HCI_LE_SCAN_FP_EXT_NO_FILTER

#define BT_HCI_LE_SCAN_FP_EXT_NO_FILTER   0x02

◆ BT_HCI_LE_SCAN_PASSIVE

#define BT_HCI_LE_SCAN_PASSIVE   0x00

◆ BT_HCI_LE_SWITCH_PATTERN_LEN_MAX

#define BT_HCI_LE_SWITCH_PATTERN_LEN_MAX   0x4B

◆ BT_HCI_LE_SWITCH_PATTERN_LEN_MIN

#define BT_HCI_LE_SWITCH_PATTERN_LEN_MIN   0x2

◆ BT_HCI_LE_TX_PHY_CODED_S2

#define BT_HCI_LE_TX_PHY_CODED_S2   0x04

◆ BT_HCI_LE_TX_PHY_CODED_S8

#define BT_HCI_LE_TX_PHY_CODED_S8   0x03

◆ BT_HCI_LOGICAL_TRANSPORT_TYPE_BREDR_ACL

#define BT_HCI_LOGICAL_TRANSPORT_TYPE_BREDR_ACL   0x00

◆ BT_HCI_LOGICAL_TRANSPORT_TYPE_BREDR_SCO

#define BT_HCI_LOGICAL_TRANSPORT_TYPE_BREDR_SCO   0x01

◆ BT_HCI_LOGICAL_TRANSPORT_TYPE_LE_BIS

#define BT_HCI_LOGICAL_TRANSPORT_TYPE_LE_BIS   0x03

◆ BT_HCI_LOGICAL_TRANSPORT_TYPE_LE_CIS

#define BT_HCI_LOGICAL_TRANSPORT_TYPE_LE_CIS   0x02

◆ BT_HCI_NO_BONDING

#define BT_HCI_NO_BONDING   0x00

◆ BT_HCI_NO_BONDING_MITM

#define BT_HCI_NO_BONDING_MITM   0x01

◆ BT_HCI_OP_ACCEPT_CONN_REQ

#define BT_HCI_OP_ACCEPT_CONN_REQ   BT_OP(BT_OGF_LINK_CTRL, 0x0009)

◆ BT_HCI_OP_ACCEPT_SYNC_CONN_REQ

#define BT_HCI_OP_ACCEPT_SYNC_CONN_REQ   BT_OP(BT_OGF_LINK_CTRL, 0x0029)

◆ BT_HCI_OP_AUTH_REQUESTED

#define BT_HCI_OP_AUTH_REQUESTED   BT_OP(BT_OGF_LINK_CTRL, 0x0011)

◆ BT_HCI_OP_CLEAR_ADV_SETS

#define BT_HCI_OP_CLEAR_ADV_SETS   BT_OP(BT_OGF_LE, 0x003d)

◆ BT_HCI_OP_CONFIGURE_DATA_PATH

#define BT_HCI_OP_CONFIGURE_DATA_PATH   BT_OP(BT_OGF_BASEBAND, 0x0083)

◆ BT_HCI_OP_CONNECT

#define BT_HCI_OP_CONNECT   BT_OP(BT_OGF_LINK_CTRL, 0x0005)

◆ BT_HCI_OP_CONNECT_CANCEL

#define BT_HCI_OP_CONNECT_CANCEL   BT_OP(BT_OGF_LINK_CTRL, 0x0008)

◆ BT_HCI_OP_DISCONNECT

#define BT_HCI_OP_DISCONNECT   BT_OP(BT_OGF_LINK_CTRL, 0x0006)

◆ BT_HCI_OP_HOST_BUFFER_SIZE

#define BT_HCI_OP_HOST_BUFFER_SIZE   BT_OP(BT_OGF_BASEBAND, 0x0033)

◆ BT_HCI_OP_HOST_NUM_COMPLETED_PACKETS

#define BT_HCI_OP_HOST_NUM_COMPLETED_PACKETS   BT_OP(BT_OGF_BASEBAND, 0x0035)

◆ BT_HCI_OP_INQUIRY

#define BT_HCI_OP_INQUIRY   BT_OP(BT_OGF_LINK_CTRL, 0x0001)

◆ BT_HCI_OP_INQUIRY_CANCEL

#define BT_HCI_OP_INQUIRY_CANCEL   BT_OP(BT_OGF_LINK_CTRL, 0x0002)

◆ BT_HCI_OP_IO_CAPABILITY_NEG_REPLY

#define BT_HCI_OP_IO_CAPABILITY_NEG_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x0034)

◆ BT_HCI_OP_IO_CAPABILITY_REPLY

#define BT_HCI_OP_IO_CAPABILITY_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x002b)

◆ BT_HCI_OP_LE_ACCEPT_CIS

#define BT_HCI_OP_LE_ACCEPT_CIS   BT_OP(BT_OGF_LE, 0x0066)

◆ BT_HCI_OP_LE_ADD_DEV_TO_FAL

#define BT_HCI_OP_LE_ADD_DEV_TO_FAL   BT_OP(BT_OGF_LE, 0x0011)

◆ BT_HCI_OP_LE_ADD_DEV_TO_PER_ADV_LIST

#define BT_HCI_OP_LE_ADD_DEV_TO_PER_ADV_LIST   BT_OP(BT_OGF_LE, 0x0047)

◆ BT_HCI_OP_LE_ADD_DEV_TO_RL

#define BT_HCI_OP_LE_ADD_DEV_TO_RL   BT_OP(BT_OGF_LE, 0x0027)

◆ BT_HCI_OP_LE_BIG_CREATE_SYNC

#define BT_HCI_OP_LE_BIG_CREATE_SYNC   BT_OP(BT_OGF_LE, 0x006b)

◆ BT_HCI_OP_LE_BIG_TERMINATE_SYNC

#define BT_HCI_OP_LE_BIG_TERMINATE_SYNC   BT_OP(BT_OGF_LE, 0x006c)

◆ BT_HCI_OP_LE_CLEAR_FAL

#define BT_HCI_OP_LE_CLEAR_FAL   BT_OP(BT_OGF_LE, 0x0010)

◆ BT_HCI_OP_LE_CLEAR_PER_ADV_LIST

#define BT_HCI_OP_LE_CLEAR_PER_ADV_LIST   BT_OP(BT_OGF_LE, 0x0049)

◆ BT_HCI_OP_LE_CLEAR_RL

#define BT_HCI_OP_LE_CLEAR_RL   BT_OP(BT_OGF_LE, 0x0029)

◆ BT_HCI_OP_LE_CONN_CTE_REQ_ENABLE

#define BT_HCI_OP_LE_CONN_CTE_REQ_ENABLE   BT_OP(BT_OGF_LE, 0x0056)

◆ BT_HCI_OP_LE_CONN_CTE_RSP_ENABLE

#define BT_HCI_OP_LE_CONN_CTE_RSP_ENABLE   BT_OP(BT_OGF_LE, 0x0057)

◆ BT_HCI_OP_LE_CONN_PARAM_REQ_NEG_REPLY

#define BT_HCI_OP_LE_CONN_PARAM_REQ_NEG_REPLY   BT_OP(BT_OGF_LE, 0x0021)

◆ BT_HCI_OP_LE_CONN_PARAM_REQ_REPLY

#define BT_HCI_OP_LE_CONN_PARAM_REQ_REPLY   BT_OP(BT_OGF_LE, 0x0020)

◆ BT_HCI_OP_LE_CONN_UPDATE

#define BT_HCI_OP_LE_CONN_UPDATE   BT_OP(BT_OGF_LE, 0x0013)

◆ BT_HCI_OP_LE_CREATE_BIG

#define BT_HCI_OP_LE_CREATE_BIG   BT_OP(BT_OGF_LE, 0x0068)

◆ BT_HCI_OP_LE_CREATE_BIG_TEST

#define BT_HCI_OP_LE_CREATE_BIG_TEST   BT_OP(BT_OGF_LE, 0x0069)

◆ BT_HCI_OP_LE_CREATE_CIS

#define BT_HCI_OP_LE_CREATE_CIS   BT_OP(BT_OGF_LE, 0x0064)

◆ BT_HCI_OP_LE_CREATE_CONN

#define BT_HCI_OP_LE_CREATE_CONN   BT_OP(BT_OGF_LE, 0x000d)

◆ BT_HCI_OP_LE_CREATE_CONN_CANCEL

#define BT_HCI_OP_LE_CREATE_CONN_CANCEL   BT_OP(BT_OGF_LE, 0x000e)

◆ BT_HCI_OP_LE_DEFAULT_PAST_PARAM

#define BT_HCI_OP_LE_DEFAULT_PAST_PARAM   BT_OP(BT_OGF_LE, 0x005d)

◆ BT_HCI_OP_LE_ENCRYPT

#define BT_HCI_OP_LE_ENCRYPT   BT_OP(BT_OGF_LE, 0x0017)

◆ BT_HCI_OP_LE_ENH_RX_TEST

#define BT_HCI_OP_LE_ENH_RX_TEST   BT_OP(BT_OGF_LE, 0x0033)

◆ BT_HCI_OP_LE_ENH_TX_TEST

#define BT_HCI_OP_LE_ENH_TX_TEST   BT_OP(BT_OGF_LE, 0x0034)

◆ BT_HCI_OP_LE_EXT_CREATE_CONN

#define BT_HCI_OP_LE_EXT_CREATE_CONN   BT_OP(BT_OGF_LE, 0x0043)

◆ BT_HCI_OP_LE_GENERATE_DHKEY

#define BT_HCI_OP_LE_GENERATE_DHKEY   BT_OP(BT_OGF_LE, 0x0026)

◆ BT_HCI_OP_LE_GENERATE_DHKEY_V2

#define BT_HCI_OP_LE_GENERATE_DHKEY_V2   BT_OP(BT_OGF_LE, 0x005e)

◆ BT_HCI_OP_LE_ISO_READ_TEST_COUNTERS

#define BT_HCI_OP_LE_ISO_READ_TEST_COUNTERS   BT_OP(BT_OGF_LE, 0x0072)

◆ BT_HCI_OP_LE_ISO_RECEIVE_TEST

#define BT_HCI_OP_LE_ISO_RECEIVE_TEST   BT_OP(BT_OGF_LE, 0x0071)

◆ BT_HCI_OP_LE_ISO_TEST_END

#define BT_HCI_OP_LE_ISO_TEST_END   BT_OP(BT_OGF_LE, 0x0073)

◆ BT_HCI_OP_LE_ISO_TRANSMIT_TEST

#define BT_HCI_OP_LE_ISO_TRANSMIT_TEST   BT_OP(BT_OGF_LE, 0x0070)

◆ BT_HCI_OP_LE_LTK_REQ_NEG_REPLY

#define BT_HCI_OP_LE_LTK_REQ_NEG_REPLY   BT_OP(BT_OGF_LE, 0x001b)

◆ BT_HCI_OP_LE_LTK_REQ_REPLY

#define BT_HCI_OP_LE_LTK_REQ_REPLY   BT_OP(BT_OGF_LE, 0x001a)

◆ BT_HCI_OP_LE_P256_PUBLIC_KEY

#define BT_HCI_OP_LE_P256_PUBLIC_KEY   BT_OP(BT_OGF_LE, 0x0025)

◆ BT_HCI_OP_LE_PAST_PARAM

#define BT_HCI_OP_LE_PAST_PARAM   BT_OP(BT_OGF_LE, 0x005c)

◆ BT_HCI_OP_LE_PER_ADV_CREATE_SYNC

#define BT_HCI_OP_LE_PER_ADV_CREATE_SYNC   BT_OP(BT_OGF_LE, 0x0044)

◆ BT_HCI_OP_LE_PER_ADV_CREATE_SYNC_CANCEL

#define BT_HCI_OP_LE_PER_ADV_CREATE_SYNC_CANCEL   BT_OP(BT_OGF_LE, 0x0045)

◆ BT_HCI_OP_LE_PER_ADV_SET_INFO_TRANSFER

#define BT_HCI_OP_LE_PER_ADV_SET_INFO_TRANSFER   BT_OP(BT_OGF_LE, 0x005b)

◆ BT_HCI_OP_LE_PER_ADV_SYNC_TRANSFER

#define BT_HCI_OP_LE_PER_ADV_SYNC_TRANSFER   BT_OP(BT_OGF_LE, 0x005a)

◆ BT_HCI_OP_LE_PER_ADV_TERMINATE_SYNC

#define BT_HCI_OP_LE_PER_ADV_TERMINATE_SYNC   BT_OP(BT_OGF_LE, 0x0046)

◆ BT_HCI_OP_LE_RAND

#define BT_HCI_OP_LE_RAND   BT_OP(BT_OGF_LE, 0x0018)

◆ BT_HCI_OP_LE_READ_ADV_CHAN_TX_POWER

#define BT_HCI_OP_LE_READ_ADV_CHAN_TX_POWER   BT_OP(BT_OGF_LE, 0x0007)

◆ BT_HCI_OP_LE_READ_ANT_INFO

#define BT_HCI_OP_LE_READ_ANT_INFO   BT_OP(BT_OGF_LE, 0x0058)

◆ BT_HCI_OP_LE_READ_BUFFER_SIZE

#define BT_HCI_OP_LE_READ_BUFFER_SIZE   BT_OP(BT_OGF_LE, 0x0002)

◆ BT_HCI_OP_LE_READ_BUFFER_SIZE_V2

#define BT_HCI_OP_LE_READ_BUFFER_SIZE_V2   BT_OP(BT_OGF_LE, 0x0060)

◆ BT_HCI_OP_LE_READ_CHAN_MAP

#define BT_HCI_OP_LE_READ_CHAN_MAP   BT_OP(BT_OGF_LE, 0x0015)

◆ BT_HCI_OP_LE_READ_DEFAULT_DATA_LEN

#define BT_HCI_OP_LE_READ_DEFAULT_DATA_LEN   BT_OP(BT_OGF_LE, 0x0023)

◆ BT_HCI_OP_LE_READ_FAL_SIZE

#define BT_HCI_OP_LE_READ_FAL_SIZE   BT_OP(BT_OGF_LE, 0x000f)

◆ BT_HCI_OP_LE_READ_ISO_LINK_QUALITY

#define BT_HCI_OP_LE_READ_ISO_LINK_QUALITY   BT_OP(BT_OGF_LE, 0x0075)

◆ BT_HCI_OP_LE_READ_ISO_TX_SYNC

#define BT_HCI_OP_LE_READ_ISO_TX_SYNC   BT_OP(BT_OGF_LE, 0x0061)

◆ BT_HCI_OP_LE_READ_LOCAL_FEATURES

#define BT_HCI_OP_LE_READ_LOCAL_FEATURES   BT_OP(BT_OGF_LE, 0x0003)

◆ BT_HCI_OP_LE_READ_LOCAL_RPA

#define BT_HCI_OP_LE_READ_LOCAL_RPA   BT_OP(BT_OGF_LE, 0x002c)

◆ BT_HCI_OP_LE_READ_MAX_ADV_DATA_LEN

#define BT_HCI_OP_LE_READ_MAX_ADV_DATA_LEN   BT_OP(BT_OGF_LE, 0x003a)

◆ BT_HCI_OP_LE_READ_MAX_DATA_LEN

#define BT_HCI_OP_LE_READ_MAX_DATA_LEN   BT_OP(BT_OGF_LE, 0x002f)

◆ BT_HCI_OP_LE_READ_NUM_ADV_SETS

#define BT_HCI_OP_LE_READ_NUM_ADV_SETS   BT_OP(BT_OGF_LE, 0x003b)

◆ BT_HCI_OP_LE_READ_PEER_RPA

#define BT_HCI_OP_LE_READ_PEER_RPA   BT_OP(BT_OGF_LE, 0x002b)

◆ BT_HCI_OP_LE_READ_PER_ADV_LIST_SIZE

#define BT_HCI_OP_LE_READ_PER_ADV_LIST_SIZE   BT_OP(BT_OGF_LE, 0x004a)

◆ BT_HCI_OP_LE_READ_PHY

#define BT_HCI_OP_LE_READ_PHY   BT_OP(BT_OGF_LE, 0x0030)

◆ BT_HCI_OP_LE_READ_REMOTE_FEATURES

#define BT_HCI_OP_LE_READ_REMOTE_FEATURES   BT_OP(BT_OGF_LE, 0x0016)

◆ BT_HCI_OP_LE_READ_RF_PATH_COMP

#define BT_HCI_OP_LE_READ_RF_PATH_COMP   BT_OP(BT_OGF_LE, 0x004c)

◆ BT_HCI_OP_LE_READ_RL_SIZE

#define BT_HCI_OP_LE_READ_RL_SIZE   BT_OP(BT_OGF_LE, 0x002a)

◆ BT_HCI_OP_LE_READ_SUPP_STATES

#define BT_HCI_OP_LE_READ_SUPP_STATES   BT_OP(BT_OGF_LE, 0x001c)

◆ BT_HCI_OP_LE_READ_TX_POWER

#define BT_HCI_OP_LE_READ_TX_POWER   BT_OP(BT_OGF_LE, 0x004b)

◆ BT_HCI_OP_LE_REJECT_CIS

#define BT_HCI_OP_LE_REJECT_CIS   BT_OP(BT_OGF_LE, 0x0067)

◆ BT_HCI_OP_LE_REM_DEV_FROM_FAL

#define BT_HCI_OP_LE_REM_DEV_FROM_FAL   BT_OP(BT_OGF_LE, 0x0012)

◆ BT_HCI_OP_LE_REM_DEV_FROM_PER_ADV_LIST

#define BT_HCI_OP_LE_REM_DEV_FROM_PER_ADV_LIST   BT_OP(BT_OGF_LE, 0x0048)

◆ BT_HCI_OP_LE_REM_DEV_FROM_RL

#define BT_HCI_OP_LE_REM_DEV_FROM_RL   BT_OP(BT_OGF_LE, 0x0028)

◆ BT_HCI_OP_LE_REMOVE_ADV_SET

#define BT_HCI_OP_LE_REMOVE_ADV_SET   BT_OP(BT_OGF_LE, 0x003c)

◆ BT_HCI_OP_LE_REMOVE_CIG

#define BT_HCI_OP_LE_REMOVE_CIG   BT_OP(BT_OGF_LE, 0x0065)

◆ BT_HCI_OP_LE_REMOVE_ISO_PATH

#define BT_HCI_OP_LE_REMOVE_ISO_PATH   BT_OP(BT_OGF_LE, 0x006f)

◆ BT_HCI_OP_LE_REQ_PEER_SC

#define BT_HCI_OP_LE_REQ_PEER_SC   BT_OP(BT_OGF_LE, 0x006d)

◆ BT_HCI_OP_LE_RX_TEST

#define BT_HCI_OP_LE_RX_TEST   BT_OP(BT_OGF_LE, 0x001d)

◆ BT_HCI_OP_LE_SET_ADDR_RES_ENABLE

#define BT_HCI_OP_LE_SET_ADDR_RES_ENABLE   BT_OP(BT_OGF_LE, 0x002d)

◆ BT_HCI_OP_LE_SET_ADV_DATA

#define BT_HCI_OP_LE_SET_ADV_DATA   BT_OP(BT_OGF_LE, 0x0008)

◆ BT_HCI_OP_LE_SET_ADV_ENABLE

#define BT_HCI_OP_LE_SET_ADV_ENABLE   BT_OP(BT_OGF_LE, 0x000a)

◆ BT_HCI_OP_LE_SET_ADV_PARAM

#define BT_HCI_OP_LE_SET_ADV_PARAM   BT_OP(BT_OGF_LE, 0x0006)

◆ BT_HCI_OP_LE_SET_ADV_SET_RANDOM_ADDR

#define BT_HCI_OP_LE_SET_ADV_SET_RANDOM_ADDR   BT_OP(BT_OGF_LE, 0x0035)

◆ BT_HCI_OP_LE_SET_CIG_PARAMS

#define BT_HCI_OP_LE_SET_CIG_PARAMS   BT_OP(BT_OGF_LE, 0x0062)

◆ BT_HCI_OP_LE_SET_CIG_PARAMS_TEST

#define BT_HCI_OP_LE_SET_CIG_PARAMS_TEST   BT_OP(BT_OGF_LE, 0x0063)

◆ BT_HCI_OP_LE_SET_CL_CTE_SAMPLING_ENABLE

#define BT_HCI_OP_LE_SET_CL_CTE_SAMPLING_ENABLE   BT_OP(BT_OGF_LE, 0x0053)

◆ BT_HCI_OP_LE_SET_CL_CTE_TX_ENABLE

#define BT_HCI_OP_LE_SET_CL_CTE_TX_ENABLE   BT_OP(BT_OGF_LE, 0x0052)

◆ BT_HCI_OP_LE_SET_CL_CTE_TX_PARAMS

#define BT_HCI_OP_LE_SET_CL_CTE_TX_PARAMS   BT_OP(BT_OGF_LE, 0x0051)

◆ BT_HCI_OP_LE_SET_CONN_CTE_RX_PARAMS

#define BT_HCI_OP_LE_SET_CONN_CTE_RX_PARAMS   BT_OP(BT_OGF_LE, 0x0054)

◆ BT_HCI_OP_LE_SET_CONN_CTE_TX_PARAMS

#define BT_HCI_OP_LE_SET_CONN_CTE_TX_PARAMS   BT_OP(BT_OGF_LE, 0x0055)

◆ BT_HCI_OP_LE_SET_DATA_LEN

#define BT_HCI_OP_LE_SET_DATA_LEN   BT_OP(BT_OGF_LE, 0x0022)

◆ BT_HCI_OP_LE_SET_DEFAULT_PHY

#define BT_HCI_OP_LE_SET_DEFAULT_PHY   BT_OP(BT_OGF_LE, 0x0031)

◆ BT_HCI_OP_LE_SET_EVENT_MASK

#define BT_HCI_OP_LE_SET_EVENT_MASK   BT_OP(BT_OGF_LE, 0x0001)

◆ BT_HCI_OP_LE_SET_EXT_ADV_DATA

#define BT_HCI_OP_LE_SET_EXT_ADV_DATA   BT_OP(BT_OGF_LE, 0x0037)

◆ BT_HCI_OP_LE_SET_EXT_ADV_ENABLE

#define BT_HCI_OP_LE_SET_EXT_ADV_ENABLE   BT_OP(BT_OGF_LE, 0x0039)

◆ BT_HCI_OP_LE_SET_EXT_ADV_PARAM

#define BT_HCI_OP_LE_SET_EXT_ADV_PARAM   BT_OP(BT_OGF_LE, 0x0036)

◆ BT_HCI_OP_LE_SET_EXT_SCAN_ENABLE

#define BT_HCI_OP_LE_SET_EXT_SCAN_ENABLE   BT_OP(BT_OGF_LE, 0x0042)

◆ BT_HCI_OP_LE_SET_EXT_SCAN_PARAM

#define BT_HCI_OP_LE_SET_EXT_SCAN_PARAM   BT_OP(BT_OGF_LE, 0x0041)

◆ BT_HCI_OP_LE_SET_EXT_SCAN_RSP_DATA

#define BT_HCI_OP_LE_SET_EXT_SCAN_RSP_DATA   BT_OP(BT_OGF_LE, 0x0038)

◆ BT_HCI_OP_LE_SET_HOST_CHAN_CLASSIF

#define BT_HCI_OP_LE_SET_HOST_CHAN_CLASSIF   BT_OP(BT_OGF_LE, 0x0014)

◆ BT_HCI_OP_LE_SET_HOST_FEATURE

#define BT_HCI_OP_LE_SET_HOST_FEATURE   BT_OP(BT_OGF_LE, 0x0074)

◆ BT_HCI_OP_LE_SET_PER_ADV_DATA

#define BT_HCI_OP_LE_SET_PER_ADV_DATA   BT_OP(BT_OGF_LE, 0x003f)

◆ BT_HCI_OP_LE_SET_PER_ADV_ENABLE

#define BT_HCI_OP_LE_SET_PER_ADV_ENABLE   BT_OP(BT_OGF_LE, 0x0040)

◆ BT_HCI_OP_LE_SET_PER_ADV_PARAM

#define BT_HCI_OP_LE_SET_PER_ADV_PARAM   BT_OP(BT_OGF_LE, 0x003e)

◆ BT_HCI_OP_LE_SET_PER_ADV_RECV_ENABLE

#define BT_HCI_OP_LE_SET_PER_ADV_RECV_ENABLE   BT_OP(BT_OGF_LE, 0x0059)

◆ BT_HCI_OP_LE_SET_PHY

#define BT_HCI_OP_LE_SET_PHY   BT_OP(BT_OGF_LE, 0x0032)

◆ BT_HCI_OP_LE_SET_PRIVACY_MODE

#define BT_HCI_OP_LE_SET_PRIVACY_MODE   BT_OP(BT_OGF_LE, 0x004e)

◆ BT_HCI_OP_LE_SET_RANDOM_ADDRESS

#define BT_HCI_OP_LE_SET_RANDOM_ADDRESS   BT_OP(BT_OGF_LE, 0x0005)

◆ BT_HCI_OP_LE_SET_RPA_TIMEOUT

#define BT_HCI_OP_LE_SET_RPA_TIMEOUT   BT_OP(BT_OGF_LE, 0x002e)

◆ BT_HCI_OP_LE_SET_SCAN_ENABLE

#define BT_HCI_OP_LE_SET_SCAN_ENABLE   BT_OP(BT_OGF_LE, 0x000c)

◆ BT_HCI_OP_LE_SET_SCAN_PARAM

#define BT_HCI_OP_LE_SET_SCAN_PARAM   BT_OP(BT_OGF_LE, 0x000b)

◆ BT_HCI_OP_LE_SET_SCAN_RSP_DATA

#define BT_HCI_OP_LE_SET_SCAN_RSP_DATA   BT_OP(BT_OGF_LE, 0x0009)

◆ BT_HCI_OP_LE_SETUP_ISO_PATH

#define BT_HCI_OP_LE_SETUP_ISO_PATH   BT_OP(BT_OGF_LE, 0x006e)

◆ BT_HCI_OP_LE_START_ENCRYPTION

#define BT_HCI_OP_LE_START_ENCRYPTION   BT_OP(BT_OGF_LE, 0x0019)

◆ BT_HCI_OP_LE_TERMINATE_BIG

#define BT_HCI_OP_LE_TERMINATE_BIG   BT_OP(BT_OGF_LE, 0x006a)

◆ BT_HCI_OP_LE_TEST_END

#define BT_HCI_OP_LE_TEST_END   BT_OP(BT_OGF_LE, 0x001f)

◆ BT_HCI_OP_LE_TX_TEST

#define BT_HCI_OP_LE_TX_TEST   BT_OP(BT_OGF_LE, 0x001e)

◆ BT_HCI_OP_LE_WRITE_DEFAULT_DATA_LEN

#define BT_HCI_OP_LE_WRITE_DEFAULT_DATA_LEN   BT_OP(BT_OGF_LE, 0x0024)

◆ BT_HCI_OP_LE_WRITE_LE_HOST_SUPP

#define BT_HCI_OP_LE_WRITE_LE_HOST_SUPP   BT_OP(BT_OGF_BASEBAND, 0x006d)

◆ BT_HCI_OP_LE_WRITE_RF_PATH_COMP

#define BT_HCI_OP_LE_WRITE_RF_PATH_COMP   BT_OP(BT_OGF_LE, 0x004d)

◆ BT_HCI_OP_LINK_KEY_NEG_REPLY

#define BT_HCI_OP_LINK_KEY_NEG_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x000c)

◆ BT_HCI_OP_LINK_KEY_REPLY

#define BT_HCI_OP_LINK_KEY_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x000b)

◆ BT_HCI_OP_PIN_CODE_NEG_REPLY

#define BT_HCI_OP_PIN_CODE_NEG_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x000e)

◆ BT_HCI_OP_PIN_CODE_REPLY

#define BT_HCI_OP_PIN_CODE_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x000d)

◆ BT_HCI_OP_READ_AUTH_PAYLOAD_TIMEOUT

#define BT_HCI_OP_READ_AUTH_PAYLOAD_TIMEOUT   BT_OP(BT_OGF_BASEBAND, 0x007b)

◆ BT_HCI_OP_READ_BD_ADDR

#define BT_HCI_OP_READ_BD_ADDR   BT_OP(BT_OGF_INFO, 0x0009)

◆ BT_HCI_OP_READ_BUFFER_SIZE

#define BT_HCI_OP_READ_BUFFER_SIZE   BT_OP(BT_OGF_INFO, 0x0005)

◆ BT_HCI_OP_READ_CODEC_CAPABILITIES

#define BT_HCI_OP_READ_CODEC_CAPABILITIES   BT_OP(BT_OGF_INFO, 0x000e)

◆ BT_HCI_OP_READ_CODECS

#define BT_HCI_OP_READ_CODECS   BT_OP(BT_OGF_INFO, 0x000b)

◆ BT_HCI_OP_READ_CODECS_V2

#define BT_HCI_OP_READ_CODECS_V2   BT_OP(BT_OGF_INFO, 0x000d)

◆ BT_HCI_OP_READ_CTLR_DELAY

#define BT_HCI_OP_READ_CTLR_DELAY   BT_OP(BT_OGF_INFO, 0x000f)

◆ BT_HCI_OP_READ_ENCRYPTION_KEY_SIZE

#define BT_HCI_OP_READ_ENCRYPTION_KEY_SIZE   BT_OP(BT_OGF_STATUS, 0x0008)

◆ BT_HCI_OP_READ_LOCAL_EXT_FEATURES

#define BT_HCI_OP_READ_LOCAL_EXT_FEATURES   BT_OP(BT_OGF_INFO, 0x0004)

◆ BT_HCI_OP_READ_LOCAL_FEATURES

#define BT_HCI_OP_READ_LOCAL_FEATURES   BT_OP(BT_OGF_INFO, 0x0003)

◆ BT_HCI_OP_READ_LOCAL_VERSION_INFO

#define BT_HCI_OP_READ_LOCAL_VERSION_INFO   BT_OP(BT_OGF_INFO, 0x0001)

◆ BT_HCI_OP_READ_REMOTE_EXT_FEATURES

#define BT_HCI_OP_READ_REMOTE_EXT_FEATURES   BT_OP(BT_OGF_LINK_CTRL, 0x001c)

◆ BT_HCI_OP_READ_REMOTE_FEATURES

#define BT_HCI_OP_READ_REMOTE_FEATURES   BT_OP(BT_OGF_LINK_CTRL, 0x001b)

◆ BT_HCI_OP_READ_REMOTE_VERSION_INFO

#define BT_HCI_OP_READ_REMOTE_VERSION_INFO   BT_OP(BT_OGF_LINK_CTRL, 0x001d)

◆ BT_HCI_OP_READ_RSSI

#define BT_HCI_OP_READ_RSSI   BT_OP(BT_OGF_STATUS, 0x0005)

◆ BT_HCI_OP_READ_SUPPORTED_COMMANDS

#define BT_HCI_OP_READ_SUPPORTED_COMMANDS   BT_OP(BT_OGF_INFO, 0x0002)

◆ BT_HCI_OP_READ_TX_POWER_LEVEL

#define BT_HCI_OP_READ_TX_POWER_LEVEL   BT_OP(BT_OGF_BASEBAND, 0x002d)

◆ BT_HCI_OP_REJECT_CONN_REQ

#define BT_HCI_OP_REJECT_CONN_REQ   BT_OP(BT_OGF_LINK_CTRL, 0x000a)

◆ BT_HCI_OP_REMOTE_NAME_CANCEL

#define BT_HCI_OP_REMOTE_NAME_CANCEL   BT_OP(BT_OGF_LINK_CTRL, 0x001a)

◆ BT_HCI_OP_REMOTE_NAME_REQUEST

#define BT_HCI_OP_REMOTE_NAME_REQUEST   BT_OP(BT_OGF_LINK_CTRL, 0x0019)

◆ BT_HCI_OP_RESET

#define BT_HCI_OP_RESET   BT_OP(BT_OGF_BASEBAND, 0x0003)

◆ BT_HCI_OP_SET_CONN_ENCRYPT

#define BT_HCI_OP_SET_CONN_ENCRYPT   BT_OP(BT_OGF_LINK_CTRL, 0x0013)

◆ BT_HCI_OP_SET_CTL_TO_HOST_FLOW

#define BT_HCI_OP_SET_CTL_TO_HOST_FLOW   BT_OP(BT_OGF_BASEBAND, 0x0031)

◆ BT_HCI_OP_SET_EVENT_MASK

#define BT_HCI_OP_SET_EVENT_MASK   BT_OP(BT_OGF_BASEBAND, 0x0001)

◆ BT_HCI_OP_SET_EVENT_MASK_PAGE_2

#define BT_HCI_OP_SET_EVENT_MASK_PAGE_2   BT_OP(BT_OGF_BASEBAND, 0x0063)

◆ BT_HCI_OP_SETUP_SYNC_CONN

#define BT_HCI_OP_SETUP_SYNC_CONN   BT_OP(BT_OGF_LINK_CTRL, 0x0028)

◆ BT_HCI_OP_USER_CONFIRM_NEG_REPLY

#define BT_HCI_OP_USER_CONFIRM_NEG_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x002d)

◆ BT_HCI_OP_USER_CONFIRM_REPLY

#define BT_HCI_OP_USER_CONFIRM_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x002c)

◆ BT_HCI_OP_USER_PASSKEY_NEG_REPLY

#define BT_HCI_OP_USER_PASSKEY_NEG_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x002f)

◆ BT_HCI_OP_USER_PASSKEY_REPLY

#define BT_HCI_OP_USER_PASSKEY_REPLY   BT_OP(BT_OGF_LINK_CTRL, 0x002e)

◆ BT_HCI_OP_WRITE_AUTH_PAYLOAD_TIMEOUT

#define BT_HCI_OP_WRITE_AUTH_PAYLOAD_TIMEOUT   BT_OP(BT_OGF_BASEBAND, 0x007c)

◆ BT_HCI_OP_WRITE_CLASS_OF_DEVICE

#define BT_HCI_OP_WRITE_CLASS_OF_DEVICE   BT_OP(BT_OGF_BASEBAND, 0x0024)

◆ BT_HCI_OP_WRITE_INQUIRY_MODE

#define BT_HCI_OP_WRITE_INQUIRY_MODE   BT_OP(BT_OGF_BASEBAND, 0x0045)

◆ BT_HCI_OP_WRITE_LOCAL_NAME

#define BT_HCI_OP_WRITE_LOCAL_NAME   BT_OP(BT_OGF_BASEBAND, 0x0013)

◆ BT_HCI_OP_WRITE_PAGE_TIMEOUT

#define BT_HCI_OP_WRITE_PAGE_TIMEOUT   BT_OP(BT_OGF_BASEBAND, 0x0018)

◆ BT_HCI_OP_WRITE_SC_HOST_SUPP

#define BT_HCI_OP_WRITE_SC_HOST_SUPP   BT_OP(BT_OGF_BASEBAND, 0x007a)

◆ BT_HCI_OP_WRITE_SCAN_ENABLE

#define BT_HCI_OP_WRITE_SCAN_ENABLE   BT_OP(BT_OGF_BASEBAND, 0x001a)

◆ BT_HCI_OP_WRITE_SSP_MODE

#define BT_HCI_OP_WRITE_SSP_MODE   BT_OP(BT_OGF_BASEBAND, 0x0056)

◆ BT_HCI_OWN_ADDR_RPA_MASK

#define BT_HCI_OWN_ADDR_RPA_MASK   0x02

◆ BT_HCI_OWN_ADDR_RPA_OR_PUBLIC

#define BT_HCI_OWN_ADDR_RPA_OR_PUBLIC   0x02

◆ BT_HCI_OWN_ADDR_RPA_OR_RANDOM

#define BT_HCI_OWN_ADDR_RPA_OR_RANDOM   0x03

◆ BT_HCI_PEER_ADDR_ANONYMOUS

#define BT_HCI_PEER_ADDR_ANONYMOUS   0xff

◆ BT_HCI_PEER_ADDR_RPA_UNRESOLVED

#define BT_HCI_PEER_ADDR_RPA_UNRESOLVED   0xfe

◆ BT_HCI_REQUEST_CTE_INTERVAL_MAX

#define BT_HCI_REQUEST_CTE_INTERVAL_MAX   0xFFFF

◆ BT_HCI_REQUEST_CTE_INTERVAL_MIN

#define BT_HCI_REQUEST_CTE_INTERVAL_MIN   0x1

◆ BT_HCI_REQUEST_CTE_ONCE

#define BT_HCI_REQUEST_CTE_ONCE   0x0

◆ BT_HCI_ROLE_CENTRAL

#define BT_HCI_ROLE_CENTRAL   0x00

◆ BT_HCI_ROLE_PERIPHERAL

#define BT_HCI_ROLE_PERIPHERAL   0x01

◆ BT_HCI_SCO

#define BT_HCI_SCO   0x00

◆ BT_HCI_VERSION_1_0B

#define BT_HCI_VERSION_1_0B   0

◆ BT_HCI_VERSION_1_1

#define BT_HCI_VERSION_1_1   1

◆ BT_HCI_VERSION_1_2

#define BT_HCI_VERSION_1_2   2

◆ BT_HCI_VERSION_2_0

#define BT_HCI_VERSION_2_0   3

◆ BT_HCI_VERSION_2_1

#define BT_HCI_VERSION_2_1   4

◆ BT_HCI_VERSION_3_0

#define BT_HCI_VERSION_3_0   5

◆ BT_HCI_VERSION_4_0

#define BT_HCI_VERSION_4_0   6

◆ BT_HCI_VERSION_4_1

#define BT_HCI_VERSION_4_1   7

◆ BT_HCI_VERSION_4_2

#define BT_HCI_VERSION_4_2   8

◆ BT_HCI_VERSION_5_0

#define BT_HCI_VERSION_5_0   9

◆ BT_HCI_VERSION_5_1

#define BT_HCI_VERSION_5_1   10

◆ BT_HCI_VERSION_5_2

#define BT_HCI_VERSION_5_2   11

◆ BT_HCI_VERSION_5_3

#define BT_HCI_VERSION_5_3   12

◆ BT_IO_DISPLAY_ONLY

#define BT_IO_DISPLAY_ONLY   0x00

◆ BT_IO_DISPLAY_YESNO

#define BT_IO_DISPLAY_YESNO   0x01

◆ BT_IO_KEYBOARD_ONLY

#define BT_IO_KEYBOARD_ONLY   0x02

◆ BT_IO_NO_INPUT_OUTPUT

#define BT_IO_NO_INPUT_OUTPUT   0x03

◆ BT_ISO_CONT

#define BT_ISO_CONT   0x01

◆ BT_ISO_DATA_INVALID

#define BT_ISO_DATA_INVALID   0x01

◆ BT_ISO_DATA_NOP

#define BT_ISO_DATA_NOP   0x02

◆ BT_ISO_DATA_VALID

#define BT_ISO_DATA_VALID   0x00

◆ BT_ISO_END

#define BT_ISO_END   0x03

◆ bt_iso_flags

#define bt_iso_flags (   h)    ((h) >> 12)

◆ bt_iso_flags_pb

#define bt_iso_flags_pb (   f)    ((f) & 0x0003)

◆ bt_iso_flags_ts

#define bt_iso_flags_ts (   f)    (((f) >> 2) & 0x0001)

◆ bt_iso_handle

#define bt_iso_handle (   h)    ((h) & 0x0fff)

◆ bt_iso_handle_pack

#define bt_iso_handle_pack (   h,
  pb,
  ts 
)     ((h) | (bt_iso_pack_flags(pb, ts) << 12))

◆ bt_iso_pack_flags

#define bt_iso_pack_flags (   pb,
  ts 
)     (((pb) & 0x0003) | (((ts) & 0x0001) << 2))

◆ bt_iso_pkt_flags

#define bt_iso_pkt_flags (   h)    ((h) >> 14)

◆ bt_iso_pkt_len

#define bt_iso_pkt_len (   h)    ((h) & 0x3fff)

◆ bt_iso_pkt_len_pack

#define bt_iso_pkt_len_pack (   h,
  f 
)    ((h) | ((f) << 14))

◆ BT_ISO_SINGLE

#define BT_ISO_SINGLE   0x02

◆ BT_ISO_START

#define BT_ISO_START   0x00

◆ BT_LE_ADV_CHAN_MAP_ALL

#define BT_LE_ADV_CHAN_MAP_ALL   0x07

◆ BT_LE_ADV_CHAN_MAP_CHAN_37

#define BT_LE_ADV_CHAN_MAP_CHAN_37   0x01

◆ BT_LE_ADV_CHAN_MAP_CHAN_38

#define BT_LE_ADV_CHAN_MAP_CHAN_38   0x02

◆ BT_LE_ADV_CHAN_MAP_CHAN_39

#define BT_LE_ADV_CHAN_MAP_CHAN_39   0x04

◆ BT_LE_ADV_FP_FILTER_BOTH

#define BT_LE_ADV_FP_FILTER_BOTH   0x03

◆ BT_LE_ADV_FP_FILTER_CONN_IND

#define BT_LE_ADV_FP_FILTER_CONN_IND   0x02

◆ BT_LE_ADV_FP_FILTER_SCAN_REQ

#define BT_LE_ADV_FP_FILTER_SCAN_REQ   0x01

◆ BT_LE_ADV_FP_NO_FILTER

#define BT_LE_ADV_FP_NO_FILTER   0x00

◆ BT_LE_ADV_INTERVAL_DEFAULT

#define BT_LE_ADV_INTERVAL_DEFAULT   0x0800

◆ BT_LE_ADV_INTERVAL_MAX

#define BT_LE_ADV_INTERVAL_MAX   0x4000

◆ BT_LE_ADV_INTERVAL_MIN

#define BT_LE_ADV_INTERVAL_MIN   0x0020

◆ BT_LE_FEAT_BIT_ANT_SWITCH_RX_AOA

#define BT_LE_FEAT_BIT_ANT_SWITCH_RX_AOA   22

◆ BT_LE_FEAT_BIT_ANT_SWITCH_TX_AOD

#define BT_LE_FEAT_BIT_ANT_SWITCH_TX_AOD   21

◆ BT_LE_FEAT_BIT_CHAN_SEL_ALGO_2

#define BT_LE_FEAT_BIT_CHAN_SEL_ALGO_2   14

◆ BT_LE_FEAT_BIT_CIS_CENTRAL

#define BT_LE_FEAT_BIT_CIS_CENTRAL   28

◆ BT_LE_FEAT_BIT_CIS_PERIPHERAL

#define BT_LE_FEAT_BIT_CIS_PERIPHERAL   29

◆ BT_LE_FEAT_BIT_CONN_CTE_REQ

#define BT_LE_FEAT_BIT_CONN_CTE_REQ   17

◆ BT_LE_FEAT_BIT_CONN_CTE_RESP

#define BT_LE_FEAT_BIT_CONN_CTE_RESP   18

◆ BT_LE_FEAT_BIT_CONN_PARAM_REQ

#define BT_LE_FEAT_BIT_CONN_PARAM_REQ   1

◆ BT_LE_FEAT_BIT_CONNECTIONLESS_CTE_RX

#define BT_LE_FEAT_BIT_CONNECTIONLESS_CTE_RX   20

◆ BT_LE_FEAT_BIT_CONNECTIONLESS_CTE_TX

#define BT_LE_FEAT_BIT_CONNECTIONLESS_CTE_TX   19

◆ BT_LE_FEAT_BIT_DLE

#define BT_LE_FEAT_BIT_DLE   5

◆ BT_LE_FEAT_BIT_ENC

#define BT_LE_FEAT_BIT_ENC   0

◆ BT_LE_FEAT_BIT_EXT_ADV

#define BT_LE_FEAT_BIT_EXT_ADV   12

◆ BT_LE_FEAT_BIT_EXT_REJ_IND

#define BT_LE_FEAT_BIT_EXT_REJ_IND   2

◆ BT_LE_FEAT_BIT_EXT_SCAN

#define BT_LE_FEAT_BIT_EXT_SCAN   7

◆ BT_LE_FEAT_BIT_ISO_BROADCASTER

#define BT_LE_FEAT_BIT_ISO_BROADCASTER   30

◆ BT_LE_FEAT_BIT_ISO_CHANNELS

#define BT_LE_FEAT_BIT_ISO_CHANNELS   32

◆ BT_LE_FEAT_BIT_MIN_USED_CHAN_PROC

#define BT_LE_FEAT_BIT_MIN_USED_CHAN_PROC   16

◆ BT_LE_FEAT_BIT_PAST_RECV

#define BT_LE_FEAT_BIT_PAST_RECV   25

◆ BT_LE_FEAT_BIT_PAST_SEND

#define BT_LE_FEAT_BIT_PAST_SEND   24

◆ BT_LE_FEAT_BIT_PATH_LOSS_MONITOR

#define BT_LE_FEAT_BIT_PATH_LOSS_MONITOR   35

◆ BT_LE_FEAT_BIT_PER_ADV

#define BT_LE_FEAT_BIT_PER_ADV   13

◆ BT_LE_FEAT_BIT_PER_INIT_FEAT_XCHG

#define BT_LE_FEAT_BIT_PER_INIT_FEAT_XCHG   3

◆ BT_LE_FEAT_BIT_PHY_2M

#define BT_LE_FEAT_BIT_PHY_2M   8

◆ BT_LE_FEAT_BIT_PHY_CODED

#define BT_LE_FEAT_BIT_PHY_CODED   11

◆ BT_LE_FEAT_BIT_PING

#define BT_LE_FEAT_BIT_PING   4

◆ BT_LE_FEAT_BIT_PRIVACY

#define BT_LE_FEAT_BIT_PRIVACY   6

◆ BT_LE_FEAT_BIT_PWR_CHG_IND

#define BT_LE_FEAT_BIT_PWR_CHG_IND   34

◆ BT_LE_FEAT_BIT_PWR_CLASS_1

#define BT_LE_FEAT_BIT_PWR_CLASS_1   15

◆ BT_LE_FEAT_BIT_PWR_CTRL_REQ

#define BT_LE_FEAT_BIT_PWR_CTRL_REQ   33

◆ BT_LE_FEAT_BIT_REMOTE_PUB_KEY_VALIDATE

#define BT_LE_FEAT_BIT_REMOTE_PUB_KEY_VALIDATE   27

◆ BT_LE_FEAT_BIT_RX_CTE

#define BT_LE_FEAT_BIT_RX_CTE   23

◆ BT_LE_FEAT_BIT_SCA_UPDATE

#define BT_LE_FEAT_BIT_SCA_UPDATE   26

◆ BT_LE_FEAT_BIT_SMI_RX

#define BT_LE_FEAT_BIT_SMI_RX   10

◆ BT_LE_FEAT_BIT_SMI_TX

#define BT_LE_FEAT_BIT_SMI_TX   9

◆ BT_LE_FEAT_BIT_SYNC_RECEIVER

#define BT_LE_FEAT_BIT_SYNC_RECEIVER   31

◆ BT_LE_FEAT_TEST

#define BT_LE_FEAT_TEST (   feat,
 
)
Value:
(feat[(n) >> 3] & \
BIT((n) & 7))
#define BIT(n)
Unsigned integer with bit position n set (signed in assembly language).
Definition: util_macro.h:44

◆ BT_LE_STATES_PER_CONN_ADV

#define BT_LE_STATES_PER_CONN_ADV (   states)    (states & 0x0000004000000000)

◆ BT_LK_AUTH_COMBINATION_P192

#define BT_LK_AUTH_COMBINATION_P192   0x05

◆ BT_LK_AUTH_COMBINATION_P256

#define BT_LK_AUTH_COMBINATION_P256   0x08

◆ BT_LK_CHANGED_COMBINATION

#define BT_LK_CHANGED_COMBINATION   0x06

◆ BT_LK_COMBINATION

#define BT_LK_COMBINATION   0x00

◆ BT_LK_DEBUG_COMBINATION

#define BT_LK_DEBUG_COMBINATION   0x03

◆ BT_LK_LOCAL_UNIT

#define BT_LK_LOCAL_UNIT   0x01

◆ BT_LK_REMOTE_UNIT

#define BT_LK_REMOTE_UNIT   0x02

◆ BT_LK_UNAUTH_COMBINATION_P192

#define BT_LK_UNAUTH_COMBINATION_P192   0x04

◆ BT_LK_UNAUTH_COMBINATION_P256

#define BT_LK_UNAUTH_COMBINATION_P256   0x07

◆ BT_MITM

#define BT_MITM   0x01

◆ BT_OCF

#define BT_OCF (   opcode)    ((opcode) & BIT_MASK(10))

◆ BT_OGF

#define BT_OGF (   opcode)    (((opcode) >> 10) & BIT_MASK(6))

◆ BT_OGF_BASEBAND

#define BT_OGF_BASEBAND   0x03

◆ BT_OGF_INFO

#define BT_OGF_INFO   0x04

◆ BT_OGF_LE

#define BT_OGF_LE   0x08

◆ BT_OGF_LINK_CTRL

#define BT_OGF_LINK_CTRL   0x01

◆ BT_OGF_STATUS

#define BT_OGF_STATUS   0x05

◆ BT_OGF_VS

#define BT_OGF_VS   0x3f

◆ BT_OP

#define BT_OP (   ogf,
  ocf 
)    ((ocf) | ((ogf) << 10))

◆ BT_OP_NOP

#define BT_OP_NOP   0x0000

◆ BT_OVERFLOW_LINK_ACL

#define BT_OVERFLOW_LINK_ACL   0x01

◆ BT_OVERFLOW_LINK_SYNCH

#define BT_OVERFLOW_LINK_SYNCH   0x00

◆ BT_TX_POWER_LEVEL_CURRENT

#define BT_TX_POWER_LEVEL_CURRENT   0x00

◆ BT_TX_POWER_LEVEL_MAX

#define BT_TX_POWER_LEVEL_MAX   0x01

◆ EDR_ESCO_PKT_MASK

#define EDR_ESCO_PKT_MASK
Value:
HCI_PKT_TYPE_ESCO_3EV3 | \
HCI_PKT_TYPE_ESCO_2EV5 | \
HCI_PKT_TYPE_ESCO_3EV5)
#define HCI_PKT_TYPE_ESCO_2EV3
Definition: hci.h:261

◆ ESCO_PKT_MASK

#define ESCO_PKT_MASK
Value:
HCI_PKT_TYPE_ESCO_HV2 | \
HCI_PKT_TYPE_ESCO_HV3)
#define HCI_PKT_TYPE_ESCO_HV1
Definition: hci.h:255

◆ HCI_PKT_TYPE_ESCO_2EV3

#define HCI_PKT_TYPE_ESCO_2EV3   0x0040

◆ HCI_PKT_TYPE_ESCO_2EV5

#define HCI_PKT_TYPE_ESCO_2EV5   0x0100

◆ HCI_PKT_TYPE_ESCO_3EV3

#define HCI_PKT_TYPE_ESCO_3EV3   0x0080

◆ HCI_PKT_TYPE_ESCO_3EV5

#define HCI_PKT_TYPE_ESCO_3EV5   0x0200

◆ HCI_PKT_TYPE_ESCO_EV3

#define HCI_PKT_TYPE_ESCO_EV3   0x0008

◆ HCI_PKT_TYPE_ESCO_EV4

#define HCI_PKT_TYPE_ESCO_EV4   0x0010

◆ HCI_PKT_TYPE_ESCO_EV5

#define HCI_PKT_TYPE_ESCO_EV5   0x0020

◆ HCI_PKT_TYPE_ESCO_HV1

#define HCI_PKT_TYPE_ESCO_HV1   0x0001

◆ HCI_PKT_TYPE_ESCO_HV2

#define HCI_PKT_TYPE_ESCO_HV2   0x0002

◆ HCI_PKT_TYPE_ESCO_HV3

#define HCI_PKT_TYPE_ESCO_HV3   0x0004

◆ HCI_PKT_TYPE_HV1

#define HCI_PKT_TYPE_HV1   0x0020

◆ HCI_PKT_TYPE_HV2

#define HCI_PKT_TYPE_HV2   0x0040

◆ HCI_PKT_TYPE_HV3

#define HCI_PKT_TYPE_HV3   0x0080

◆ SCO_PKT_MASK

#define SCO_PKT_MASK
Value:
HCI_PKT_TYPE_HV2 | \
HCI_PKT_TYPE_HV3)
#define HCI_PKT_TYPE_HV1
Definition: hci.h:250

Typedef Documentation

◆ bt_hci_vnd_evt_cb_t

bt_hci_vnd_evt_cb_t

Callback type for vendor handling of HCI Vendor-Specific Events.

A function of this type is registered with bt_hci_register_vnd_evt_cb() and will be called for any HCI Vendor-Specific Event.

Parameters
bufBuffer containing event parameters.
Returns
true if the function handles the event or false to defer the handling of this event back to the stack.

Function Documentation

◆ bt_hci_cmd_create()

struct net_buf * bt_hci_cmd_create ( uint16_t  opcode,
uint8_t  param_len 
)

Allocate a HCI command buffer.

This function allocates a new buffer for a HCI command. It is given the OpCode (encoded e.g. using the BT_OP macro) and the total length of the parameters. Upon successful return the buffer is ready to have the parameters encoded into it.

Parameters
opcodeCommand OpCode.
param_lenLength of command parameters.
Returns
Newly allocated buffer.

◆ bt_hci_cmd_send()

int bt_hci_cmd_send ( uint16_t  opcode,
struct net_buf buf 
)

Send a HCI command asynchronously.

This function is used for sending a HCI command asynchronously. It can either be called for a buffer created using bt_hci_cmd_create(), or if the command has no parameters a NULL can be passed instead. The sending of the command will happen asynchronously, i.e. upon successful return from this function the caller only knows that it was queued successfully.

If synchronous behavior, and retrieval of the Command Complete parameters is desired, the bt_hci_cmd_send_sync() API should be used instead.

Parameters
opcodeCommand OpCode.
bufCommand buffer or NULL (if no parameters).
Returns
0 on success or negative error value on failure.

◆ bt_hci_cmd_send_sync()

int bt_hci_cmd_send_sync ( uint16_t  opcode,
struct net_buf buf,
struct net_buf **  rsp 
)

Send a HCI command synchronously.

This function is used for sending a HCI command synchronously. It can either be called for a buffer created using bt_hci_cmd_create(), or if the command has no parameters a NULL can be passed instead.

The function will block until a Command Status or a Command Complete event is returned. If either of these have a non-zero status the function will return a negative error code and the response reference will not be set. If the command completed successfully and a non-NULL rsp parameter was given, this parameter will be set to point to a buffer containing the response parameters.

Parameters
opcodeCommand OpCode.
bufCommand buffer or NULL (if no parameters).
rspPlace to store a reference to the command response. May be NULL if the caller is not interested in the response parameters. If non-NULL is passed the caller is responsible for calling net_buf_unref() on the buffer when done parsing it.
Returns
0 on success or negative error value on failure.

◆ bt_hci_get_adv_handle()

int bt_hci_get_adv_handle ( const struct bt_le_ext_adv *  adv,
uint8_t adv_handle 
)

Get advertising handle for an advertising set.

Parameters
advAdvertising set.
adv_handlePlace to store the advertising handle.
Returns
0 on success or negative error value on failure.

◆ bt_hci_get_conn_handle()

int bt_hci_get_conn_handle ( const struct bt_conn *  conn,
uint16_t conn_handle 
)

Get connection handle for a connection.

Parameters
connConnection object.
conn_handlePlace to store the Connection handle.
Returns
0 on success or negative error value on failure.

◆ bt_hci_register_vnd_evt_cb()

int bt_hci_register_vnd_evt_cb ( bt_hci_vnd_evt_cb_t  cb)

Register user callback for HCI Vendor-Specific Events

Parameters
cbCallback to be called when the stack receives a HCI Vendor-Specific Event.
Returns
0 on success or negative error value on failure.