xref: /btstack/src/btstack.h (revision d38efbba5c7565403822c9c38ce512c8d5cc1815)
1 /*
2  * Copyright (C) 2014 BlueKitchen GmbH
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  *    notice, this list of conditions and the following disclaimer in the
12  *    documentation and/or other materials provided with the distribution.
13  * 3. Neither the name of the copyright holders nor the names of
14  *    contributors may be used to endorse or promote products derived
15  *    from this software without specific prior written permission.
16  * 4. Any redistribution, use, or modification is done solely for
17  *    personal benefit and not for any commercial purpose or for
18  *    monetary gain.
19  *
20  * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS
21  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BLUEKITCHEN
24  * GMBH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
27  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
28  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
30  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31  * SUCH DAMAGE.
32  *
33  * Please inquire about commercial licensing options at
34  * [email protected]
35  *
36  */
37 
38 /*
39  *  btstack.h
40  *  Convenience header to include all public APIs
41  */
42 
43 
44 #ifndef BTSTACK_H
45 #define BTSTACK_H
46 
47 #include "btstack_config.h"
48 
49 #include "ad_parser.h"
50 #include "bluetooth.h"
51 #include "bluetooth_psm.h"
52 #include "bluetooth_company_id.h"
53 #include "bluetooth_data_types.h"
54 #include "bluetooth_gatt.h"
55 #include "bluetooth_sdp.h"
56 #include "btstack_audio.h"
57 #include "btstack_control.h"
58 #include "btstack_crypto.h"
59 #include "btstack_debug.h"
60 #include "btstack_defines.h"
61 #include "btstack_event.h"
62 #include "btstack_hid.h"
63 #include "btstack_hid_parser.h"
64 #include "btstack_linked_list.h"
65 #include "btstack_memory.h"
66 #include "btstack_memory_pool.h"
67 #include "btstack_network.h"
68 #include "btstack_ring_buffer.h"
69 #include "btstack_run_loop.h"
70 #include "btstack_stdin.h"
71 #include "btstack_util.h"
72 #include "gap.h"
73 #include "hci.h"
74 #include "hci_cmd.h"
75 #include "hci_dump.h"
76 #include "hci_transport.h"
77 #include "l2cap.h"
78 #include "l2cap_signaling.h"
79 
80 #ifdef ENABLE_BLE
81 #include "ble/att_db.h"
82 #include "ble/att_db_util.h"
83 #include "ble/att_dispatch.h"
84 #include "ble/att_server.h"
85 #include "ble/gatt-service/ancs_client.h"
86 #include "ble/gatt-service/battery_service_client.h"
87 #include "ble/gatt-service/battery_service_server.h"
88 #include "ble/gatt-service/bond_management_service_server.h"
89 #include "ble/gatt-service/cycling_power_service_server.h"
90 #include "ble/gatt-service/cycling_speed_and_cadence_service_server.h"
91 #include "ble/gatt-service/device_information_service_client.h"
92 #include "ble/gatt-service/device_information_service_server.h"
93 #include "ble/gatt_service_client.h"
94 #include "ble/gatt-service/heart_rate_service_server.h"
95 #include "ble/gatt-service/hids_client.h"
96 #include "ble/gatt-service/hids_device.h"
97 #include "ble/gatt-service/immediate_alert_service_client.h"
98 #include "ble/gatt-service/immediate_alert_service_server.h"
99 #include "ble/gatt-service/immediate_alert_service_util.h"
100 #include "ble/gatt-service/link_loss_service_client.h"
101 #include "ble/gatt-service/link_loss_service_server.h"
102 #include "ble/gatt-service/link_loss_service_util.h"
103 #include "ble/gatt-service/scan_parameters_service_client.h"
104 #include "ble/gatt-service/scan_parameters_service_server.h"
105 #include "ble/gatt-service/tx_power_service_client.h"
106 #include "ble/gatt-service/tx_power_service_server.h"
107 #include "ble/gatt_client.h"
108 #include "ble/le_device_db.h"
109 #include "ble/sm.h"
110 #endif
111 
112 #ifdef ENABLE_CLASSIC
113 #include "classic/a2dp_sink.h"
114 #include "classic/a2dp_source.h"
115 #include "classic/avdtp.h"
116 #include "classic/avdtp_acceptor.h"
117 #include "classic/avdtp_initiator.h"
118 #include "classic/avdtp_sink.h"
119 #include "classic/avdtp_source.h"
120 #include "classic/avdtp_util.h"
121 #include "classic/avrcp.h"
122 #include "classic/avrcp_browsing.h"
123 #include "classic/avrcp_browsing_controller.h"
124 #include "classic/avrcp_browsing_target.h"
125 #include "classic/avrcp_controller.h"
126 #include "classic/avrcp_cover_art_client.h"
127 #include "classic/avrcp_media_item_iterator.h"
128 #include "classic/avrcp_target.h"
129 #include "classic/bnep.h"
130 #include "classic/btstack_link_key_db.h"
131 #include "classic/btstack_sbc.h"
132 #include "classic/btstack_sbc_bluedroid.h"
133 #include "classic/device_id_server.h"
134 #include "classic/gatt_sdp.h"
135 #include "classic/goep_client.h"
136 #include "classic/goep_server.h"
137 #include "classic/hfp.h"
138 #include "classic/hfp_ag.h"
139 #include "classic/hfp_hf.h"
140 #include "classic/hid_device.h"
141 #include "classic/hid_host.h"
142 #include "classic/hsp_ag.h"
143 #include "classic/hsp_hs.h"
144 #include "classic/obex.h"
145 #include "classic/pan.h"
146 #include "classic/pbap.h"
147 #include "classic/pbap_client.h"
148 #include "classic/rfcomm.h"
149 #include "classic/sdp_client.h"
150 #include "classic/sdp_client_rfcomm.h"
151 #include "classic/sdp_server.h"
152 #include "classic/sdp_util.h"
153 #include "classic/spp_server.h"
154 #endif
155 
156 #include "le-audio/le_audio.h"
157 #include "le-audio/le_audio_util.h"
158 #include "le-audio/gatt-service/broadcast_audio_scan_service_client.h"
159 #include "le-audio/gatt-service/broadcast_audio_scan_service_server.h"
160 #include "le-audio/gatt-service/broadcast_audio_scan_service_util.h"
161 
162 #ifdef ENABLE_MESH
163 #include "mesh/adv_bearer.h"
164 #include "mesh/beacon.h"
165 #include "mesh/gatt_bearer.h"
166 #include "mesh/gatt-service/mesh_provisioning_service_server.h"
167 #include "mesh/gatt-service/mesh_proxy_service_server.h"
168 #include "mesh/mesh.h"
169 #include "mesh/mesh_access.h"
170 #include "mesh/mesh_configuration_client.h"
171 #include "mesh/mesh_configuration_server.h"
172 #include "mesh/mesh_crypto.h"
173 #include "mesh/mesh_foundation.h"
174 #include "mesh/mesh_generic_default_transition_time_client.h"
175 #include "mesh/mesh_generic_default_transition_time_server.h"
176 #include "mesh/mesh_generic_level_client.h"
177 #include "mesh/mesh_generic_level_server.h"
178 #include "mesh/mesh_generic_model.h"
179 #include "mesh/mesh_generic_on_off_client.h"
180 #include "mesh/mesh_generic_on_off_server.h"
181 #include "mesh/mesh_health_server.h"
182 #include "mesh/mesh_iv_index_seq_number.h"
183 #include "mesh/mesh_proxy.h"
184 #include "mesh/mesh_upper_transport.h"
185 #include "mesh/mesh_virtual_addresses.h"
186 #include "mesh/pb_adv.h"
187 #include "mesh/pb_gatt.h"
188 #include "mesh/provisioning.h"
189 #include "mesh/provisioning_device.h"
190 #include "mesh/provisioning_provisioner.h"
191 #endif
192 
193 #endif  // __BTSTACK_H
194