static int host_hci_rx_disconn_complete(uint8_t event_code, uint8_t *data, int len) { struct hci_disconn_complete evt; if (len < BLE_HCI_EVENT_DISCONN_COMPLETE_LEN) { return BLE_HS_EMSGSIZE; } evt.status = data[2]; evt.connection_handle = le16toh(data + 3); evt.reason = data[5]; ble_gap_rx_disconn_complete(&evt); return 0; }
static int ble_hs_hci_evt_disconn_complete(uint8_t event_code, uint8_t *data, int len) { struct hci_disconn_complete evt; if (len < BLE_HCI_EVENT_DISCONN_COMPLETE_LEN) { return BLE_HS_ECONTROLLER; } evt.status = data[2]; evt.connection_handle = get_le16(data + 3); evt.reason = data[5]; ble_gap_rx_disconn_complete(&evt); return 0; }