Lines Matching refs:rp

282 	struct mgmt_rp_read_version rp;  in read_version()  local
286 rp.version = MGMT_VERSION; in read_version()
287 rp.revision = cpu_to_le16(MGMT_REVISION); in read_version()
290 &rp, sizeof(rp)); in read_version()
296 struct mgmt_rp_read_commands *rp; in read_commands() local
311 rp_size = sizeof(*rp) + ((num_commands + num_events) * sizeof(u16)); in read_commands()
313 rp = kmalloc(rp_size, GFP_KERNEL); in read_commands()
314 if (!rp) in read_commands()
317 rp->num_commands = cpu_to_le16(num_commands); in read_commands()
318 rp->num_events = cpu_to_le16(num_events); in read_commands()
321 __le16 *opcode = rp->opcodes; in read_commands()
329 __le16 *opcode = rp->opcodes; in read_commands()
339 rp, rp_size); in read_commands()
340 kfree(rp); in read_commands()
348 struct mgmt_rp_read_index_list *rp; in read_index_list() local
365 rp_len = sizeof(*rp) + (2 * count); in read_index_list()
366 rp = kmalloc(rp_len, GFP_ATOMIC); in read_index_list()
367 if (!rp) { in read_index_list()
387 rp->index[count++] = cpu_to_le16(d->id); in read_index_list()
392 rp->num_controllers = cpu_to_le16(count); in read_index_list()
393 rp_len = sizeof(*rp) + (2 * count); in read_index_list()
398 0, rp, rp_len); in read_index_list()
400 kfree(rp); in read_index_list()
408 struct mgmt_rp_read_unconf_index_list *rp; in read_unconf_index_list() local
425 rp_len = sizeof(*rp) + (2 * count); in read_unconf_index_list()
426 rp = kmalloc(rp_len, GFP_ATOMIC); in read_unconf_index_list()
427 if (!rp) { in read_unconf_index_list()
447 rp->index[count++] = cpu_to_le16(d->id); in read_unconf_index_list()
452 rp->num_controllers = cpu_to_le16(count); in read_unconf_index_list()
453 rp_len = sizeof(*rp) + (2 * count); in read_unconf_index_list()
458 MGMT_OP_READ_UNCONF_INDEX_LIST, 0, rp, rp_len); in read_unconf_index_list()
460 kfree(rp); in read_unconf_index_list()
468 struct mgmt_rp_read_ext_index_list *rp; in read_ext_index_list() local
484 rp_len = sizeof(*rp) + (sizeof(rp->entry[0]) * count); in read_ext_index_list()
485 rp = kmalloc(rp_len, GFP_ATOMIC); in read_ext_index_list()
486 if (!rp) { in read_ext_index_list()
506 rp->entry[count].type = 0x01; in read_ext_index_list()
508 rp->entry[count].type = 0x00; in read_ext_index_list()
510 rp->entry[count].type = 0x02; in read_ext_index_list()
515 rp->entry[count].bus = d->bus; in read_ext_index_list()
516 rp->entry[count++].index = cpu_to_le16(d->id); in read_ext_index_list()
520 rp->num_controllers = cpu_to_le16(count); in read_ext_index_list()
521 rp_len = sizeof(*rp) + (sizeof(rp->entry[0]) * count); in read_ext_index_list()
534 MGMT_OP_READ_EXT_INDEX_LIST, 0, rp, rp_len); in read_ext_index_list()
536 kfree(rp); in read_ext_index_list()
588 struct mgmt_rp_read_config_info rp; in read_config_info() local
595 memset(&rp, 0, sizeof(rp)); in read_config_info()
596 rp.manufacturer = cpu_to_le16(hdev->manufacturer); in read_config_info()
604 rp.supported_options = cpu_to_le32(options); in read_config_info()
605 rp.missing_options = get_missing_options(hdev); in read_config_info()
610 &rp, sizeof(rp)); in read_config_info()
1374 struct mgmt_rp_read_info rp; in read_controller_info() local
1380 memset(&rp, 0, sizeof(rp)); in read_controller_info()
1382 bacpy(&rp.bdaddr, &hdev->bdaddr); in read_controller_info()
1384 rp.version = hdev->hci_ver; in read_controller_info()
1385 rp.manufacturer = cpu_to_le16(hdev->manufacturer); in read_controller_info()
1387 rp.supported_settings = cpu_to_le32(get_supported_settings(hdev)); in read_controller_info()
1388 rp.current_settings = cpu_to_le32(get_current_settings(hdev)); in read_controller_info()
1390 memcpy(rp.dev_class, hdev->dev_class, 3); in read_controller_info()
1392 memcpy(rp.name, hdev->dev_name, sizeof(hdev->dev_name)); in read_controller_info()
1393 memcpy(rp.short_name, hdev->short_name, sizeof(hdev->short_name)); in read_controller_info()
1397 return mgmt_cmd_complete(sk, hdev->id, MGMT_OP_READ_INFO, 0, &rp, in read_controller_info()
1398 sizeof(rp)); in read_controller_info()
3027 struct mgmt_rp_unpair_device rp; in unpair_device() local
3034 memset(&rp, 0, sizeof(rp)); in unpair_device()
3035 bacpy(&rp.addr.bdaddr, &cp->addr.bdaddr); in unpair_device()
3036 rp.addr.type = cp->addr.type; in unpair_device()
3041 &rp, sizeof(rp)); in unpair_device()
3046 &rp, sizeof(rp)); in unpair_device()
3052 MGMT_STATUS_NOT_POWERED, &rp, in unpair_device()
3053 sizeof(rp)); in unpair_device()
3075 MGMT_STATUS_NOT_PAIRED, &rp, in unpair_device()
3076 sizeof(rp)); in unpair_device()
3091 MGMT_STATUS_NOT_PAIRED, &rp, in unpair_device()
3092 sizeof(rp)); in unpair_device()
3131 &rp, sizeof(rp)); in unpair_device()
3158 struct mgmt_rp_disconnect rp; in disconnect() local
3165 memset(&rp, 0, sizeof(rp)); in disconnect()
3166 bacpy(&rp.addr.bdaddr, &cp->addr.bdaddr); in disconnect()
3167 rp.addr.type = cp->addr.type; in disconnect()
3172 &rp, sizeof(rp)); in disconnect()
3178 MGMT_STATUS_NOT_POWERED, &rp, in disconnect()
3179 sizeof(rp)); in disconnect()
3185 MGMT_STATUS_BUSY, &rp, sizeof(rp)); in disconnect()
3198 MGMT_STATUS_NOT_CONNECTED, &rp, in disconnect()
3199 sizeof(rp)); in disconnect()
3242 struct mgmt_rp_get_connections *rp; in get_connections() local
3264 rp_len = sizeof(*rp) + (i * sizeof(struct mgmt_addr_info)); in get_connections()
3265 rp = kmalloc(rp_len, GFP_KERNEL); in get_connections()
3266 if (!rp) { in get_connections()
3275 bacpy(&rp->addr[i].bdaddr, &c->dst); in get_connections()
3276 rp->addr[i].type = link_to_bdaddr(c->type, c->dst_type); in get_connections()
3282 rp->conn_count = cpu_to_le16(i); in get_connections()
3285 rp_len = sizeof(*rp) + (i * sizeof(struct mgmt_addr_info)); in get_connections()
3287 err = mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CONNECTIONS, 0, rp, in get_connections()
3290 kfree(rp); in get_connections()
3422 struct mgmt_rp_pair_device rp; in pairing_complete() local
3426 bacpy(&rp.addr.bdaddr, &conn->dst); in pairing_complete()
3427 rp.addr.type = link_to_bdaddr(conn->type, conn->dst_type); in pairing_complete()
3430 status, &rp, sizeof(rp)); in pairing_complete()
3500 struct mgmt_rp_pair_device rp; in pair_device() local
3508 memset(&rp, 0, sizeof(rp)); in pair_device()
3509 bacpy(&rp.addr.bdaddr, &cp->addr.bdaddr); in pair_device()
3510 rp.addr.type = cp->addr.type; in pair_device()
3515 &rp, sizeof(rp)); in pair_device()
3520 &rp, sizeof(rp)); in pair_device()
3526 MGMT_STATUS_NOT_POWERED, &rp, in pair_device()
3527 sizeof(rp)); in pair_device()
3533 MGMT_STATUS_ALREADY_PAIRED, &rp, in pair_device()
3534 sizeof(rp)); in pair_device()
3581 status, &rp, sizeof(rp)); in pair_device()
3588 MGMT_STATUS_BUSY, &rp, sizeof(rp)); in pair_device()
3935 struct hci_rp_read_local_oob_data *rp = (void *) skb->data; in read_local_oob_data_complete() local
3937 if (skb->len < sizeof(*rp)) { in read_local_oob_data_complete()
3944 memcpy(mgmt_rp.hash192, rp->hash, sizeof(rp->hash)); in read_local_oob_data_complete()
3945 memcpy(mgmt_rp.rand192, rp->rand, sizeof(rp->rand)); in read_local_oob_data_complete()
3949 struct hci_rp_read_local_oob_ext_data *rp = (void *) skb->data; in read_local_oob_data_complete() local
3951 if (skb->len < sizeof(*rp)) { in read_local_oob_data_complete()
3958 memcpy(mgmt_rp.hash192, rp->hash192, sizeof(rp->hash192)); in read_local_oob_data_complete()
3959 memcpy(mgmt_rp.rand192, rp->rand192, sizeof(rp->rand192)); in read_local_oob_data_complete()
3961 memcpy(mgmt_rp.hash256, rp->hash256, sizeof(rp->hash256)); in read_local_oob_data_complete()
3962 memcpy(mgmt_rp.rand256, rp->rand256, sizeof(rp->rand256)); in read_local_oob_data_complete()
5719 struct mgmt_rp_get_conn_info rp; in conn_info_cmd_complete() local
5722 memcpy(&rp.addr, cmd->param, sizeof(rp.addr)); in conn_info_cmd_complete()
5725 rp.rssi = conn->rssi; in conn_info_cmd_complete()
5726 rp.tx_power = conn->tx_power; in conn_info_cmd_complete()
5727 rp.max_tx_power = conn->max_tx_power; in conn_info_cmd_complete()
5729 rp.rssi = HCI_RSSI_INVALID; in conn_info_cmd_complete()
5730 rp.tx_power = HCI_TX_POWER_INVALID; in conn_info_cmd_complete()
5731 rp.max_tx_power = HCI_TX_POWER_INVALID; in conn_info_cmd_complete()
5735 status, &rp, sizeof(rp)); in conn_info_cmd_complete()
5800 struct mgmt_rp_get_conn_info rp; in get_conn_info() local
5807 memset(&rp, 0, sizeof(rp)); in get_conn_info()
5808 bacpy(&rp.addr.bdaddr, &cp->addr.bdaddr); in get_conn_info()
5809 rp.addr.type = cp->addr.type; in get_conn_info()
5814 &rp, sizeof(rp)); in get_conn_info()
5820 MGMT_STATUS_NOT_POWERED, &rp, in get_conn_info()
5821 sizeof(rp)); in get_conn_info()
5833 MGMT_STATUS_NOT_CONNECTED, &rp, in get_conn_info()
5834 sizeof(rp)); in get_conn_info()
5840 MGMT_STATUS_BUSY, &rp, sizeof(rp)); in get_conn_info()
5904 rp.rssi = conn->rssi; in get_conn_info()
5905 rp.tx_power = conn->tx_power; in get_conn_info()
5906 rp.max_tx_power = conn->max_tx_power; in get_conn_info()
5909 MGMT_STATUS_SUCCESS, &rp, sizeof(rp)); in get_conn_info()
5920 struct mgmt_rp_get_clock_info rp; in clock_info_cmd_complete() local
5924 memset(&rp, 0, sizeof(rp)); in clock_info_cmd_complete()
5925 memcpy(&rp.addr, &cmd->param, sizeof(rp.addr)); in clock_info_cmd_complete()
5932 rp.local_clock = cpu_to_le32(hdev->clock); in clock_info_cmd_complete()
5937 rp.piconet_clock = cpu_to_le32(conn->clock); in clock_info_cmd_complete()
5938 rp.accuracy = cpu_to_le16(conn->clock_accuracy); in clock_info_cmd_complete()
5942 err = mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode, status, &rp, in clock_info_cmd_complete()
5943 sizeof(rp)); in clock_info_cmd_complete()
5989 struct mgmt_rp_get_clock_info rp; in get_clock_info() local
5998 memset(&rp, 0, sizeof(rp)); in get_clock_info()
5999 bacpy(&rp.addr.bdaddr, &cp->addr.bdaddr); in get_clock_info()
6000 rp.addr.type = cp->addr.type; in get_clock_info()
6005 &rp, sizeof(rp)); in get_clock_info()
6011 MGMT_STATUS_NOT_POWERED, &rp, in get_clock_info()
6012 sizeof(rp)); in get_clock_info()
6023 &rp, sizeof(rp)); in get_clock_info()
6668 struct hci_rp_read_local_oob_data *rp; in read_local_oob_ext_data_complete() local
6670 if (skb->len != sizeof(*rp)) { in read_local_oob_ext_data_complete()
6675 rp = (void *)skb->data; in read_local_oob_ext_data_complete()
6678 h192 = rp->hash; in read_local_oob_ext_data_complete()
6679 r192 = rp->rand; in read_local_oob_ext_data_complete()
6684 struct hci_rp_read_local_oob_ext_data *rp; in read_local_oob_ext_data_complete() local
6686 if (skb->len != sizeof(*rp)) { in read_local_oob_ext_data_complete()
6691 rp = (void *)skb->data; in read_local_oob_ext_data_complete()
6699 h192 = rp->hash192; in read_local_oob_ext_data_complete()
6700 r192 = rp->rand192; in read_local_oob_ext_data_complete()
6703 h256 = rp->hash256; in read_local_oob_ext_data_complete()
6704 r256 = rp->rand256; in read_local_oob_ext_data_complete()
6784 struct mgmt_rp_read_local_oob_ext_data *rp; in read_local_oob_ext_data() local
6818 rp_len = sizeof(*rp) + eir_len; in read_local_oob_ext_data()
6819 rp = kmalloc(rp_len, GFP_ATOMIC); in read_local_oob_ext_data()
6820 if (!rp) in read_local_oob_ext_data()
6840 eir_len = eir_append_data(rp->eir, eir_len, in read_local_oob_ext_data()
6880 eir_len = eir_append_data(rp->eir, eir_len, EIR_LE_BDADDR, in read_local_oob_ext_data()
6888 eir_len = eir_append_data(rp->eir, eir_len, EIR_LE_ROLE, in read_local_oob_ext_data()
6892 eir_len = eir_append_data(rp->eir, eir_len, in read_local_oob_ext_data()
6896 eir_len = eir_append_data(rp->eir, eir_len, in read_local_oob_ext_data()
6906 eir_len = eir_append_data(rp->eir, eir_len, EIR_FLAGS, in read_local_oob_ext_data()
6918 rp->type = cp->type; in read_local_oob_ext_data()
6919 rp->eir_len = cpu_to_le16(eir_len); in read_local_oob_ext_data()
6922 status, rp, sizeof(*rp) + eir_len); in read_local_oob_ext_data()
6927 rp, sizeof(*rp) + eir_len, in read_local_oob_ext_data()
6931 kfree(rp); in read_local_oob_ext_data()
6954 struct mgmt_rp_read_adv_features *rp; in read_adv_features() local
6969 rp_len = sizeof(*rp); in read_adv_features()
6975 rp = kmalloc(rp_len, GFP_ATOMIC); in read_adv_features()
6976 if (!rp) { in read_adv_features()
6983 rp->supported_flags = cpu_to_le32(supported_flags); in read_adv_features()
6984 rp->max_adv_data_len = HCI_MAX_AD_LENGTH; in read_adv_features()
6985 rp->max_scan_rsp_len = HCI_MAX_AD_LENGTH; in read_adv_features()
6986 rp->max_instances = HCI_MAX_ADV_INSTANCES; in read_adv_features()
6994 rp->instance[i] = adv_instance->instance; in read_adv_features()
6997 rp->num_instances = hdev->adv_instance_cnt; in read_adv_features()
6999 rp->num_instances = 0; in read_adv_features()
7005 MGMT_STATUS_SUCCESS, rp, rp_len); in read_adv_features()
7007 kfree(rp); in read_adv_features()
7060 struct mgmt_rp_add_advertising rp; in add_advertising_complete() local
7095 rp.instance = cp->instance; in add_advertising_complete()
7102 mgmt_status(status), &rp, sizeof(rp)); in add_advertising_complete()
7139 struct mgmt_rp_add_advertising rp; in add_advertising() local
7242 rp.instance = cp->instance; in add_advertising()
7244 MGMT_STATUS_SUCCESS, &rp, sizeof(rp)); in add_advertising()
7279 struct mgmt_rp_remove_advertising rp; in remove_advertising_complete() local
7294 rp.instance = cp->instance; in remove_advertising_complete()
7297 &rp, sizeof(rp)); in remove_advertising_complete()
7308 struct mgmt_rp_remove_advertising rp; in remove_advertising() local
7352 rp.instance = cp->instance; in remove_advertising()
7355 MGMT_STATUS_SUCCESS, &rp, sizeof(rp)); in remove_advertising()