1/****************************************************************************** 2 * 3 * Copyright (C) 2004-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 pan call-in functions. 22 * 23 ******************************************************************************/ 24#ifndef BTA_PAN_CI_H 25#define BTA_PAN_CI_H 26 27#include "bta_pan_api.h" 28 29/***************************************************************************** 30** Function Declarations 31*****************************************************************************/ 32#ifdef __cplusplus 33extern "C" 34{ 35#endif 36 37/******************************************************************************* 38** 39** Function bta_pan_ci_tx_ready 40** 41** Description This function sends an event to PAN indicating the phone is 42** ready for more data and PAN should call bta_pan_co_tx_path(). 43** This function is used when the TX data path is configured 44** to use a pull interface. 45** 46** 47** Returns void 48** 49*******************************************************************************/ 50BTA_API extern void bta_pan_ci_tx_ready(UINT16 handle); 51 52/******************************************************************************* 53** 54** Function bta_pan_ci_rx_ready 55** 56** Description This function sends an event to PAN indicating the phone 57** has data available to send to PAN and PAN should call 58** bta_pan_co_rx_path(). This function is used when the RX 59** data path is configured to use a pull interface. 60** 61** 62** Returns void 63** 64*******************************************************************************/ 65BTA_API extern void bta_pan_ci_rx_ready(UINT16 handle); 66 67/******************************************************************************* 68** 69** Function bta_pan_ci_tx_flow 70** 71** Description This function is called to enable or disable data flow on 72** the TX path. The phone should call this function to 73** disable data flow when it is congested and cannot handle 74** any more data sent by bta_pan_co_tx_write() or 75** bta_pan_co_tx_writebuf(). This function is used when the 76** TX data path is configured to use a push interface. 77** 78** 79** Returns void 80** 81*******************************************************************************/ 82BTA_API extern void bta_pan_ci_tx_flow(UINT16 handle, BOOLEAN enable); 83 84/******************************************************************************* 85** 86** Function bta_pan_ci_rx_writebuf 87** 88** Description This function is called to send data to the phone when 89** the RX path is configured to use a push interface with 90** zero copy. The function sends an event to PAN containing 91** the data buffer. The buffer must be allocated using 92** functions GKI_getbuf() or GKI_getpoolbuf(). The buffer 93** will be freed by BTA; the phone must not free the buffer. 94** 95** 96** Returns TRUE if flow enabled 97** 98*******************************************************************************/ 99BTA_API extern void bta_pan_ci_rx_writebuf(UINT16 handle, BD_ADDR src, BD_ADDR dst, UINT16 protocol, BT_HDR *p_buf, BOOLEAN ext); 100 101/******************************************************************************* 102** 103** Function bta_pan_ci_readbuf 104** 105** Description This function is called by the phone to read data from PAN 106** when the TX path is configured to use a pull interface. 107** The phone must free the buffer using function GKI_freebuf() when 108** it is through processing the buffer. 109** 110** 111** Returns void 112** 113*******************************************************************************/ 114BTA_API extern BT_HDR * bta_pan_ci_readbuf(UINT16 handle, BD_ADDR src, BD_ADDR dst, UINT16 *p_protocol, 115 BOOLEAN* p_ext, BOOLEAN* p_forward); 116 117/******************************************************************************* 118** 119** Function bta_pan_ci_set_pfilters 120** 121** Description This function is called to set protocol filters 122** 123** 124** Returns void 125** 126*******************************************************************************/ 127BTA_API extern void bta_pan_ci_set_pfilters(UINT16 handle, UINT16 num_filters, UINT16 *p_start_array, UINT16 *p_end_array); 128 129 130/******************************************************************************* 131** 132** Function bta_pan_ci_set_mfilters 133** 134** Description This function is called to set multicast filters 135** 136** 137** Returns void 138** 139*******************************************************************************/ 140BTA_API extern void bta_pan_ci_set_mfilters(UINT16 handle, UINT16 num_mcast_filters, UINT8 *p_start_array, 141 UINT8 *p_end_array); 142 143 144 145 146#ifdef __cplusplus 147} 148#endif 149 150#endif /* BTA_PAN_CI_H */ 151 152