1 /****************************************************************************** 2 * 3 * Copyright (C) 2003-2012 Broadcom Corporation 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at: 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ******************************************************************************/ 18 19 /****************************************************************************** 20 * 21 * This is the interface file for audio gateway call-out functions. 22 * 23 ******************************************************************************/ 24 #ifndef BTA_AG_CO_H 25 #define BTA_AG_CO_H 26 27 #include "bta_ag_api.h" 28 #include "hci/include/hci_audio.h" 29 30 /******************************************************************************* 31 ** 32 ** Function bta_ag_co_init 33 ** 34 ** Description This callout function is executed by AG when it is 35 ** started by calling BTA_AgEnable(). This function can be 36 ** used by the phone to initialize audio paths or for other 37 ** initialization purposes. 38 ** 39 ** 40 ** Returns Void. 41 ** 42 *******************************************************************************/ 43 extern void bta_ag_co_init(void); 44 45 /******************************************************************************* 46 ** 47 ** Function bta_ag_co_audio_state 48 ** 49 ** Description This function is called by the AG before the audio connection 50 ** is brought up, after it comes up, and after it goes down. 51 ** 52 ** Parameters handle - handle of the AG instance 53 ** state - Audio state 54 ** codec - if WBS support is compiled in, codec to going to be used is provided 55 ** and when in SCO_STATE_SETUP, BTM_I2SPCMConfig() must be called with 56 ** the correct platform parameters. 57 ** in the other states codec type should not be ignored 58 ** 59 ** Returns void 60 ** 61 *******************************************************************************/ 62 #if (BTM_WBS_INCLUDED == TRUE ) 63 extern void bta_ag_co_audio_state(UINT16 handle, UINT8 app_id, UINT8 state, 64 tBTA_AG_PEER_CODEC codec); 65 66 #else 67 extern void bta_ag_co_audio_state(UINT16 handle, UINT8 app_id, UINT8 state); 68 #endif 69 70 /******************************************************************************* 71 ** 72 ** Function bta_ag_co_data_open 73 ** 74 ** Description This function is executed by AG when a service level connection 75 ** is opened. The phone can use this function to set 76 ** up data paths or perform any required initialization or 77 ** set up particular to the connected service. 78 ** 79 ** 80 ** Returns void 81 ** 82 *******************************************************************************/ 83 extern void bta_ag_co_data_open(UINT16 handle, tBTA_SERVICE_ID service); 84 85 /******************************************************************************* 86 ** 87 ** Function bta_ag_co_data_close 88 ** 89 ** Description This function is called by AG when a service level 90 ** connection is closed 91 ** 92 ** 93 ** Returns void 94 ** 95 *******************************************************************************/ 96 extern void bta_ag_co_data_close(UINT16 handle); 97 98 /******************************************************************************* 99 ** 100 ** Function bta_ag_co_tx_write 101 ** 102 ** Description This function is called by the AG to send data to the 103 ** phone when the AG is configured for AT command pass-through. 104 ** The implementation of this function must copy the data to 105 ** the phone�s memory. 106 ** 107 ** Returns void 108 ** 109 *******************************************************************************/ 110 extern void bta_ag_co_tx_write(UINT16 handle, UINT8 *p_data, UINT16 len); 111 112 #endif /* BTA_AG_CO_H */ 113