/* Process a link control command sent from the host to the controller. The HCI command has a 3 byte command header followed by data. The header is: -> opcode (2 bytes) -> Length of parameters (1 byte; does include command header bytes). */
static int ble_ll_hci_link_ctrl_cmd_proc(const uint8_t *cmdbuf, uint8_t len, uint16_t ocf)
/* Process a link control command sent from the host to the controller. The HCI command has a 3 byte command header followed by data. The header is: -> opcode (2 bytes) -> Length of parameters (1 byte; does include command header bytes). */
static int ble_ll_hci_link_ctrl_cmd_proc(const uint8_t *cmdbuf, uint8_t len, uint16_t ocf)
{
    int rc;
    switch (ocf) {
    case BLE_HCI_OCF_DISCONNECT_CMD:
        rc = ble_ll_hci_disconnect(cmdbuf, len);
        rc += (BLE_ERR_MAX + 1);
        break;
    case BLE_HCI_OCF_RD_REM_VER_INFO:
        rc = ble_ll_conn_hci_rd_rem_ver_cmd(cmdbuf, len);
        rc += (BLE_ERR_MAX + 1);
        break;
    default:
        rc = BLE_ERR_UNKNOWN_HCI_CMD;
        break;
    }
    return rc;
}