Android Hardware Abstraction Layer
hci.h
Go to the documentation of this file.
1 /******************************************************************************
2  *
3  * Copyright (C) 2009-2012 Broadcom Corporation
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at:
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  ******************************************************************************/
18 
19 /******************************************************************************
20  *
21  * Filename: hci.h
22  *
23  * Description: Contains definitions used for HCI transport controls
24  *
25  ******************************************************************************/
26 
27 #ifndef HCI_H
28 #define HCI_H
29 
30 /******************************************************************************
31 ** Constants & Macros
32 ******************************************************************************/
33 
34 /******************************************************************************
35 ** Type definitions
36 ******************************************************************************/
37 
38 /** Prototypes for HCI Service interface functions **/
39 
40 /* Initialize transport's control block */
41 typedef void (*tHCI_INIT)(void);
42 
43 /* Do transport's control block clean-up */
44 typedef void (*tHCI_CLEANUP)(void);
45 
46 /* Send HCI command/data to the transport */
47 typedef void (*tHCI_SEND)(HC_BT_HDR *p_msg);
48 
49 /* Handler for HCI upstream path */
50 typedef uint16_t (*tHCI_RCV)(void);
51 
52 /* Callback function for the returned event of internally issued command */
53 typedef void (*tINT_CMD_CBACK)(void *p_mem);
54 
55 /* Handler for sending HCI command from the local module */
56 typedef uint8_t (*tHCI_SEND_INT)(uint16_t opcode, HC_BT_HDR *p_buf, \
57  tINT_CMD_CBACK p_cback);
58 
59 /* Handler for getting acl data length */
60 typedef void (*tHCI_ACL_DATA_LEN_HDLR)(void);
61 
62 /******************************************************************************
63 ** Extern variables and functions
64 ******************************************************************************/
65 
66 typedef struct {
72 #ifdef HCI_USE_MCT
73  tHCI_RCV evt_rcv;
74  tHCI_RCV acl_rcv;
75 #else
77 #endif
78 } tHCI_IF;
79 
80 /******************************************************************************
81 ** Functions
82 ******************************************************************************/
83 
84 
85 #endif /* HCI_H */
86