15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
35738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Copyright (C) 2001-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 file contains the PAN API definitions
225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/
245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_API_H
255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_API_H
265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bnep_api.h"
285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*****************************************************************************
305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**  Constants
315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/
325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define the minimum offset needed in a GKI buffer for
345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** sending PAN packets. Note, we are currently not sending
355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** extension headers, but may in the future, so allow
365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** space for them
375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_MINIMUM_OFFSET          BNEP_MINIMUM_OFFSET
395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*
425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** The handle is passed from BNEP to PAN. The same handle is used
435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** between PAN and application as well
445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_INVALID_HANDLE          BNEP_INVALID_HANDLE
465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Bit map for PAN roles */
485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_ROLE_CLIENT         0x01     /* PANU role */
495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_ROLE_GN_SERVER      0x02     /* GN role */
505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_ROLE_NAP_SERVER     0x04     /* NAP role */
515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Bitmap to indicate the usage of the Data */
535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_DATA_TO_HOST        0x01
545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_DATA_TO_LAN         0x02
555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*****************************************************************************
585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**  Type Definitions
595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/
605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define the result codes from PAN */
625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum
635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_SUCCESS,                                                /* Success                           */
655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_DISCONNECTED            = BNEP_CONN_DISCONNECTED,       /* Connection terminated   */
665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_CONN_FAILED             = BNEP_CONN_FAILED,             /* Connection failed                 */
675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_NO_RESOURCES            = BNEP_NO_RESOURCES,            /* No resources                      */
685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_MTU_EXCEDED             = BNEP_MTU_EXCEDED,             /* Attempt to write long data        */
695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_INVALID_OFFSET          = BNEP_INVALID_OFFSET,          /* Insufficient offset in GKI buffer */
705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_CONN_FAILED_CFG         = BNEP_CONN_FAILED_CFG,         /* Connection failed cos of config   */
715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_INVALID_SRC_ROLE        = BNEP_CONN_FAILED_SRC_UUID,    /* Connection failed wrong source UUID   */
725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_INVALID_DST_ROLE        = BNEP_CONN_FAILED_DST_UUID,    /* Connection failed wrong destination UUID   */
735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_CONN_FAILED_UUID_SIZE   = BNEP_CONN_FAILED_UUID_SIZE,   /* Connection failed wrong size UUID   */
745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_Q_SIZE_EXCEEDED         = BNEP_Q_SIZE_EXCEEDED,         /* Too many buffers to dest          */
755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_TOO_MANY_FILTERS        = BNEP_TOO_MANY_FILTERS,        /* Too many local filters specified  */
765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_SET_FILTER_FAIL         = BNEP_SET_FILTER_FAIL,         /* Set Filter failed  */
775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_WRONG_HANDLE            = BNEP_WRONG_HANDLE,            /* Wrong handle for the connection  */
785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_WRONG_STATE             = BNEP_WRONG_STATE,             /* Connection is in wrong state */
795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_SECURITY_FAIL           = BNEP_SECURITY_FAIL,           /* Failed because of security */
805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_IGNORE_CMD              = BNEP_IGNORE_CMD,              /* To ignore the rcvd command */
815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_TX_FLOW_ON              = BNEP_TX_FLOW_ON,              /* tx data flow enabled */
825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_TX_FLOW_OFF	            = BNEP_TX_FLOW_OFF,             /* tx data flow disabled */
835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    PAN_FAILURE                                                 /* Failure                      */
845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tPAN_RESULT;
875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*****************************************************************
905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**       Callback Function Prototypes
915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************/
925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is call back function used to report connection status
945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**      to the application. The second parameter TRUE means
955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**      to create the bridge and FALSE means to remove it.
965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tPAN_CONN_STATE_CB) (UINT16 handle, BD_ADDR bd_addr, tPAN_RESULT state, BOOLEAN is_role_change,
985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                        UINT8 src_role, UINT8 dst_role);
995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is call back function used to create bridge for the
1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**      Connected device. The parameter "state" indicates
1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**      whether to create the bridge or remove it. TRUE means
1045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**      to create the bridge and FALSE means to remove it.
1055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tPAN_BRIDGE_REQ_CB) (BD_ADDR bd_addr, BOOLEAN state);
1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Data received indication callback prototype. Parameters are
1105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Source BD/Ethernet Address
1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Dest BD/Ethernet address
1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Protocol
1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Address of buffer (or data if non-GKI)
1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Length of data (non-GKI)
1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              ext is flag to indicate whether it has aby extension headers
1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Flag used to indicate to forward on LAN
1175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      FALSE - Use it for internal stack
1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      TRUE  - Send it across the ethernet as well
1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tPAN_DATA_IND_CB) (UINT16 handle,
1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                 BD_ADDR src,
1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                 BD_ADDR dst,
1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                 UINT16 protocol,
1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                 UINT8 *p_data,
1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                 UINT16 len,
1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                 BOOLEAN ext,
1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                 BOOLEAN forward);
1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Data buffer received indication callback prototype. Parameters are
1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Source BD/Ethernet Address
1325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Dest BD/Ethernet address
1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Protocol
1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              pointer to the data buffer
1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              ext is flag to indicate whether it has aby extension headers
1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Flag used to indicate to forward on LAN
1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      FALSE - Use it for internal stack
1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      TRUE  - Send it across the ethernet as well
1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tPAN_DATA_BUF_IND_CB) (UINT16 handle,
1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                     BD_ADDR src,
1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                     BD_ADDR dst,
1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                     UINT16 protocol,
1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                     BT_HDR *p_buf,
1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                     BOOLEAN ext,
1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                     BOOLEAN forward);
1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Flow control callback for TX data. Parameters are
1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Handle to the connection
1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Event  flow status
1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tPAN_TX_DATA_FLOW_CB) (UINT16 handle,
1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                     tPAN_RESULT  event);
1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Filters received indication callback prototype. Parameters are
1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Handle to the connection
1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              TRUE if the cb is called for indication
1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Ignore this if it is indication, otherwise it is the result
1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      for the filter set operation performed by the local
1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      device
1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Number of protocol filters present
1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Pointer to the filters start. Filters are present in pairs
1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      of start of the range and end of the range.
1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      They will be present in big endian order. First
1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      two bytes will be starting of the first range and
1675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      next two bytes will be ending of the range.
1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tPAN_FILTER_IND_CB) (UINT16 handle,
1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                   BOOLEAN indication,
1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                   tBNEP_RESULT result,
1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                   UINT16 num_filters,
1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                   UINT8 *p_filters);
1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Multicast Filters received indication callback prototype. Parameters are
1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Handle to the connection
1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              TRUE if the cb is called for indication
1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Ignore this if it is indication, otherwise it is the result
1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      for the filter set operation performed by the local
1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      device
1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Number of multicast filters present
1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**              Pointer to the filters start. Filters are present in pairs
1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      of start of the range and end of the range.
1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      First six bytes will be starting of the first range and
1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                      next six bytes will be ending of the range.
1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tPAN_MFILTER_IND_CB) (UINT16 handle,
1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                    BOOLEAN indication,
1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                    tBNEP_RESULT result,
1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                    UINT16 num_mfilters,
1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                    UINT8 *p_mfilters);
1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This structure is used to register with PAN profile
1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** It is passed as a parameter to PAN_Register call.
2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tPAN_CONN_STATE_CB          *pan_conn_state_cb;     /* Connection state callback */
2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tPAN_BRIDGE_REQ_CB          *pan_bridge_req_cb;     /* Bridge request callback */
2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tPAN_DATA_IND_CB            *pan_data_ind_cb;       /* Data indication callback */
2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tPAN_DATA_BUF_IND_CB        *pan_data_buf_ind_cb;   /* Data buffer indication callback */
2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tPAN_FILTER_IND_CB          *pan_pfilt_ind_cb;      /* protocol filter indication callback */
2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tPAN_MFILTER_IND_CB         *pan_mfilt_ind_cb;      /* multicast filter indication callback */
2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tPAN_TX_DATA_FLOW_CB        *pan_tx_data_flow_cb;   /* data flow callback */
2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    char                        *user_service_name;     /* Service name for PANU role */
2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    char                        *gn_service_name;       /* Service name for GN role */
2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    char                        *nap_service_name;      /* Service name for NAP role */
2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tPAN_REGISTER;
2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*****************************************************************************
2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**  External Function Declarations
2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/
2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus
2215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern "C"
2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         PAN_Register
2285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function is called by the application to register
2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  its callbacks with PAN profile. The application then
2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  should set the PAN role explicitly.
2325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters:      p_register - contains all callback function pointers
2345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          none
2375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectPAN_API extern void PAN_Register (tPAN_REGISTER *p_register);
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** Function         PAN_Deregister
2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function is called by the application to de-register
2475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  its callbacks with PAN profile. This will make the PAN to
2485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  become inactive. This will deregister PAN services from SDP
2495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  and close all active connections
2505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          none
2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectPAN_API extern void PAN_Deregister (void);
2555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         PAN_SetRole
2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function is called by the application to set the PAN
2615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  profile role. This should be called after PAN_Register.
2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  This can be called any time to change the PAN role
2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters:      role        - is bit map of roles to be active
2655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                      PAN_ROLE_CLIENT is for PANU role
2665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                      PAN_ROLE_GN_SERVER is for GN role
2675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                      PAN_ROLE_NAP_SERVER is for NAP role
2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  sec_mask    - Security mask for different roles
2695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                      It is array of UINT8. The byte represent the
2705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                      security for roles PANU, GN and NAP in order
2715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  p_user_name - Service name for PANU role
2725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  p_gn_name   - Service name for GN role
2735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  p_nap_name  - Service name for NAP role
2745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                      Can be NULL if user wants it to be default
2755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          PAN_SUCCESS     - if the role is set successfully
2775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  PAN_FAILURE     - if the role is not valid
2785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
2805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectPAN_API extern tPAN_RESULT PAN_SetRole (UINT8 role,
2815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                       UINT8 *sec_mask,
2825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                       char *p_user_name,
2835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                       char *p_gn_name,
2845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                       char *p_nap_name);
2855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         PAN_Connect
2895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function is called by the application to initiate a
2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  connection to the remote device
2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters:      rem_bda     - BD Addr of the remote device
2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  src_role    - Role of the local device for the connection
2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  dst_role    - Role of the remote device for the connection
2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                      PAN_ROLE_CLIENT is for PANU role
2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                      PAN_ROLE_GN_SERVER is for GN role
2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                      PAN_ROLE_NAP_SERVER is for NAP role
2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  *handle     - Pointer for returning Handle to the connection
3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          PAN_SUCCESS      - if the connection is initiated successfully
3025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  PAN_NO_RESOURCES - resources are not sufficent
3035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  PAN_FAILURE      - if the connection cannot be initiated
3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                           this can be because of the combination of
3055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                           src and dst roles may not be valid or
3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                           allowed at that point of time
3075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectPAN_API extern tPAN_RESULT PAN_Connect (BD_ADDR rem_bda, UINT8 src_role, UINT8 dst_role, UINT16 *handle);
3105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
3125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         PAN_Disconnect
3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This is used to disconnect the connection
3165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters:      handle           - handle for the connection
3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          PAN_SUCCESS      - if the connection is closed successfully
3205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  PAN_FAILURE      - if the connection is not found or
3215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                           there is an error in disconnecting
3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectPAN_API extern tPAN_RESULT PAN_Disconnect (UINT16 handle);
3255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         PAN_Write
3295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This sends data over the PAN connections. If this is called
3315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  on GN or NAP side and the packet is multicast or broadcast
3325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  it will be sent on all the links. Otherwise the correct link
3335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  is found based on the destination address and forwarded on it
3345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  If the return value is not PAN_SUCCESS the application should
3355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  take care of releasing the message buffer
3365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters:      dst      - MAC or BD Addr of the destination device
3385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  src      - MAC or BD Addr of the source who sent this packet
3395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  protocol - protocol of the ethernet packet like IP or ARP
3405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  p_data   - pointer to the data
3415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  len      - length of the data
3425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  ext      - to indicate that extension headers present
3435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          PAN_SUCCESS       - if the data is sent successfully
3455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  PAN_FAILURE       - if the connection is not found or
3465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                           there is an error in sending data
3475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
3495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectPAN_API extern tPAN_RESULT PAN_Write (UINT16 handle,
3505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                     BD_ADDR dst,
3515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                     BD_ADDR src,
3525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                     UINT16 protocol,
3535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                     UINT8 *p_data,
3545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                     UINT16 len,
3555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                     BOOLEAN ext);
3565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
3585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         PAN_WriteBuf
3605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This sends data over the PAN connections. If this is called
3625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  on GN or NAP side and the packet is multicast or broadcast
3635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  it will be sent on all the links. Otherwise the correct link
3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  is found based on the destination address and forwarded on it
3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  If the return value is not PAN_SUCCESS the application should
3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  take care of releasing the message buffer
3675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters:      dst      - MAC or BD Addr of the destination device
3695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  src      - MAC or BD Addr of the source who sent this packet
3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  protocol - protocol of the ethernet packet like IP or ARP
3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  p_buf    - pointer to the data buffer
3725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  ext      - to indicate that extension headers present
3735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          PAN_SUCCESS       - if the data is sent successfully
3755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  PAN_FAILURE       - if the connection is not found or
3765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                           there is an error in sending data
3775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
3795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectPAN_API extern tPAN_RESULT PAN_WriteBuf (UINT16 handle,
3805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                        BD_ADDR dst,
3815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                        BD_ADDR src,
3825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                        UINT16 protocol,
3835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                        BT_HDR *p_buf,
3845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                        BOOLEAN ext);
3855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
3875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         PAN_SetProtocolFilters
3895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function is used to set protocol filters on the peer
3915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters:      handle      - handle for the connection
3935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  num_filters - number of protocol filter ranges
3945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  start       - array of starting protocol numbers
3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  end         - array of ending protocol numbers
3965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          PAN_SUCCESS        if protocol filters are set successfully
3995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  PAN_FAILURE        if connection not found or error in setting
4005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
4025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectPAN_API extern tPAN_RESULT PAN_SetProtocolFilters (UINT16 handle,
4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                  UINT16 num_filters,
4045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                  UINT16 *p_start_array,
4055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                  UINT16 *p_end_array);
4065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
4085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         PAN_SetMulticastFilters
4105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function is used to set multicast filters on the peer
4125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters:      handle      - handle for the connection
4145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  num_filters - number of multicast filter ranges
4155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  p_start_array - Pointer to sequence of beginings of all
4165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                         multicast address ranges
4175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  p_end_array   - Pointer to sequence of ends of all
4185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                                         multicast address ranges
4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          PAN_SUCCESS        if multicast filters are set successfully
4225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  PAN_FAILURE        if connection not found or error in setting
4235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectPAN_API extern tBNEP_RESULT PAN_SetMulticastFilters (UINT16 handle,
4265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                    UINT16 num_mcast_filters,
4275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                    UINT8 *p_start_array,
4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                    UINT8 *p_end_array);
4295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
4315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         PAN_SetTraceLevel
4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function sets the trace level for PAN. If called with
4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  a value of 0xFF, it simply reads the current trace level.
4365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          the new (current) trace level
4385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
4405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectPAN_API extern UINT8 PAN_SetTraceLevel (UINT8 new_level);
4415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
4435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         PAN_Init
4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      This function initializes the PAN unit. It should be called
4475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  before accessing any other APIs to initialize the control
4485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  block.
4495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          void
4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
4525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectPAN_API extern void PAN_Init (void);
4545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus
4565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}
4575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif  /* PAN_API_H */
460