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 private interface file for the BTA data gateway.
225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/
245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_PAN_INT_H
255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_PAN_INT_H
265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_sys.h"
285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_pan_api.h"
295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*****************************************************************************
315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**  Constants
325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/
335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* PAN events */
385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum
395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* these events are handled by the state machine */
415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_PAN_API_CLOSE_EVT = BTA_SYS_EVT_START(BTA_ID_PAN),
425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_PAN_CI_TX_READY_EVT,
435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_PAN_CI_RX_READY_EVT,
445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_PAN_CI_TX_FLOW_EVT,
455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_PAN_CI_RX_WRITE_EVT,
465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_PAN_CI_RX_WRITEBUF_EVT,
475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_PAN_CONN_OPEN_EVT,
485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_PAN_CONN_CLOSE_EVT,
495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_PAN_BNEP_FLOW_ENABLE_EVT,
505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_PAN_RX_FROM_BNEP_READY_EVT,
515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* these events are handled outside of the state machine */
535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_PAN_API_ENABLE_EVT,
545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_PAN_API_DISABLE_EVT,
555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_PAN_API_SET_ROLE_EVT,
565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_PAN_API_OPEN_EVT
575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5936f43cc4b0ce38007c29d573f251ec594d95b180Nitin Shivpure/* state machine states */
6036f43cc4b0ce38007c29d573f251ec594d95b180Nitin Shivpureenum
6136f43cc4b0ce38007c29d573f251ec594d95b180Nitin Shivpure{
6236f43cc4b0ce38007c29d573f251ec594d95b180Nitin Shivpure    BTA_PAN_IDLE_ST,
6336f43cc4b0ce38007c29d573f251ec594d95b180Nitin Shivpure    BTA_PAN_OPEN_ST,
6436f43cc4b0ce38007c29d573f251ec594d95b180Nitin Shivpure    BTA_PAN_CLOSING_ST
6536f43cc4b0ce38007c29d573f251ec594d95b180Nitin Shivpure};
6636f43cc4b0ce38007c29d573f251ec594d95b180Nitin Shivpure
675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*****************************************************************************
715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**  Data types
725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/
735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_PAN_API_ENABLE_EVT */
755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;                        /* Event header */
785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PAN_CBACK     *p_cback;                    /* PAN callback function */
795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_PAN_API_ENABLE;
805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_PAN_API_REG_ROLE_EVT */
825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;                             /* Event header */
855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    char                user_name[BTA_SERVICE_NAME_LEN+1];   /* Service name */
865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    char                gn_name[BTA_SERVICE_NAME_LEN+1];     /* Service name */
875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    char                nap_name[BTA_SERVICE_NAME_LEN+1];    /* Service name */
885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PAN_ROLE       role;
895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               user_app_id;
905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               gn_app_id;
915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               nap_app_id;
925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SEC            user_sec_mask;                   /* Security mask */
935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SEC            gn_sec_mask;                     /* Security mask */
945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SEC            nap_sec_mask;                    /* Security mask */
955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_PAN_API_SET_ROLE;
985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_PAN_API_OPEN_EVT */
1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;                        /* Event header */
1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PAN_ROLE        local_role;                 /* local role */
1045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PAN_ROLE        peer_role;                  /* peer role */
1055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR             bd_addr;                    /* peer bdaddr */
1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_PAN_API_OPEN;
1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_PAN_CI_TX_FLOW_EVT */
1095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;                    /* Event header */
1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN         enable;                 /* Flow control setting */
1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_PAN_CI_TX_FLOW;
1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_PAN_CONN_OPEN_EVT */
1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;        /* Event header */
1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tPAN_RESULT     result;
1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_PAN_CONN;
1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* union of all data types */
1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union
1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                   hdr;
1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PAN_API_ENABLE      api_enable;
1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PAN_API_SET_ROLE    api_set_role;
1325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PAN_API_OPEN        api_open;
1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PAN_CI_TX_FLOW      ci_tx_flow;
1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PAN_CONN            conn;
1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_PAN_DATA;
1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* state machine control block */
1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 bd_addr;        /* peer bdaddr */
1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BUFFER_Q                data_queue;     /* Queue of buffers waiting to be passed to application */
1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  handle;         /* BTA PAN/BNEP handle */
1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                 in_use;         /* scb in use */
1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SEC                sec_mask;       /* Security mask */
1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                 pan_flow_enable;/* BNEP flow control state */
1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                 app_flow_enable;/* Application flow control state */
1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                   state;          /* State machine state */
1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PAN_ROLE            local_role;     /* local role */
1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PAN_ROLE            peer_role;      /* peer role */
1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                    app_id;         /* application id for the connection */
1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_PAN_SCB;
1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* main control block */
1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PAN_SCB    scb[BTA_PAN_NUM_CONN];          /* state machine control blocks */
1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PAN_CBACK *p_cback;                        /* PAN callback function */
1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8            app_id[3];                      /* application id for PAN roles */
1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           flow_mask;                      /* Data flow mask */
1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           q_level;                        /* queue level set by application for TX data */
1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_PAN_CB;
1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* pan data param */
1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR  hdr;
1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR src;
1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR dst;
1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16  protocol;
1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN ext;
1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN forward;
1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_PAN_DATA_PARAMS;
1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*****************************************************************************
1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**  Global data
1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/
1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* PAN control block */
1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BTA_DYNAMIC_MEMORY == FALSE
1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_PAN_CB  bta_pan_cb;
1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_PAN_CB *bta_pan_cb_ptr;
1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define bta_pan_cb (*bta_pan_cb_ptr)
1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*****************************************************************************
1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**  Function prototypes
1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/
1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_PAN_SCB *bta_pan_scb_alloc(void);
1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_pan_scb_dealloc(tBTA_PAN_SCB *p_scb);
1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern UINT8 bta_pan_scb_to_idx(tBTA_PAN_SCB *p_scb);
2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_PAN_SCB *bta_pan_scb_by_handle(UINT16 handle);
2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern BOOLEAN bta_pan_hdl_event(BT_HDR *p_msg);
2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* action functions */
2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_pan_enable(tBTA_PAN_DATA *p_data);
2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_pan_disable(void);
2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_pan_set_role(tBTA_PAN_DATA *p_data);
2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_pan_open(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_pan_api_close(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_pan_set_shutdown(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_pan_rx_path(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_pan_tx_path(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_pan_tx_flow(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_pan_conn_open(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_pan_conn_close(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_pan_writebuf(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_pan_write_buf(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_pan_free_buf(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTA_PAN_INT_H */
221