15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 35738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Copyright (C) 2003-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/****************************************************************************** 205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * This is the interface file for audio gateway call-out functions. 225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/ 245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AG_CO_H 255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AG_CO_H 265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_ag_api.h" 285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Definitions for audio state callout function "state" parameter */ 305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AG_CO_AUD_STATE_OFF 0 315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AG_CO_AUD_STATE_OFF_XFER 1 /* Closed pending transfer of audio */ 325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AG_CO_AUD_STATE_ON 2 335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AG_CO_AUD_STATE_SETUP 3 345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_ag_co_init 385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This callout function is executed by AG when it is 405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** started by calling BTA_AgEnable(). This function can be 415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** used by the phone to initialize audio paths or for other 425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** initialization purposes. 435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns Void. 465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void bta_ag_co_init(void); 495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_ag_co_audio_state 535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called by the AG before the audio connection 555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is brought up, after it comes up, and after it goes down. 565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters handle - handle of the AG instance 585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** state - Audio state 595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BTA_AG_CO_AUD_STATE_OFF - Audio has been turned off 605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BTA_AG_CO_AUD_STATE_OFF_XFER - Audio is closed pending transfer 615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BTA_AG_CO_AUD_STATE_ON - Audio has been turned on 625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BTA_AG_CO_AUD_STATE_SETUP - Audio is about to be turned on 6366432dcffe211e317d35978283a04a96d5620bdfMatthew Xie** codec - if WBS support is compiled in, codec to going to be used is provided 6466432dcffe211e317d35978283a04a96d5620bdfMatthew Xie** and when in BTA_AG_CO_AUD_STATE_SETUP, BTM_I2SPCMConfig() must be called with 6566432dcffe211e317d35978283a04a96d5620bdfMatthew Xie** the correct platform parameters. 6666432dcffe211e317d35978283a04a96d5620bdfMatthew Xie** in the other states codec type should not be ignored 675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7166432dcffe211e317d35978283a04a96d5620bdfMatthew Xie#if (BTM_WBS_INCLUDED == TRUE ) 7266432dcffe211e317d35978283a04a96d5620bdfMatthew XieBTA_API extern void bta_ag_co_audio_state(UINT16 handle, UINT8 app_id, UINT8 state, 7366432dcffe211e317d35978283a04a96d5620bdfMatthew Xie tBTA_AG_PEER_CODEC codec); 7466432dcffe211e317d35978283a04a96d5620bdfMatthew Xie 7566432dcffe211e317d35978283a04a96d5620bdfMatthew Xie#else 765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void bta_ag_co_audio_state(UINT16 handle, UINT8 app_id, UINT8 state); 7766432dcffe211e317d35978283a04a96d5620bdfMatthew Xie#endif 785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_ag_co_data_open 825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is executed by AG when a service level connection 845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is opened. The phone can use this function to set 855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** up data paths or perform any required initialization or 865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** set up particular to the connected service. 875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void bta_ag_co_data_open(UINT16 handle, tBTA_SERVICE_ID service); 935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_ag_co_data_close 975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called by AG when a service level 995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** connection is closed 1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 1055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void bta_ag_co_data_close(UINT16 handle); 1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_ag_co_tx_write 1105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called by the AG to send data to the 1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** phone when the AG is configured for AT command pass-through. 1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** The implementation of this function must copy the data to 1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** the phone�s memory. 1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 1175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void bta_ag_co_tx_write(UINT16 handle, UINT8 *p_data, UINT16 len); 1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTA_AG_CO_H */ 1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 123