xref: /btstack/src/hci_transport_h4.h (revision c8dfe071e5be306bdac290dfbe6cbf2b9a446e88)
1*c8dfe071SMatthias Ringwald /*
2*c8dfe071SMatthias Ringwald  * Copyright (C) 2021 BlueKitchen GmbH
3*c8dfe071SMatthias Ringwald  *
4*c8dfe071SMatthias Ringwald  * Redistribution and use in source and binary forms, with or without
5*c8dfe071SMatthias Ringwald  * modification, are permitted provided that the following conditions
6*c8dfe071SMatthias Ringwald  * are met:
7*c8dfe071SMatthias Ringwald  *
8*c8dfe071SMatthias Ringwald  * 1. Redistributions of source code must retain the above copyright
9*c8dfe071SMatthias Ringwald  *    notice, this list of conditions and the following disclaimer.
10*c8dfe071SMatthias Ringwald  * 2. Redistributions in binary form must reproduce the above copyright
11*c8dfe071SMatthias Ringwald  *    notice, this list of conditions and the following disclaimer in the
12*c8dfe071SMatthias Ringwald  *    documentation and/or other materials provided with the distribution.
13*c8dfe071SMatthias Ringwald  * 3. Neither the name of the copyright holders nor the names of
14*c8dfe071SMatthias Ringwald  *    contributors may be used to endorse or promote products derived
15*c8dfe071SMatthias Ringwald  *    from this software without specific prior written permission.
16*c8dfe071SMatthias Ringwald  * 4. Any redistribution, use, or modification is done solely for
17*c8dfe071SMatthias Ringwald  *    personal benefit and not for any commercial purpose or for
18*c8dfe071SMatthias Ringwald  *    monetary gain.
19*c8dfe071SMatthias Ringwald  *
20*c8dfe071SMatthias Ringwald  * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS
21*c8dfe071SMatthias Ringwald  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22*c8dfe071SMatthias Ringwald  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23*c8dfe071SMatthias Ringwald  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MATTHIAS
24*c8dfe071SMatthias Ringwald  * RINGWALD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25*c8dfe071SMatthias Ringwald  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26*c8dfe071SMatthias Ringwald  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
27*c8dfe071SMatthias Ringwald  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
28*c8dfe071SMatthias Ringwald  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29*c8dfe071SMatthias Ringwald  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
30*c8dfe071SMatthias Ringwald  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31*c8dfe071SMatthias Ringwald  * SUCH DAMAGE.
32*c8dfe071SMatthias Ringwald  *
33*c8dfe071SMatthias Ringwald  * Please inquire about commercial licensing options at
34*c8dfe071SMatthias Ringwald  * [email protected]
35*c8dfe071SMatthias Ringwald  *
36*c8dfe071SMatthias Ringwald  */
37*c8dfe071SMatthias Ringwald 
38*c8dfe071SMatthias Ringwald /*
39*c8dfe071SMatthias Ringwald  *  HCI Transport H4 API
40*c8dfe071SMatthias Ringwald  */
41*c8dfe071SMatthias Ringwald #ifndef HCI_TRANSPORT_H4_H
42*c8dfe071SMatthias Ringwald #define HCI_TRANSPORT_H4_H
43*c8dfe071SMatthias Ringwald 
44*c8dfe071SMatthias Ringwald #include "hci_transport.h"
45*c8dfe071SMatthias Ringwald #include "btstack_uart.h"
46*c8dfe071SMatthias Ringwald #include "btstack_uart_block.h"
47*c8dfe071SMatthias Ringwald 
48*c8dfe071SMatthias Ringwald #if defined __cplusplus
49*c8dfe071SMatthias Ringwald extern "C" {
50*c8dfe071SMatthias Ringwald #endif
51*c8dfe071SMatthias Ringwald 
52*c8dfe071SMatthias Ringwald /* API_START */
53*c8dfe071SMatthias Ringwald 
54*c8dfe071SMatthias Ringwald /*
55*c8dfe071SMatthias Ringwald  * @brief Setup H4 instance with btstack_uart implementation
56*c8dfe071SMatthias Ringwald  * @param btstack_uart_block_driver to use
57*c8dfe071SMatthias Ringwald  */
58*c8dfe071SMatthias Ringwald const hci_transport_t * hci_transport_h4_instance_for_uart(const btstack_uart_t * uart_driver);
59*c8dfe071SMatthias Ringwald 
60*c8dfe071SMatthias Ringwald /*
61*c8dfe071SMatthias Ringwald  * @brief Setup H4 instance with btstack_uart_block implementation
62*c8dfe071SMatthias Ringwald  * @param btstack_uart_block_driver to use
63*c8dfe071SMatthias Ringwald  * @deprecated use hci_transport_h4_instance_for_uart instead
64*c8dfe071SMatthias Ringwald  */
65*c8dfe071SMatthias Ringwald const hci_transport_t * hci_transport_h4_instance(const btstack_uart_block_t * uart_driver);
66*c8dfe071SMatthias Ringwald 
67*c8dfe071SMatthias Ringwald /* API_END */
68*c8dfe071SMatthias Ringwald 
69*c8dfe071SMatthias Ringwald #if defined __cplusplus
70*c8dfe071SMatthias Ringwald }
71*c8dfe071SMatthias Ringwald #endif
72*c8dfe071SMatthias Ringwald 
73*c8dfe071SMatthias Ringwald #endif // HCI_TRANSPORT_H5_H
74