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