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