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 33 extern "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 *******************************************************************************/ 50 BTA_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 *******************************************************************************/ 65 BTA_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 *******************************************************************************/ 82 BTA_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 *******************************************************************************/ 99 BTA_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 *******************************************************************************/ 114 BTA_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 *******************************************************************************/ 127 BTA_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 *******************************************************************************/ 140 BTA_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