Lines Matching refs:response_buffer
306 static uint16_t setup_error(uint8_t * response_buffer, uint8_t request_opcode, uint16_t handle, uin… in setup_error() argument
307 response_buffer[0] = (uint8_t)ATT_ERROR_RESPONSE; in setup_error()
308 response_buffer[1] = request_opcode; in setup_error()
309 little_endian_store_16(response_buffer, 2, handle); in setup_error()
310 response_buffer[4] = error_code; in setup_error()
314 static inline uint16_t setup_error_read_not_permitted(uint8_t * response_buffer, uint8_t request_op… in setup_error_read_not_permitted() argument
315 return setup_error(response_buffer, request_opcode, start_handle, ATT_ERROR_READ_NOT_PERMITTED); in setup_error_read_not_permitted()
318 static inline uint16_t setup_error_write_not_permitted(uint8_t * response_buffer, uint8_t request, … in setup_error_write_not_permitted() argument
319 return setup_error(response_buffer, request, start_handle, ATT_ERROR_WRITE_NOT_PERMITTED); in setup_error_write_not_permitted()
322 static inline uint16_t setup_error_atribute_not_found(uint8_t * response_buffer, uint8_t request_op… in setup_error_atribute_not_found() argument
323 … return setup_error(response_buffer, request_opcode, start_handle, ATT_ERROR_ATTRIBUTE_NOT_FOUND); in setup_error_atribute_not_found()
326 static inline uint16_t setup_error_invalid_handle(uint8_t * response_buffer, uint8_t request_opcode… in setup_error_invalid_handle() argument
327 return setup_error(response_buffer, request_opcode, handle, ATT_ERROR_INVALID_HANDLE); in setup_error_invalid_handle()
330 static inline uint16_t setup_error_invalid_offset(uint8_t * response_buffer, uint8_t request_opcode… in setup_error_invalid_offset() argument
331 return setup_error(response_buffer, request_opcode, handle, ATT_ERROR_INVALID_OFFSET); in setup_error_invalid_offset()
334 static inline uint16_t setup_error_invalid_pdu(uint8_t *response_buffer, uint8_t request_opcode) { in setup_error_invalid_pdu() argument
335 return setup_error(response_buffer, request_opcode, 0, ATT_ERROR_INVALID_PDU); in setup_error_invalid_pdu()
416 uint8_t * response_buffer){ in handle_exchange_mtu_request() argument
419 return setup_error_invalid_pdu(response_buffer, ATT_EXCHANGE_MTU_REQUEST); in handle_exchange_mtu_request()
430 response_buffer[0] = ATT_EXCHANGE_MTU_RESPONSE; in handle_exchange_mtu_request()
431 little_endian_store_16(response_buffer, 1, att_connection->mtu); in handle_exchange_mtu_request()
441 …nd_information_request2(att_connection_t * att_connection, uint8_t * response_buffer, uint16_t res… in handle_find_information_request2() argument
450 return setup_error_invalid_handle(response_buffer, request_type, start_handle); in handle_find_information_request2()
485 response_buffer[offset] = (it.flags & (uint16_t)ATT_PROPERTY_UUID128) ? 0x02u : 0x01u; in handle_find_information_request2()
495 little_endian_store_16(response_buffer, offset, it.handle); in handle_find_information_request2()
498 (void)memcpy(response_buffer + offset, it.uuid, uuid_len); in handle_find_information_request2()
503 return setup_error_atribute_not_found(response_buffer, request_type, start_handle); in handle_find_information_request2()
506 response_buffer[0] = ATT_FIND_INFORMATION_REPLY; in handle_find_information_request2()
511 uint8_t * response_buffer, uint16_t response_buffer_size){ in handle_find_information_request() argument
514 return setup_error_invalid_pdu(response_buffer, ATT_FIND_INFORMATION_REQUEST); in handle_find_information_request()
519 …return handle_find_information_request2(att_connection, response_buffer, response_buffer_size, sta… in handle_find_information_request()
535 … uint8_t * response_buffer, uint16_t response_buffer_size){ in handle_find_by_type_value_request() argument
539 return setup_error_invalid_pdu(response_buffer, ATT_FIND_BY_TYPE_VALUE_REQUEST); in handle_find_by_type_value_request()
554 return setup_error_invalid_handle(response_buffer, request_type, start_handle); in handle_find_by_type_value_request()
578 little_endian_store_16(response_buffer, offset, prev_handle); in handle_find_by_type_value_request()
594 little_endian_store_16(response_buffer, offset, it.handle); in handle_find_by_type_value_request()
601 return setup_error_atribute_not_found(response_buffer, request_type, start_handle); in handle_find_by_type_value_request()
604 response_buffer[0] = ATT_FIND_BY_TYPE_VALUE_RESPONSE; in handle_find_by_type_value_request()
611 …e_read_by_type_request2(att_connection_t * att_connection, uint8_t * response_buffer, uint16_t res… in handle_read_by_type_request2() argument
620 return setup_error_invalid_handle(response_buffer, request_type, start_handle); in handle_read_by_type_request2()
680 response_buffer[offset] = (uint8_t) pair_len; in handle_read_by_type_request2()
690 response_buffer[1u] = 2u + it.value_len; in handle_read_by_type_request2()
694 little_endian_store_16(response_buffer, offset, it.handle); in handle_read_by_type_request2()
696 …uint16_t bytes_copied = att_copy_value(&it, 0, response_buffer + offset, it.value_len, att_connect… in handle_read_by_type_request2()
702 response_buffer[0] = ATT_READ_BY_TYPE_RESPONSE; in handle_read_by_type_request2()
708 return setup_error(response_buffer, request_type, start_handle, error_code); in handle_read_by_type_request2()
713 …return setup_error_read_not_permitted(response_buffer, request_type, first_matching_but_unreadable… in handle_read_by_type_request2()
717 return setup_error_atribute_not_found(response_buffer, request_type, start_handle); in handle_read_by_type_request2()
721 uint8_t * response_buffer, uint16_t response_buffer_size){ in handle_read_by_type_request() argument
732 return setup_error_invalid_pdu(response_buffer, ATT_READ_BY_TYPE_REQUEST); in handle_read_by_type_request()
737 …return handle_read_by_type_request2(att_connection, response_buffer, response_buffer_size, start_h… in handle_read_by_type_request()
743 static uint16_t handle_read_request2(att_connection_t * att_connection, uint8_t * response_buffer, … in handle_read_request2() argument
751 return setup_error_invalid_handle(response_buffer, request_type, handle); in handle_read_request2()
756 return setup_error_read_not_permitted(response_buffer, request_type, handle); in handle_read_request2()
762 return setup_error(response_buffer, request_type, handle, error_code); in handle_read_request2()
776 return setup_error(response_buffer, request_type, handle, error_code); in handle_read_request2()
781 …uint16_t bytes_copied = att_copy_value(&it, 0, response_buffer + offset, response_buffer_size - of… in handle_read_request2()
784 response_buffer[0] = ATT_READ_RESPONSE; in handle_read_request2()
789 uint8_t * response_buffer, uint16_t response_buffer_size){ in handle_read_request() argument
792 return setup_error_invalid_pdu(response_buffer, ATT_READ_REQUEST); in handle_read_request()
796 return handle_read_request2(att_connection, response_buffer, response_buffer_size, handle); in handle_read_request()
802 …ndle_read_blob_request2(att_connection_t * att_connection, uint8_t * response_buffer, uint16_t res… in handle_read_blob_request2() argument
809 return setup_error_invalid_handle(response_buffer, request_type, handle); in handle_read_blob_request2()
814 return setup_error_read_not_permitted(response_buffer, request_type, handle); in handle_read_blob_request2()
820 return setup_error(response_buffer, request_type, handle, error_code); in handle_read_blob_request2()
834 return setup_error(response_buffer, request_type, handle, error_code); in handle_read_blob_request2()
838 return setup_error_invalid_offset(response_buffer, request_type, handle); in handle_read_blob_request2()
842 response_buffer[0] = ATT_READ_BLOB_RESPONSE; in handle_read_blob_request2()
847 …uint16_t bytes_copied = att_copy_value(&it, value_offset, &response_buffer[offset], response_buffe… in handle_read_blob_request2()
854 uint8_t * response_buffer, uint16_t response_buffer_size){ in handle_read_blob_request() argument
857 return setup_error_invalid_pdu(response_buffer, ATT_READ_BLOB_REQUEST); in handle_read_blob_request()
862 …return handle_read_blob_request2(att_connection, response_buffer, response_buffer_size, handle, va… in handle_read_blob_request()
869 …_read_multiple_request2(att_connection_t * att_connection, uint8_t * response_buffer, uint16_t res… in handle_read_multiple_request2() argument
887 return setup_error_invalid_handle(response_buffer, request_type, handle); in handle_read_multiple_request2()
894 return setup_error_invalid_handle(response_buffer, request_type, handle); in handle_read_multiple_request2()
938 …uint16_t bytes_copied = att_copy_value(&it, 0, response_buffer + offset, response_buffer_size - of… in handle_read_multiple_request2()
943 little_endian_store_16(response_buffer, offset_value_length, bytes_copied); in handle_read_multiple_request2()
949 return setup_error(response_buffer, request_type, handle, error_code); in handle_read_multiple_request2()
952 response_buffer[0] = (uint8_t)response_type; in handle_read_multiple_request2()
958 … uint8_t *response_buffer, uint16_t response_buffer_size, bool store_length) { in handle_read_multiple_request() argument
964 return setup_error_invalid_pdu(response_buffer, request_type); in handle_read_multiple_request()
968 …return handle_read_multiple_request2(att_connection, response_buffer, response_buffer_size, num_ha… in handle_read_multiple_request()
988 …_by_group_type_request2(att_connection_t * att_connection, uint8_t * response_buffer, uint16_t res… in handle_read_by_group_type_request2() argument
999 return setup_error_invalid_handle(response_buffer, request_type, start_handle); in handle_read_by_group_type_request2()
1005 … return setup_error(response_buffer, request_type, start_handle, ATT_ERROR_UNSUPPORTED_GROUP_TYPE); in handle_read_by_group_type_request2()
1034 little_endian_store_16(response_buffer, offset, group_start_handle); in handle_read_by_group_type_request2()
1036 little_endian_store_16(response_buffer, offset, prev_handle); in handle_read_by_group_type_request2()
1038 (void)memcpy(response_buffer + offset, group_start_value, in handle_read_by_group_type_request2()
1069 response_buffer[offset] = (uint8_t) this_pair_len; in handle_read_by_group_type_request2()
1080 return setup_error_atribute_not_found(response_buffer, request_type, start_handle); in handle_read_by_group_type_request2()
1083 response_buffer[0] = ATT_READ_BY_GROUP_TYPE_RESPONSE; in handle_read_by_group_type_request2()
1088 … uint8_t * response_buffer, uint16_t response_buffer_size){ in handle_read_by_group_type_request() argument
1098 return setup_error_invalid_pdu(response_buffer, ATT_READ_BY_GROUP_TYPE_REQUEST); in handle_read_by_group_type_request()
1103 …return handle_read_by_group_type_request2(att_connection, response_buffer, response_buffer_size, s… in handle_read_by_group_type_request()
1109 uint8_t * response_buffer, uint16_t response_buffer_size){ in handle_write_request() argument
1114 return setup_error_invalid_pdu(response_buffer, ATT_WRITE_REQUEST); in handle_write_request()
1123 return setup_error_invalid_handle(response_buffer, request_type, handle); in handle_write_request()
1126 return setup_error_write_not_permitted(response_buffer, request_type, handle); in handle_write_request()
1129 return setup_error_write_not_permitted(response_buffer, request_type, handle); in handle_write_request()
1132 return setup_error_write_not_permitted(response_buffer, request_type, handle); in handle_write_request()
1137 return setup_error(response_buffer, request_type, handle, error_code); in handle_write_request()
1149 return setup_error(response_buffer, request_type, handle, error_code); in handle_write_request()
1151 response_buffer[0] = (uint8_t)ATT_WRITE_RESPONSE; in handle_write_request()
1158 uint8_t * response_buffer, uint16_t response_buffer_size){ in handle_prepare_write_request() argument
1163 return setup_error_invalid_pdu(response_buffer, request_type); in handle_prepare_write_request()
1169 return setup_error_write_not_permitted(response_buffer, request_type, handle); in handle_prepare_write_request()
1173 return setup_error_invalid_handle(response_buffer, request_type, handle); in handle_prepare_write_request()
1176 return setup_error_write_not_permitted(response_buffer, request_type, handle); in handle_prepare_write_request()
1179 return setup_error_write_not_permitted(response_buffer, request_type, handle); in handle_prepare_write_request()
1184 return setup_error(response_buffer, request_type, handle, error_code); in handle_prepare_write_request()
1201 return setup_error(response_buffer, request_type, handle, error_code); in handle_prepare_write_request()
1206 (void)memcpy(response_buffer, request_buffer, bytes_to_echo); in handle_prepare_write_request()
1207 response_buffer[0] = ATT_PREPARE_WRITE_RESPONSE; in handle_prepare_write_request()
1221 uint8_t * response_buffer, uint16_t response_buffer_size){ in handle_execute_write_request() argument
1228 return setup_error_invalid_pdu(response_buffer, request_type); in handle_execute_write_request()
1232 return setup_error_write_not_permitted(response_buffer, request_type, 0); in handle_execute_write_request()
1251 return setup_error(response_buffer, request_type, handle, error_code); in handle_execute_write_request()
1257 response_buffer[0] = ATT_EXECUTE_WRITE_RESPONSE; in handle_execute_write_request()
1298 uint8_t * response_buffer){ in prepare_handle_value() argument
1299 little_endian_store_16(response_buffer, 1, handle); in prepare_handle_value()
1301 (void)memcpy(&response_buffer[3], value, bytes_to_copy); in prepare_handle_value()
1310 uint8_t * response_buffer){ in att_prepare_handle_value_notification() argument
1312 response_buffer[0] = ATT_HANDLE_VALUE_NOTIFICATION; in att_prepare_handle_value_notification()
1313 … return prepare_handle_value(att_connection, attribute_handle, value, value_len, response_buffer); in att_prepare_handle_value_notification()
1322 uint8_t * response_buffer){ in att_prepare_handle_value_multiple_notification() argument
1324 response_buffer[0] = ATT_MULTIPLE_HANDLE_VALUE_NTF; in att_prepare_handle_value_multiple_notification()
1333 little_endian_store_16(response_buffer, offset, attribute_handles[i]); in att_prepare_handle_value_multiple_notification()
1335 little_endian_store_16(response_buffer, offset, value_len); in att_prepare_handle_value_multiple_notification()
1337 (void) memcpy(&response_buffer[offset], values_data[i], value_len); in att_prepare_handle_value_multiple_notification()
1348 uint8_t * response_buffer){ in att_prepare_handle_value_indication() argument
1350 response_buffer[0] = ATT_HANDLE_VALUE_INDICATION; in att_prepare_handle_value_indication()
1351 … return prepare_handle_value(att_connection, attribute_handle, value, value_len, response_buffer); in att_prepare_handle_value_indication()
1358 uint8_t * response_buffer){ in att_handle_request() argument
1365 …se_len = handle_exchange_mtu_request(att_connection, request_buffer, request_len, response_buffer); in att_handle_request()
1368 …find_information_request(att_connection, request_buffer, request_len,response_buffer, response_buf… in att_handle_request()
1371 …d_by_type_value_request(att_connection, request_buffer, request_len, response_buffer, response_buf… in att_handle_request()
1374 …le_read_by_type_request(att_connection, request_buffer, request_len, response_buffer, response_buf… in att_handle_request()
1377 …n = handle_read_request(att_connection, request_buffer, request_len, response_buffer, response_buf… in att_handle_request()
1380 …andle_read_blob_request(att_connection, request_buffer, request_len, response_buffer, response_buf… in att_handle_request()
1383 …se_len = handle_read_multiple_request(att_connection, request_buffer, request_len, response_buffer, in att_handle_request()
1387 …se_len = handle_read_multiple_request(att_connection, request_buffer, request_len, response_buffer, in att_handle_request()
1391 …d_by_group_type_request(att_connection, request_buffer, request_len, response_buffer, response_buf… in att_handle_request()
1394 … = handle_write_request(att_connection, request_buffer, request_len, response_buffer, response_buf… in att_handle_request()
1397 …e_prepare_write_request(att_connection, request_buffer, request_len, response_buffer, response_buf… in att_handle_request()
1400 …e_execute_write_request(att_connection, request_buffer, request_len, response_buffer, response_buf… in att_handle_request()
1411 … response_len = setup_error(response_buffer, request_opcode, 0, ATT_ERROR_REQUEST_NOT_SUPPORTED); in att_handle_request()
1769 …nt16_t start_handle, uint16_t end_handle, uint16_t uuid16, uint8_t * response_buffer, uint16_t res… in btp_att_get_attributes_by_uuid16() argument
1791 little_endian_store_16(response_buffer, pos, it.handle); in btp_att_get_attributes_by_uuid16()
1793 response_buffer[pos++] = btp_permissions_for_flags(it.flags); in btp_att_get_attributes_by_uuid16()
1794 response_buffer[pos++] = 2; in btp_att_get_attributes_by_uuid16()
1795 little_endian_store_16(response_buffer, pos, uuid16); in btp_att_get_attributes_by_uuid16()
1800 response_buffer[0] = num_attributes; in btp_att_get_attributes_by_uuid16()
1804 …tart_handle, uint16_t end_handle, const uint8_t * uuid128, uint8_t * response_buffer, uint16_t res… in btp_att_get_attributes_by_uuid128() argument
1821 little_endian_store_16(response_buffer, pos, it.handle); in btp_att_get_attributes_by_uuid128()
1823 response_buffer[pos++] = btp_permissions_for_flags(it.flags); in btp_att_get_attributes_by_uuid128()
1824 response_buffer[pos++] = 16; in btp_att_get_attributes_by_uuid128()
1825 reverse_128(uuid128, &response_buffer[pos]); in btp_att_get_attributes_by_uuid128()
1830 response_buffer[0] = num_attributes; in btp_att_get_attributes_by_uuid128()
1834 …_connection_t * att_connection, uint16_t attribute_handle, uint8_t * response_buffer, uint16_t res… in btp_att_get_attribute_value() argument
1843 response_buffer[pos++] = att_validate_security(att_connection, ATT_READ, &it); in btp_att_get_attribute_value()
1848 little_endian_store_16(response_buffer, pos, bytes_to_copy); in btp_att_get_attribute_value()
1852 memcpy(&response_buffer[pos], it.value, bytes_to_copy); in btp_att_get_attribute_value()