15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
35738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Copyright (C) 2009-2012 Broadcom Corporation
45738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
55738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Licensed under the Apache License, Version 2.0 (the "License");
65738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  you may not use this file except in compliance with the License.
75738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  You may obtain a copy of the License at:
85738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
95738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  http://www.apache.org/licenses/LICENSE-2.0
105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Unless required by applicable law or agreed to in writing, software
125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  distributed under the License is distributed on an "AS IS" BASIS,
135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  See the License for the specific language governing permissions and
155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  limitations under the License.
165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/
185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTIF_UTIL_H
205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTIF_UTIL_H
215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include <hardware/bluetooth.h>
235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include <hardware/bt_hf.h>
245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include <utils/Log.h>
25ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#include <sys/time.h>
265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "data_types.h"
285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bt_types.h"
295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**  Constants & Macros
325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project********************************************************************************/
335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define CASE_RETURN_STR(const) case const: return #const;
355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**  Type definitions for callback functions
395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project********************************************************************************/
405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef char bdstr_t[18];
425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**  Functions
465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project********************************************************************************/
475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_bt_status(bt_status_t status);
495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_dm_search_event(UINT16 event);
505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_dm_event(UINT16 event);
515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_hf_event(UINT16 event);
525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_hh_event(UINT16 event);
535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_hf_conn_state(UINT16 event);
545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_hf_call_state(bthf_call_state_t call_state);
555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_property_type(bt_property_type_t type);
565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_hf_audio_state(UINT16 event);
575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_adapter_scan_mode(bt_scan_mode_t mode);
585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_thread_evt(bt_cb_thread_evt evt);
595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_av_conn_state(UINT16 event);
605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectconst char* dump_av_audio_state(UINT16 event);
619adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajanconst char* dump_rc_event(UINT8 event);
629adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajanconst char* dump_rc_notification_event_id(UINT8 event_id);
639adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajanconst char* dump_rc_pdu(UINT8 pdu);
645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectint str2bd(char *str, bt_bdaddr_t *addr);
66ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battachar *bd2str(const bt_bdaddr_t *addr, bdstr_t *bdstr);
675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectUINT32 devclass2uint(DEV_CLASS dev_class);
695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid uint2devclass(UINT32 dev, DEV_CLASS dev_class);
705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid uuid16_to_uuid128(uint16_t uuid16, bt_uuid_t* uuid128);
715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid uuid_to_string(bt_uuid_t *p_uuid, char *str);
735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid string_to_uuid(char *str, bt_uuid_t *p_uuid);
745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectint ascii_2_hex (char *p_ascii, int len, UINT8 *p_hex);
755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTIF_UTIL_H */
77