1e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski/****************************************************************************** 2e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski * 3e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski * Copyright (C) 2016 Google, Inc. 4e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski * 5e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski * Licensed under the Apache License, Version 2.0 (the "License"); 6e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski * you may not use this file except in compliance with the License. 7e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski * You may obtain a copy of the License at: 8e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski * 9e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski * http://www.apache.org/licenses/LICENSE-2.0 10e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski * 11e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski * Unless required by applicable law or agreed to in writing, software 12e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski * distributed under the License is distributed on an "AS IS" BASIS, 13e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski * See the License for the specific language governing permissions and 15e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski * limitations under the License. 16e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski * 17e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski ******************************************************************************/ 18e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski 19e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski 20e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski#define LOG_TAG "bt_osi_metrics" 21e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski 22e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowskiextern "C" { 23e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski#include "osi/include/metrics.h" 24e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski} 25e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski 26e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowskivoid metrics_pair_event(uint32_t disconnect_reason, uint64_t timestamp_ms, 27e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski uint32_t device_class, device_type_t device_type) { 28e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski //TODO(jpawlowski): implement 29e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski} 30e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski 31e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowskivoid metrics_wake_event(wake_event_type_t type, const char *requestor, 32e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski const char *name, uint64_t timestamp_ms) { 33e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski //TODO(jpawlowski): implement 34e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski} 35e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski 36e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowskivoid metrics_scan_event(bool start, const char *initator, scan_tech_t type, 37e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski uint32_t results, uint64_t timestamp_ms) { 38e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski //TODO(jpawlowski): implement 39e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski} 40e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski 41e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowskivoid metrics_a2dp_session(int64_t session_duration_sec, 42e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski const char *disconnect_reason, 43e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski uint32_t device_class, 44e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski int32_t media_timer_min_ms, 45e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski int32_t media_timer_max_ms, 46e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski int32_t media_timer_avg_ms, 47e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski int32_t buffer_overruns_max_count, 48e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski int32_t buffer_overruns_total, 49e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski float buffer_underruns_average, 50e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski int32_t buffer_underruns_count) { 51e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski //TODO(jpawlowski): implement 52e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski} 53e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski 54e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowskivoid metrics_write(int fd, bool clear) { 55e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski //TODO(jpawlowski): implement 56e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski} 57e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski 58e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowskivoid metrics_print(int fd, bool clear) { 59e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski //TODO(jpawlowski): implement 60e4bc35bf8bfe06ea174607fde3b645f5f6e9b941Jakub Pawlowski} 61