uint8_t le_event_mask[8];
uint8_t le_adv_data[31];
uint8_t le_adv_data_len;
+ uint8_t le_adv_enable;
uint16_t sync_train_interval;
uint32_t sync_train_timeout;
const struct bt_hci_cmd_set_event_mask_page2 *semp2;
const struct bt_hci_cmd_le_set_event_mask *lsem;
const struct bt_hci_cmd_le_set_adv_data *lsad;
+ const struct bt_hci_cmd_le_set_adv_enable *lsae;
struct bt_hci_rsp_read_default_link_policy rdlp;
struct bt_hci_rsp_read_stored_link_key rslk;
struct bt_hci_rsp_write_stored_link_key wslk;
cmd_complete(btdev, opcode, &lratp, sizeof(lratp));
break;
+ case BT_HCI_CMD_LE_SET_ADV_ENABLE:
+ if (btdev->type == BTDEV_TYPE_BREDR)
+ goto unsupported;
+ lsae = data;
+ if (btdev->le_adv_enable == lsae->enable)
+ status = BT_HCI_ERR_COMMAND_DISALLOWED;
+ else {
+ btdev->le_adv_enable = lsae->enable;
+ status = BT_HCI_ERR_SUCCESS;
+ }
+ cmd_complete(btdev, opcode, &status, sizeof(status));
+ break;
+
case BT_HCI_CMD_LE_SET_SCAN_PARAMETERS:
if (btdev->type == BTDEV_TYPE_BREDR)
goto unsupported;
#define BT_HCI_ERR_UNKNOWN_CONN_ID 0x02
#define BT_HCI_ERR_HARDWARE_FAILURE 0x03
#define BT_HCI_ERR_PAGE_TIMEOUT 0x04
+#define BT_HCI_ERR_COMMAND_DISALLOWED 0x0c
#define BT_HCI_ERR_INVALID_PARAMETERS 0x12
struct bt_l2cap_hdr {