uint32_t ble_gap_device_name_get_req_enc(uint8_t const * const p_dev_name, uint16_t const * const p_len, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_DEVICE_NAME_GET); SER_PUSH_COND(p_len, uint16_t_enc); SER_PUSH_COND(p_dev_name, NULL); SER_REQ_ENC_END; }
uint32_t ble_gap_encrypt_req_enc(uint16_t conn_handle, ble_gap_master_id_t const * const p_master_id, ble_gap_enc_info_t const * const p_enc_info, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_ENCRYPT); SER_PUSH_uint16(&conn_handle); SER_PUSH_COND(p_master_id, ble_gap_master_id_t_enc); SER_PUSH_COND(p_enc_info, ble_gap_enc_info_t_enc); SER_REQ_ENC_END; }
uint32_t ble_gap_data_length_update_req_enc(uint16_t conn_handle, ble_gap_data_length_params_t const * p_dl_params, ble_gap_data_length_limitation_t * p_dl_limitation, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_DATA_LENGTH_UPDATE); SER_PUSH_uint16(&conn_handle); SER_PUSH_COND(p_dl_params, ble_gap_data_length_params_t_enc); SER_PUSH_COND(p_dl_limitation, NULL); SER_REQ_ENC_END; }
uint32_t ble_gap_lesc_oob_data_set_req_enc(uint16_t conn_handle, ble_gap_lesc_oob_data_t const *p_oobd_own, ble_gap_lesc_oob_data_t const *p_oobd_peer, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_LESC_OOB_DATA_SET); SER_PUSH_uint16(&conn_handle); SER_PUSH_COND(p_oobd_own, ble_gap_lesc_oob_data_t_enc); SER_PUSH_COND(p_oobd_peer, ble_gap_lesc_oob_data_t_enc); SER_REQ_ENC_END; }
uint32_t ble_gattc_char_value_by_uuid_read_req_enc(uint16_t conn_handle, ble_uuid_t const * const p_uuid, ble_gattc_handle_range_t const * const p_handle_range, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GATTC_CHAR_VALUE_BY_UUID_READ); SER_PUSH_uint16(&conn_handle); SER_PUSH_COND(p_uuid, ble_uuid_t_enc); SER_PUSH_COND(p_handle_range, ble_gattc_handle_range_t_enc); SER_REQ_ENC_END; }
uint32_t ble_gap_connect_req_enc(ble_gap_addr_t const * const p_peer_addr, ble_gap_scan_params_t const * const p_scan_params, ble_gap_conn_params_t const * const p_conn_params, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_CONNECT); SER_PUSH_COND(p_peer_addr, ble_gap_addr_t_enc); SER_PUSH_COND(p_scan_params, ble_gap_scan_params_t_enc); SER_PUSH_COND(p_conn_params, ble_gap_conn_params_t_enc); SER_REQ_ENC_END; }
uint32_t ble_gatts_attr_t_enc(void const * const p_void_struct, uint8_t * const p_buf, uint32_t buf_len, uint32_t * const p_index) { SER_STRUCT_ENC_BEGIN(ble_gatts_attr_t); SER_PUSH_COND(p_struct->p_uuid, ble_uuid_t_enc); SER_PUSH_COND(p_struct->p_attr_md, ble_gatts_attr_md_t_enc); SER_PUSH_uint16(&p_struct->init_offs); SER_PUSH_uint16(&p_struct->max_len); SER_ERROR_CHECK(p_struct->init_len <= BLE_GATTS_VAR_ATTR_LEN_MAX, NRF_ERROR_INVALID_PARAM); SER_PUSH_len16data(p_struct->p_value, p_struct->init_len); SER_STRUCT_ENC_END; }
uint32_t ble_gap_sec_params_reply_req_enc(uint16_t conn_handle, uint8_t sec_status, ble_gap_sec_params_t const * const p_sec_params, ble_gap_sec_keyset_t const * const p_sec_keyset, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_SEC_PARAMS_REPLY); SER_PUSH_uint16(&conn_handle); SER_PUSH_uint8(&sec_status); SER_PUSH_COND(p_sec_params, ble_gap_sec_params_t_enc); SER_PUSH_COND(p_sec_keyset, ble_gap_sec_keyset_t_enc); SER_REQ_ENC_END; }
uint32_t ble_gap_whitelist_set_req_enc(ble_gap_addr_t const * const * const pp_wl_addrs, uint8_t const len, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_WHITELIST_SET); uint8_t presence; SER_PUSH_uint8(&len); if (pp_wl_addrs) { presence = SER_FIELD_PRESENT; SER_PUSH_uint8(&presence); for (uint32_t i = 0; i < len; ++i) { SER_PUSH_COND(pp_wl_addrs[i], ble_gap_addr_t_enc); } } else { presence = SER_FIELD_NOT_PRESENT; SER_PUSH_uint8(&presence); } SER_REQ_ENC_END; }
uint32_t ble_gap_sec_info_reply_req_enc(uint16_t conn_handle, ble_gap_enc_info_t const * p_enc_info, ble_gap_irk_t const * p_id_info, ble_gap_sign_info_t const * p_sign_info, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_SEC_INFO_REPLY); SER_PUSH_uint16(&conn_handle); SER_PUSH_COND(p_enc_info, ble_gap_enc_info_t_enc); SER_PUSH_COND(p_id_info, ble_gap_irk_t_enc); SER_PUSH_COND(p_sign_info, ble_gap_sign_info_t_enc); SER_REQ_ENC_END; }
uint32_t ble_gap_addr_set_req_enc(ble_gap_addr_t const * const p_addr, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_ADDR_SET); SER_PUSH_COND(p_addr, ble_gap_addr_t_enc); SER_REQ_ENC_END; }
uint32_t ble_gap_addr_get_req_enc(ble_gap_addr_t const * const p_address, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_ADDR_GET); SER_PUSH_COND(p_address, NULL); SER_REQ_ENC_END; }
uint32_t ble_gap_scan_start_req_enc(ble_gap_scan_params_t const * p_scan_params, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_SCAN_START); SER_PUSH_COND(p_scan_params, ble_gap_scan_params_t_enc); SER_REQ_ENC_END; }
uint32_t ble_gap_ppcp_set_req_enc(ble_gap_conn_params_t const * const p_conn_params, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_PPCP_SET); SER_PUSH_COND(p_conn_params, ble_gap_conn_params_t_enc); SER_REQ_ENC_END; }
uint32_t ble_gap_privacy_get_req_enc(ble_gap_privacy_params_t const * const p_privacy_params, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_PRIVACY_GET); SER_PUSH_COND(p_privacy_params, ble_gap_privacy_params_t_enc); SER_REQ_ENC_END; }
uint32_t ble_gap_appearance_get_req_enc(uint16_t const * const p_appearance, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_APPEARANCE_GET); SER_PUSH_COND(p_appearance, NULL); SER_REQ_ENC_END; }
uint32_t ble_uuid_vs_add_rsp_enc(uint32_t return_code, uint8_t * const p_buf, uint32_t * const p_buf_len, uint8_t const * const p_uuid_type) { SER_RSP_ENC_BEGIN(SD_BLE_UUID_VS_ADD); SER_PUSH_COND(p_uuid_type, uint8_t_enc); SER_RSP_ENC_END; }
uint32_t ble_uuid_decode_rsp_enc(uint32_t return_code, uint8_t * const p_buf, uint32_t * const p_buf_len, ble_uuid_t const * const p_uuid) { SER_RSP_ENC_BEGIN(SD_BLE_UUID_DECODE); SER_PUSH_COND(p_uuid, ble_uuid_t_enc); SER_RSP_ENC_END; }
uint32_t ble_tx_packet_count_get_rsp_enc(uint32_t return_code, uint8_t * const p_buf, uint32_t * const p_buf_len, uint8_t const * const p_count) { SER_RSP_ENC_BEGIN(SD_BLE_TX_PACKET_COUNT_GET); SER_PUSH_COND(p_count, uint8_t_enc); SER_RSP_ENC_END; }
uint32_t ble_gap_device_identities_set_req_enc(ble_gap_id_key_t const * const * const pp_id_keys, ble_gap_irk_t const * const * const pp_local_irks, uint8_t const len, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_DEVICE_IDENTITIES_SET); uint8_t presence; SER_PUSH_uint8(&len); if (pp_id_keys) { presence = SER_FIELD_PRESENT; SER_PUSH_uint8(&presence); for (uint32_t i = 0; i < len; ++i) { SER_PUSH_COND(pp_id_keys[i], ble_gap_id_key_t_enc); } } else { presence = SER_FIELD_NOT_PRESENT; SER_PUSH_uint8(&presence); } if (pp_local_irks) { presence = SER_FIELD_PRESENT; SER_PUSH_uint8(&presence); for (uint32_t i = 0; i < len; ++i) { SER_PUSH_COND(pp_local_irks[i], ble_gap_irk_t_enc); } } else { presence = SER_FIELD_NOT_PRESENT; SER_PUSH_uint8(&presence); } SER_REQ_ENC_END; }
uint32_t ble_gap_connect_req_enc(ble_gap_addr_t const * const p_peer_addr, ble_gap_scan_params_t const * const p_scan_params, ble_gap_conn_params_t const * const p_conn_params, #if NRF_SD_BLE_API_VERSION >= 4 uint8_t conn_cfg_tag, #endif uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_CONNECT); SER_PUSH_COND(p_peer_addr, ble_gap_addr_t_enc); SER_PUSH_COND(p_scan_params, ble_gap_scan_params_t_enc); SER_PUSH_COND(p_conn_params, ble_gap_conn_params_t_enc); #if NRF_SD_BLE_API_VERSION >= 4 SER_PUSH_uint8(&conn_cfg_tag); #endif SER_REQ_ENC_END; }
uint32_t ble_gap_rssi_get_req_enc(uint16_t conn_handle, int8_t const * const p_rssi, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_RSSI_GET); SER_PUSH_uint16(&conn_handle); SER_PUSH_COND(p_rssi, NULL); SER_REQ_ENC_END; }
uint32_t ble_gatts_char_md_t_enc(void const * const p_void_struct, uint8_t * const p_buf, uint32_t buf_len, uint32_t * const p_index) { SER_STRUCT_ENC_BEGIN(ble_gatts_char_md_t); SER_PUSH_FIELD(&p_struct->char_props, ble_gatt_char_props_t_enc); SER_PUSH_FIELD(&p_struct->char_ext_props, ble_gatt_char_ext_props_t_enc); SER_PUSH_uint16(&p_struct->char_user_desc_max_size); SER_ERROR_CHECK(p_struct->char_user_desc_size <= BLE_GATTS_VAR_ATTR_LEN_MAX, NRF_ERROR_INVALID_PARAM); SER_PUSH_len16data(p_struct->p_char_user_desc, p_struct->char_user_desc_size); SER_PUSH_COND(p_struct->p_char_pf, ble_gatts_char_pf_t_enc); SER_PUSH_COND(p_struct->p_user_desc_md, ble_gatts_attr_md_t_enc); SER_PUSH_COND(p_struct->p_cccd_md, ble_gatts_attr_md_t_enc); SER_PUSH_COND(p_struct->p_sccd_md, ble_gatts_attr_md_t_enc); SER_STRUCT_ENC_END; }
uint32_t ble_gattc_write_req_enc(uint16_t conn_handle, ble_gattc_write_params_t const * const p_write_params, uint8_t * const p_buf, uint32_t * p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GATTC_WRITE); SER_PUSH_uint16(&conn_handle); SER_PUSH_COND(p_write_params, ble_gattc_write_params_t_enc); SER_REQ_ENC_END; }
uint32_t ble_gap_phy_update_req_enc(uint16_t conn_handle, ble_gap_phys_t const * p_gap_phys, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_PHY_UPDATE); SER_PUSH_uint16(&conn_handle); SER_PUSH_COND(p_gap_phys, ble_gap_phys_t_enc); SER_REQ_ENC_END; }
uint32_t ble_gap_authenticate_req_enc(uint16_t conn_handle, ble_gap_sec_params_t const * const p_sec_params, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_AUTHENTICATE); SER_PUSH_uint16(&conn_handle); SER_PUSH_COND(p_sec_params, ble_gap_sec_params_t_enc); SER_REQ_ENC_END; }
uint32_t ble_gap_conn_param_update_req_enc(uint16_t conn_handle, ble_gap_conn_params_t const * const p_conn_params, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_CONN_PARAM_UPDATE); SER_PUSH_uint16(&conn_handle); SER_PUSH_COND(p_conn_params, ble_gap_conn_params_t_enc); SER_REQ_ENC_END; }
uint32_t ble_gap_conn_sec_get_req_enc(uint16_t conn_handle, ble_gap_conn_sec_t const * const p_conn_sec, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_CONN_SEC_GET); SER_PUSH_uint16(&conn_handle); SER_PUSH_COND(p_conn_sec, NULL); SER_REQ_ENC_END; }
uint32_t ble_gap_lesc_dhkey_reply_req_enc(uint16_t conn_handle, ble_gap_lesc_dhkey_t const *p_dhkey, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_LESC_DHKEY_REPLY); SER_PUSH_uint16(&conn_handle); SER_PUSH_COND(p_dhkey, ble_gap_lesc_dhkey_t_enc); SER_REQ_ENC_END; }
uint32_t ble_gattc_attr_info_discover_req_enc(uint16_t conn_handle, ble_gattc_handle_range_t const * const p_handle_range, uint8_t * const p_buf, uint32_t * p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GATTC_ATTR_INFO_DISCOVER); SER_PUSH_uint16(&conn_handle); SER_PUSH_COND(p_handle_range, ble_gattc_handle_range_t_enc); SER_REQ_ENC_END; }