summaryrefslogtreecommitdiffstats
path: root/btif/include/btif_pan_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'btif/include/btif_pan_internal.h')
-rw-r--r--btif/include/btif_pan_internal.h85
1 files changed, 37 insertions, 48 deletions
diff --git a/btif/include/btif_pan_internal.h b/btif/include/btif_pan_internal.h
index fdd9da3..d697ac8 100644
--- a/btif/include/btif_pan_internal.h
+++ b/btif/include/btif_pan_internal.h
@@ -1,65 +1,39 @@
-/************************************************************************************
+/******************************************************************************
*
- * Copyright (C) 2009-2011 Broadcom Corporation
+ * Copyright (C) 2009-2012 Broadcom Corporation
*
- * This program is the proprietary software of Broadcom Corporation and/or its
- * licensors, and may only be used, duplicated, modified or distributed
- * pursuant to the terms and conditions of a separate, written license
- * agreement executed between you and Broadcom (an "Authorized License").
- * Except as set forth in an Authorized License, Broadcom grants no license
- * (express or implied), right to use, or waiver of any kind with respect to
- * the Software, and Broadcom expressly reserves all rights in and to the
- * Software and all intellectual property rights therein.
- * IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU HAVE NO RIGHT TO USE THIS
- * SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY NOTIFY BROADCOM AND DISCONTINUE
- * ALL USE OF THE SOFTWARE.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
*
- * Except as expressly set forth in the Authorized License,
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 1. This program, including its structure, sequence and organization,
- * constitutes the valuable trade secrets of Broadcom, and you shall
- * use all reasonable efforts to protect the confidentiality thereof,
- * and to use this information only in connection with your use of
- * Broadcom integrated circuit products.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*
- * 2. TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED
- * "AS IS" AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES,
- * REPRESENTATIONS OR WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY,
- * OR OTHERWISE, WITH RESPECT TO THE SOFTWARE. BROADCOM SPECIFICALLY
- * DISCLAIMS ANY AND ALL IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY,
- * NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF VIRUSES,
- * ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR
- * CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT
- * OF USE OR PERFORMANCE OF THE SOFTWARE.
- *
- * 3. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR
- * ITS LICENSORS BE LIABLE FOR
- * (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT, OR EXEMPLARY
- * DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY RELATING TO
- * YOUR USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM
- * HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES; OR
- * (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT ACTUALLY PAID FOR THE
- * SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE
- * LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF
- * ESSENTIAL PURPOSE OF ANY LIMITED REMEDY.
- *
- ************************************************************************************/
+ ******************************************************************************/
-
-/************************************************************************************
+/*******************************************************************************
*
* Filename: btif_pan_internal.h
*
* Description: Bluetooth pan internal
*
- *
- ***********************************************************************************/
+ *******************************************************************************/
+
+#ifndef BTIF_PAN_INTERNAL_H
+#define BTIF_PAN_INTERNAL_H
-#ifndef btif_pan_internal_h_
-#define btif_pan_internal_h_
#include "btif_pan.h"
#include "bt_types.h"
+/*******************************************************************************
+** Constants & Macros
+********************************************************************************/
+
#define PAN_NAP_SERVICE_NAME "Android Network Access Point"
#define PANU_SERVICE_NAME "Android Network User"
#define TAP_IF_NAME "bt-pan"
@@ -74,12 +48,19 @@
#ifndef PAN_ROLE_INACTIVE
#define PAN_ROLE_INACTIVE 0
#endif
+
+
+/*******************************************************************************
+** Type definitions and return values
+********************************************************************************/
+
typedef struct eth_hdr
{
unsigned char h_dest[ETH_ADDR_LEN];
unsigned char h_src[ETH_ADDR_LEN];
short h_proto;
} tETH_HDR;
+
typedef struct
{
int handle;
@@ -100,6 +81,12 @@ typedef struct
int open_count;
btpan_conn_t conns[MAX_PAN_CONNS];
} btpan_cb_t;
+
+
+/*******************************************************************************
+** Functions
+********************************************************************************/
+
extern btpan_cb_t btpan_cb;
btpan_conn_t *btpan_new_conn(int handle, const BD_ADDR addr, int local_role, int peer_role);
btpan_conn_t *btpan_find_conn_addr(const BD_ADDR addr);
@@ -111,6 +98,7 @@ void destroy_tap_read_thread(void);
int btpan_tap_close(int tap_fd);
int btpan_tap_send(int tap_fd, const BD_ADDR src, const BD_ADDR dst, UINT16 protocol,
const char* buff, UINT16 size, BOOLEAN ext, BOOLEAN forward);
+
static inline int is_empty_eth_addr(const BD_ADDR addr)
{
int i;
@@ -119,11 +107,12 @@ static inline int is_empty_eth_addr(const BD_ADDR addr)
return 0;
return 1;
}
+
static inline int is_valid_bt_eth_addr(const BD_ADDR addr)
{
if(is_empty_eth_addr(addr))
return 0;
- return addr[0] & 1 ? 0 : 1; //cannot be multicasting address
+ return addr[0] & 1 ? 0 : 1; /* Cannot be multicasting address */
}
#endif