15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 35738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Copyright (C) 2004-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 pan call-in functions. 225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/ 245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_PAN_CI_H 255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_PAN_CI_H 265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_pan_api.h" 285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function Declarations 315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus 335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern "C" 345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_pan_ci_tx_ready 405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function sends an event to PAN indicating the phone is 425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** ready for more data and PAN should call bta_pan_co_tx_path(). 435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** This function is used when the TX data path is configured 445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** to use a pull interface. 455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void bta_pan_ci_tx_ready(UINT16 handle); 515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_pan_ci_rx_ready 555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function sends an event to PAN indicating the phone 575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** has data available to send to PAN and PAN should call 585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** bta_pan_co_rx_path(). This function is used when the RX 595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** data path is configured to use a pull interface. 605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void bta_pan_ci_rx_ready(UINT16 handle); 665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_pan_ci_tx_flow 705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to enable or disable data flow on 725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** the TX path. The phone should call this function to 735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** disable data flow when it is congested and cannot handle 745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** any more data sent by bta_pan_co_tx_write() or 755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** bta_pan_co_tx_writebuf(). This function is used when the 765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** TX data path is configured to use a push interface. 775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void bta_pan_ci_tx_flow(UINT16 handle, BOOLEAN enable); 835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_pan_ci_rx_writebuf 875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to send data to the phone when 895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** the RX path is configured to use a push interface with 905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** zero copy. The function sends an event to PAN containing 915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** the data buffer. The buffer must be allocated using 925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** functions GKI_getbuf() or GKI_getpoolbuf(). The buffer 935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** will be freed by BTA; the phone must not free the buffer. 945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns TRUE if flow enabled 975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void bta_pan_ci_rx_writebuf(UINT16 handle, BD_ADDR src, BD_ADDR dst, UINT16 protocol, BT_HDR *p_buf, BOOLEAN ext); 1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_pan_ci_readbuf 1045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called by the phone to read data from PAN 1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** when the TX path is configured to use a pull interface. 1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** The phone must free the buffer using function GKI_freebuf() when 1085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** it is through processing the buffer. 1095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern BT_HDR * bta_pan_ci_readbuf(UINT16 handle, BD_ADDR src, BD_ADDR dst, UINT16 *p_protocol, 1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN* p_ext, BOOLEAN* p_forward); 1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_pan_ci_set_pfilters 1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to set protocol filters 1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void bta_pan_ci_set_pfilters(UINT16 handle, UINT16 num_filters, UINT16 *p_start_array, UINT16 *p_end_array); 1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_pan_ci_set_mfilters 1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to set multicast filters 1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTA_API extern void bta_pan_ci_set_mfilters(UINT16 handle, UINT16 num_mcast_filters, UINT8 *p_start_array, 1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_end_array); 1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus 1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTA_PAN_CI_H */ 1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 152