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