summaryrefslogtreecommitdiffstats
path: root/hci/include/hci.h
diff options
context:
space:
mode:
Diffstat (limited to 'hci/include/hci.h')
-rw-r--r--hci/include/hci.h115
1 files changed, 115 insertions, 0 deletions
diff --git a/hci/include/hci.h b/hci/include/hci.h
new file mode 100644
index 0000000..2682536
--- /dev/null
+++ b/hci/include/hci.h
@@ -0,0 +1,115 @@
+/******************************************************************************
+ *
+ * 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.
+ *
+ * Except as expressly set forth in the Authorized License,
+ *
+ * 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.
+ *
+ * 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: hci.h
+ *
+ * Description: Contains definitions used for HCI transport controls
+ *
+ ******************************************************************************/
+
+#ifndef HCI_H
+#define HCI_H
+
+/******************************************************************************
+** Constants & Macros
+******************************************************************************/
+
+/******************************************************************************
+** Type definitions
+******************************************************************************/
+
+/** Prototypes for HCI Service interface functions **/
+
+/* Initialize transport's control block */
+typedef void (*tHCI_INIT)(void);
+
+/* Do transport's control block clean-up */
+typedef void (*tHCI_CLEANUP)(void);
+
+/* Send HCI command/data to the transport */
+typedef void (*tHCI_SEND)(HC_BT_HDR *p_msg);
+
+/* Handler for HCI upstream path */
+typedef uint16_t (*tHCI_RCV)(void);
+
+/* Callback function for the returned event of internally issued command */
+typedef void (*tINT_CMD_CBACK)(void *p_mem);
+
+/* Handler for sending HCI command from the local module */
+typedef uint8_t (*tHCI_SEND_INT)(uint16_t opcode, HC_BT_HDR *p_buf, \
+ tINT_CMD_CBACK p_cback);
+
+/* Handler for getting acl data length */
+typedef void (*tHCI_ACL_DATA_LEN_HDLR)(void);
+
+/******************************************************************************
+** Extern variables and functions
+******************************************************************************/
+
+typedef struct {
+ tHCI_INIT init;
+ tHCI_CLEANUP cleanup;
+ tHCI_SEND send;
+ tHCI_SEND_INT send_int_cmd;
+ tHCI_ACL_DATA_LEN_HDLR get_acl_max_len;
+#ifdef HCI_USE_MCT
+ tHCI_RCV evt_rcv;
+ tHCI_RCV acl_rcv;
+#else
+ tHCI_RCV rcv;
+#endif
+} tHCI_IF;
+
+/******************************************************************************
+** Functions
+******************************************************************************/
+
+
+#endif /* HCI_H */
+