diff --git a/include/btstack/hci_cmds.h b/include/btstack/hci_cmds.h index 8f87de150..3bf308f8f 100644 --- a/include/btstack/hci_cmds.h +++ b/include/btstack/hci_cmds.h @@ -118,6 +118,9 @@ extern "C" { // data: system bluetooth on/off (bool) #define BTSTACK_EVENT_SYSTEM_BLUETOOTH_ENABLED 0x64 +// data: event (8), len(8), address (48), name (1984 = 248 bytes) +#define BTSTACK_EVENT_REMOTE_NAME_CACHED 0x65 + // data: event (8), len(8), status (8), address(48), handle (16), psm (16), local_cid(16), remote_cid (16) #define L2CAP_EVENT_CHANNEL_OPENED 0x70 diff --git a/src/hci.c b/src/hci.c index c8f025c29..2b30f115c 100644 --- a/src/hci.c +++ b/src/hci.c @@ -778,3 +778,14 @@ void hci_emit_system_bluetooth_enabled(uint8_t enabled){ hci_dump_packet( HCI_EVENT_PACKET, 0, event, len); hci_stack.packet_handler(HCI_EVENT_PACKET, event, len); } + +void hci_emit_remote_name_cached(bd_addr_t *addr, device_name_t *name){ + uint16_t len = 2+6+248; + uint8_t event[len]; + event[0] = BTSTACK_EVENT_REMOTE_NAME_CACHED; + event[1] = len - 2; + BD_ADDR_COPY(&event[2], addr); + memcpy(&event[8], name, 248); + hci_dump_packet(HCI_EVENT_PACKET, 0, event, len); + hci_stack.packet_handler(HCI_EVENT_PACKET, event, len); +} diff --git a/src/hci.h b/src/hci.h index 15b3db426..56cfbd7ab 100644 --- a/src/hci.h +++ b/src/hci.h @@ -259,3 +259,4 @@ void hci_emit_nr_connections_changed(); void hci_emit_hci_open_failed(); void hci_emit_btstack_version(); void hci_emit_system_bluetooth_enabled(uint8_t enabled); +void hci_emit_remote_name_cached(bd_addr_t *addr, device_name_t *name);