uint32_t ble_gap_auth_key_reply_req_enc(uint16_t conn_handle, uint8_t key_type, uint8_t const * const p_key, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_REQ_ENC_BEGIN(SD_BLE_GAP_AUTH_KEY_REPLY); uint8_t key_len; switch (key_type) { case BLE_GAP_AUTH_KEY_TYPE_NONE: key_len = 0; break; case BLE_GAP_AUTH_KEY_TYPE_PASSKEY: key_len = 6; break; case BLE_GAP_AUTH_KEY_TYPE_OOB: key_len = 16; break; default: return NRF_ERROR_INVALID_PARAM; } SER_PUSH_uint16(&conn_handle); SER_PUSH_uint8(&key_type); SER_PUSH_buf(p_key, key_len); SER_REQ_ENC_END; }
uint32_t ble_gatts_hvx_params_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_hvx_params_t); SER_PUSH_uint16(&p_struct->handle); SER_PUSH_uint8(&p_struct->type); SER_PUSH_uint16(&p_struct->offset); SER_PUSH_COND(p_struct->p_len, uint16_t_enc); if (p_struct->p_len) { SER_PUSH_buf(p_struct->p_data, *p_struct->p_len); } SER_STRUCT_ENC_END; }