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 implementation file for data gateway call-in functions. 225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/ 245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bt_target.h" 265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if defined(BTA_PAN_INCLUDED) && (BTA_PAN_INCLUDED == TRUE) 285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include <string.h> 305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "gki.h" 325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "pan_api.h" 335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bd.h" 345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_api.h" 355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_pan_api.h" 365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_pan_ci.h" 375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_pan_int.h" 385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_pan_ci_tx_ready 435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function sends an event to PAN indicating the phone is 455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** ready for more data and PAN should call bta_pan_co_tx_path(). 465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** This function is used when the TX data path is configured 475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** to use a pull interface. 485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid bta_pan_ci_tx_ready(UINT16 handle) 545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR *p_buf; 565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project if ((p_buf = (BT_HDR *) GKI_getbuf(sizeof(BT_HDR))) != NULL) 585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project p_buf->layer_specific = handle; 605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project p_buf->event = BTA_PAN_CI_TX_READY_EVT; 615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project bta_sys_sendmsg(p_buf); 625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_pan_ci_rx_ready 685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function sends an event to PAN indicating the phone 705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** has data available to send to PAN and PAN should call 715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** bta_pan_co_rx_path(). This function is used when the RX 725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** data path is configured to use a pull interface. 735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid bta_pan_ci_rx_ready(UINT16 handle) 795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR *p_buf; 815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project if ((p_buf = (BT_HDR *) GKI_getbuf(sizeof(BT_HDR))) != NULL) 835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project p_buf->layer_specific = handle; 855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project p_buf->event = BTA_PAN_CI_RX_READY_EVT; 865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project bta_sys_sendmsg(p_buf); 875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_pan_ci_tx_flow 935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to enable or disable data flow on 955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** the TX path. The phone should call this function to 965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** disable data flow when it is congested and cannot handle 975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** any more data sent by bta_pan_co_tx_write() or 985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** bta_pan_co_tx_writebuf(). This function is used when the 995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** TX data path is configured to use a push interface. 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 Projectvoid bta_pan_ci_tx_flow(UINT16 handle, BOOLEAN enable) 1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_PAN_CI_TX_FLOW *p_buf; 1085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project if ((p_buf = (tBTA_PAN_CI_TX_FLOW *) GKI_getbuf(sizeof(tBTA_PAN_CI_TX_FLOW))) != NULL) 1105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project p_buf->hdr.layer_specific = handle; 1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project p_buf->hdr.event = BTA_PAN_CI_TX_FLOW_EVT; 1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project p_buf->enable = enable; 1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project bta_sys_sendmsg(p_buf); 1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 1175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_pan_ci_rx_write 1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to send data to PAN when the RX path 1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is configured to use a push interface. The function copies 1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** data to an event buffer and sends it to PAN. 1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid bta_pan_ci_rx_write(UINT16 handle, BD_ADDR dst, BD_ADDR src, UINT16 protocol, 1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_data, UINT16 len, BOOLEAN ext) 1325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR * p_buf; 1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project if((p_buf = (BT_HDR *) GKI_getpoolbuf(PAN_POOL_ID)) != NULL) 1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project p_buf->offset = PAN_MINIMUM_OFFSET; 1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* copy all other params before the data */ 1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project bdcpy(((tBTA_PAN_DATA_PARAMS *)p_buf)->src, src); 1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project bdcpy(((tBTA_PAN_DATA_PARAMS *)p_buf)->dst, dst); 1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ((tBTA_PAN_DATA_PARAMS *)p_buf)->protocol = protocol; 1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ((tBTA_PAN_DATA_PARAMS *)p_buf)->ext = ext; 1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project p_buf->len=len; 1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* copy data */ 1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project memcpy((UINT8 *)(p_buf + 1) + p_buf->offset, p_data, len); 1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project p_buf->layer_specific = handle; 1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project p_buf->event = BTA_PAN_CI_RX_WRITEBUF_EVT; 1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project bta_sys_sendmsg(p_buf); 1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_pan_ci_rx_writebuf 1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to send data to the phone when 1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** the RX path is configured to use a push interface with 1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** zero copy. The function sends an event to PAN containing 1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** the data buffer. The buffer must be allocated using 1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** functions GKI_getbuf() or GKI_getpoolbuf(). The buffer 1675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** will be freed by BTA; the phone must not free the buffer. 1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid bta_pan_ci_rx_writebuf(UINT16 handle, BD_ADDR dst, BD_ADDR src, UINT16 protocol, 1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR *p_buf, BOOLEAN ext) 1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* copy all other params before the data */ 1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project bdcpy(((tBTA_PAN_DATA_PARAMS *)p_buf)->src, src); 1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project bdcpy(((tBTA_PAN_DATA_PARAMS *)p_buf)->dst, dst); 1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ((tBTA_PAN_DATA_PARAMS *)p_buf)->protocol = protocol; 1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ((tBTA_PAN_DATA_PARAMS *)p_buf)->ext = ext; 1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project p_buf->layer_specific = handle; 1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project p_buf->event = BTA_PAN_CI_RX_WRITEBUF_EVT; 1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project bta_sys_sendmsg(p_buf); 1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_pan_ci_readbuf 1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description 1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBT_HDR * bta_pan_ci_readbuf(UINT16 handle, BD_ADDR src, BD_ADDR dst, UINT16* p_protocol, 2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN* p_ext, BOOLEAN* p_forward) 2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_PAN_SCB * p_scb; 2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR * p_buf; 2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project p_scb = bta_pan_scb_by_handle(handle); 2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project p_buf = (BT_HDR *)GKI_dequeue(&p_scb->data_queue); 2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project if(p_buf) 2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project { 2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project bdcpy(src,((tBTA_PAN_DATA_PARAMS *)p_buf)->src); 2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project bdcpy(dst,((tBTA_PAN_DATA_PARAMS *)p_buf)->dst); 2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *p_protocol = ((tBTA_PAN_DATA_PARAMS *)p_buf)->protocol; 2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *p_ext = ((tBTA_PAN_DATA_PARAMS *)p_buf)->ext; 2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *p_forward = ((tBTA_PAN_DATA_PARAMS *)p_buf)->forward; 2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project } 2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project return p_buf; 2215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 2255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_pan_ci_set_mfilters 2275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to set multicast filters 2295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 2325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 2345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid bta_pan_ci_set_mfilters(UINT16 handle, UINT16 num_mcast_filters, UINT8 *p_start_array, 2355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_end_array) 2365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project PAN_SetMulticastFilters(handle, num_mcast_filters, p_start_array, p_end_array); 2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 2415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 2445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function bta_pan_ci_set_mfilters 2465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to set protocol filters 2485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 2515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid bta_pan_ci_set_pfilters(UINT16 handle, UINT16 num_filters, UINT16 *p_start_array, UINT16 *p_end_array) 2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project PAN_SetProtocolFilters(handle, num_filters, p_start_array, p_end_array ); 2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTA_PAN_API */ 261