Merge "Inclusive Language Changes" into tizen
[platform/core/api/bluetooth.git] / doc / bluetooth_doc.h
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17
18 #ifndef __TIZEN_NETWORK_BLUETOOTH_DOC_H__
19 #define __TIZEN_NETWORK_BLUETOOTH_DOC_H__
20
21 /**
22  * @defgroup CAPI_NETWORK_BLUETOOTH_MODULE Bluetooth
23  * @brief Bluetooth Service provides API to manage Bluetooth device.
24  * @ingroup CAPI_NETWORK_FRAMEWORK
25  *
26  * @section CAPI_NETWORK_BLUETOOTH_MODULE_HEADER Required Header
27  *   \#include <bluetooth.h>
28  *
29  * @section CAPI_NETWORK_BLUETOOTH_MODULE_OVERVIEW Overview
30  * Bluetooth Service consists of @ref CAPI_NETWORK_BLUETOOTH_ADAPTER_MODULE, @ref CAPI_NETWORK_BLUETOOTH_DEVICE_MODULE and @ref CAPI_NETWORK_BLUETOOTH_SOCKET_MODULE.
31  *
32  *<BR>
33  * In order to use the above APIs, you must call #bt_initialize() in advance.
34  * In addition, #bt_deinitialize() should be called when Bluetooth Service is no longer needed.
35  * Please refer Bluetooth Tutorial if you want to get more detailed usages and information of this api.
36  *
37  * Note on callbacks: All callbacks in this module are called in the main loop context.
38  *
39  * @section CAPI_NETWORK_BLUETOOTH_MODULE_FEATURE Related Features
40  * This API is related with the following features:\n
41  *  - %http://tizen.org/feature/network.bluetooth\n
42  *
43  * It is recommended to design feature related codes in your application for reliability.\n
44  *
45  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE,thereby controlling the procedure of your application.\n
46  *
47  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
48  *
49  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
50  *
51  */
52
53 /**
54  * @defgroup CAPI_NETWORK_BLUETOOTH_ADAPTER_MODULE Bluetooth Adapter
55  * @brief Bluetooth Adapter API provides functions for setting up Bluetooth and discovering other devices.
56  * @ingroup CAPI_NETWORK_BLUETOOTH_MODULE
57  *
58  * @section CAPI_NETWORK_BLUETOOTH_ADAPTER_MODULE_HEADER Required Header
59  *  \#include <bluetooth.h>
60  *
61  * @section CAPI_NETWORK_BLUETOOTH_ADAPTER_MODULE_OVERVIEW Overview
62  * This set of function is used to control a bluetooth adapter.
63  * You can also control visibility of the device, its appearance for others (adapter name).
64  * In addition, this api is used to discover neighboring bluetooth devices.
65  * This process is asynchronous, so it is up to you to build and hold list of devices in the neighborhood
66  * - the api does not provide this list.
67  * Before starting a device discovery, you can find a device from the connected devices.
68  * This functionality is implemented by foreach loop.
69  *
70  * @section CAPI_NETWORK_BLUETOOTH_ADAPTER_MODULE_FEATURE Related Features
71  * This API is related with the following features:\n
72  *  - %http://tizen.org/feature/network.bluetooth\n
73  *
74  * It is recommended to design feature related codes in your application for reliability.\n
75  *
76  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE,thereby controlling the procedure of your application.\n
77  *
78  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
79  *
80  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
81  *
82  * @section CAPI_NETWORK_BLUETOOTH_ADAPTER_MODULE_ASYNCHRONOUS_OPERATIONS Asynchronous Operations
83  * <div><table class="doxtable" >
84  *     <tr>
85  *        <th><b>FUNCTION</b></th>
86  *        <th><b>CALLBACK</b></th>
87  *        <th><b>DESCRIPTION</b></th>
88  *     </tr>
89  *     <tr>
90  *        <td>bt_adapter_set_name()</td>
91  *        <td>bt_adapter_name_changed_cb()</td>
92  *        <td>Used to set adapter name. </td>
93  *     </tr>
94  *     <tr>
95  *        <td>bt_adapter_visibility_mode_changed_cb()</td>
96  *        <td>Used to set visibility mode (#bt_adapter_visibility_mode_e). </td>
97  *        <td></td>
98  *     </tr>
99  *     <tr>
100  *        <td>bt_adapter_start_device_discovery()<br>
101  *            bt_adapter_stop_device_discovery()</td>
102  *        <td>bt_adapter_device_discovery_state_changed_cb()</td>
103  *        <td>Used to start or cancel device discovery. </td>
104  *     </tr>
105  *</table></div>
106  *
107  * @section CAPI_NETWORK_BLUETOOTH_ADAPTER_MODULE_CALLBACK_OPERATIONS Callback(Event) Operations
108  * <div><table class="doxtable" >
109  *     <tr>
110  *        <th><b>REGISTER</b></th>
111  *        <th><b>UNREGISTER</b></th>
112  *        <th><b>CALLBACK</b></th>
113  *        <th><b>DESCRIPTION</b></th>
114  *     </tr>
115  *     <tr>
116  *        <td>bt_adapter_set_state_changed_cb()</td>
117  *        <td>bt_adapter_unset_state_changed_cb()</td>
118  *        <td>bt_adapter_state_changed_cb()</td>
119  *        <td>Used to be notified of state change (enable or disable). </td>
120  *     </tr>
121  *     <tr>
122  *        <td>bt_adapter_set_name_changed_cb()</td>
123  *        <td>bt_adapter_unset_name_changed_cb()</td>
124  *        <td>bt_adapter_name_changed_cb()</td>
125  *        <td>Used to be notified of name change. </td>
126  *     </tr>
127  *     <tr>
128  *        <td>bt_adapter_set_visibility_mode_changed_cb()</td>
129  *        <td>bt_adapter_unset_visibility_mode_changed_cb()</td>
130  *        <td>bt_adapter_visibility_mode_changed_cb()</td>
131  *        <td>Used to be notified of change of visibility mode (#bt_adapter_visibility_mode_e). </td>
132  *     </tr>
133  *     <tr>
134  *        <td>bt_adapter_set_device_discovery_state_changed_cb()</td>
135  *        <td>bt_adapter_unset_device_discovery_state_changed_cb()</td>
136  *        <td>bt_adapter_device_discovery_state_changed_cb()</td>
137  *        <td>Used to be notified of change of device discovery state (#bt_adapter_device_discovery_state_e). </td>
138  *     </tr>
139  *</table></div>
140  *
141  * @section CAPI_NETWORK_BLUETOOTH_ADAPTER_MODULE_FOREACH_OPERATIONS Foreach Operations
142  * <div><table class="doxtable" >
143  *     <tr>
144  *        <th><b>FOREACH</b></th>
145  *        <th><b>CALLBACK</b></th>
146  *        <th><b>DESCRIPTION</b></th>
147  *     </tr>
148  *     <tr>
149  *        <td>bt_adapter_foreach_bonded_device()</td>
150  *        <td>bt_adapter_bonded_device_cb()</td>
151  *        <td>Used to get bonded devices.</td>
152  *     </tr>
153  *</table></div>
154  *
155  *<BR>
156  * Please refer Bluetooth Tutorial if you want to get more detailed usages and information of this api.
157  */
158
159 /**
160  * @defgroup CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE Bluetooth LE Adapter
161  * @brief Bluetooth LE API provides functions for managing bonds with other devices for LE and searching for supported LE services.
162  * @ingroup CAPI_NETWORK_BLUETOOTH_MODULE
163  *
164  * @section CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE_HEADER Required Header
165  *  \#include <bluetooth.h>
166  *
167  * @section CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE_OVERVIEW Overview
168  * Bluetooth stack architecture has been changed. Thus, GATT APIs defined in Tizen 2.3 are deprecated and new GATT client APIs are defined.
169  *
170  * @section CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE_FEATURE Related Features
171  * This API is related with the following features:\n
172  *  - %http://tizen.org/feature/network.bluetooth\n
173  *  - %http://tizen.org/feature/network.bluetooth.le\n
174  *
175  * It is recommended to design feature related codes in your application for reliability.\n
176  *
177  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE,thereby controlling the procedure of your application.\n
178  *
179  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
180  *
181  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
182  *
183  */
184
185 /**
186  * @defgroup CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_50_MODULE Bluetooth LE Adapter for Bluetooth 5.0
187  * @brief Bluetooth LE API provides functions for bluetooth 5.0 functionality such as 2M Phy and Coded Phy
188  * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE
189  *
190  * @section CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_50_MODULE_HEADER Required Header
191  *  \#include <bluetooth.h>
192  *
193  * @section CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_50_MODULE_OVERVIEW Overview
194  * Bluetooth LE API provides functions for bluetooth 5.0 functionality such as 2M Phy and Coded Phy
195  *
196  * @section CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_50_MODULE_FEATURE Related Features
197  * This API is related with the following features:\n
198  *  - %http://tizen.org/feature/network.bluetooth\n
199  *  - %http://tizen.org/feature/network.bluetooth.le\n
200  *  - %http://tizen.org/feature/network.bluetooth.le.5_0\n
201  * It is recommended to design applications with regard to features, for reliability.\n
202  *
203  * You can check if the device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, and control your application's actions accordingly.\n
204  *
205  * To ensure your application is only running on devices with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
206  *
207  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>feature element description</b></a>.
208  *
209  */
210
211
212 /**
213  * @defgroup CAPI_NETWORK_BLUETOOTH_DEVICE_MODULE Bluetooth Device
214  * @brief Bluetooth Device API provides functions for managing bonds with other devices and searching for supported services.
215  * @ingroup CAPI_NETWORK_BLUETOOTH_MODULE
216  *
217  * @section CAPI_NETWORK_BLUETOOTH_DEVICE_MODULE_HEADER Required Header
218  *  \#include <bluetooth.h>
219  *
220  * @section CAPI_NETWORK_BLUETOOTH_DEVICE_MODULE_OVERVIEW Overview
221  * This set of functions is used to handle the connection with other devices.
222  * Connected devices exchange keys needed for encrypted communication,
223  * but each connection has to be approved by the latest application user.
224  * You can also set authorization of other devices.
225  * Authorized devices are connected, and it is connected automatically without the latest user
226  * being asked for authorization.
227  * In addition, this is used to search for services available on remote devices.
228  *
229  * @section CAPI_NETWORK_BLUETOOTH_DEVICE_MODULE_FEATURE Related Features
230  * This API is related with the following features:\n
231  *  - %http://tizen.org/feature/network.bluetooth\n
232  *
233  * It is recommended to design feature related codes in your application for reliability.\n
234  *
235  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE,thereby controlling the procedure of your application.\n
236  *
237  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
238  *
239  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
240  *
241  * @section CAPI_NETWORK_BLUETOOTH_DEVICE_MODULE_ASYNCHRONOUS_OPERATIONS Asynchronous Operations
242  * <div><table class="doxtable" >
243  *     <tr>
244  *        <th><b>FUNCTION</b></th>
245  *        <th><b>CALLBACK</b></th>
246  *        <th><b>DESCRIPTION</b></th>
247  *     </tr>
248  *     <tr>
249  *        <td>bt_device_create_bond()<br>
250  *            bt_device_cancel_bonding()</td>
251  *        <td>bt_device_bond_created_cb()</td>
252  *        <td>Used to create bond or cancel creating bond. </td>
253  *     </tr>
254  *     <tr>
255  *        <td>bt_device_destroy_bond()</td>
256  *        <td>bt_device_bond_destroyed_cb()</td>
257  *        <td>Used to destroy bond. </td>
258  *     </tr>
259  *     <tr>
260  *        <td>bt_device_set_authorization()</td>
261  *        <td>bt_device_authorization_changed_cb()</td>
262  *        <td>Used to set as authorized or unauthorized device. </td>
263  *     </tr>
264  *     <tr>
265  *        <td>bt_device_start_service_search()</td>
266  *        <td>bt_device_service_searched_cb()</td>
267  *        <td>Used to start or cancel service search. </td>
268  *     </tr>
269  *</table></div>
270  *
271  * @section CAPI_NETWORK_BLUETOOTH_DEVICE_MODULE_CALLBACK_OPERATIONS Callback(Event) Operations
272  * <div><table class="doxtable" >
273  *     <tr>
274  *        <th><b>REGISTER</b></th>
275  *        <th><b>UNREGISTER</b></th>
276  *        <th><b>CALLBACK</b></th>
277  *        <th><b>DESCRIPTION</b></th>
278  *     </tr>
279  *     <tr>
280  *        <td>bt_device_set_bond_created_cb()</td>
281  *        <td>bt_device_unset_bond_created_cb()</td>
282  *        <td>bt_device_bond_created_cb()</td>
283  *        <td>Used to be notified of the result of creating bond. </td>
284  *     </tr>
285  *     <tr>
286  *        <td>bt_device_set_bond_destroyed_cb()</td>
287  *        <td>bt_device_unset_bond_destroyed_cb()</td>
288  *        <td>bt_device_bond_destroyed_cb()</td>
289  *        <td>Used to be notified of the result of destroying bond. </td>
290  *     </tr>
291  *     <tr>
292  *        <td>bt_device_set_authorization_changed_cb()</td>
293  *        <td>bt_device_unset_authorization_changed_cb()</td>
294  *        <td>bt_device_authorization_changed_cb()</td>
295  *        <td>Used to be notified of change of authorization. </td>
296  *     </tr>
297  *     <tr>
298  *        <td>bt_device_set_service_searched_cb()</td>
299  *        <td>bt_device_unset_service_searched_cb()</td>
300  *        <td>bt_device_service_searched_cb()</td>
301  *        <td>Used to be notified of change of service search state. </td>
302  *     </tr>
303  *</table></div>
304  *
305  *<BR>
306  * Please refer Bluetooth Tutorial if you want to get more detailed usages and information of this api.
307  */
308
309
310 /**
311  * @defgroup CAPI_NETWORK_BLUETOOTH_SOCKET_MODULE Bluetooth Socket
312  * @brief Bluetooth Socket API provides functions for managing connections to other devices and exchanging data.
313  * @ingroup CAPI_NETWORK_BLUETOOTH_MODULE
314  *
315  * @section CAPI_NETWORK_BLUETOOTH_SOCKET_MODULE_HEADER Required Header
316  *  \#include <bluetooth.h>
317  *
318  * @section CAPI_NETWORK_BLUETOOTH_SOCKET_MODULE_OVERVIEW Overview
319  * This set of functions is used for exchanging data between two bluetooth
320  * devices, our device can have both roles as server (service provider) and client
321  * (service user).
322  * Depending on the role, there is difference in creating a connection.
323  * After that, processes of exchanging data and disconnection are same.
324  *
325  * To start communication, you should first register for #bt_socket_set_connection_state_changed_cb()
326  * and #bt_socket_set_data_received_cb().
327  * Next step depends on the role of your application.\n
328  * If you want to be \b server \b role, application should create socket
329  * (#bt_socket_create_rfcomm()), and start listening and accepting incoming connections
330  * (#bt_socket_listen_and_accept_rfcomm()).
331  * If you want to connect to specific device and use it's services (\a client \a role),
332  * you have to start connection with #bt_socket_connect_rfcomm() and wait for connection.\n
333  * After connection has been established (information is passed to your program with
334  * #bt_socket_connection_state_changed_cb() function call), you can exchange data by
335  * calling #bt_socket_send_data(). \n
336  * If you receive data from remote device, #bt_socket_data_received_cb() functions will be called.
337  * When you finish exchanging data, you should disconnect connection
338  * with #bt_socket_disconnect_rfcomm() and unregister callback functions (with using
339  * #bt_socket_unset_data_received_cb(), #bt_socket_unset_connection_state_changed_cb()).
340  *
341  * @section CAPI_NETWORK_BLUETOOTH_SOCKET_MODULE_FEATURE Related Features
342  * This API is related with the following features:\n
343  *  - %http://tizen.org/feature/network.bluetooth\n
344  *
345  * It is recommended to design feature related codes in your application for reliability.\n
346  *
347  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE,thereby controlling the procedure of your application.\n
348  *
349  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
350  *
351  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
352  *
353  * @section CAPI_NETWORK_BLUETOOTH_SOCKET_MODULE_ASYNCHRONOUS_OPERATIONS Asynchronous Operations
354  * <div><table class="doxtable" >
355  *     <tr>
356  *        <th><b>FUNCTION</b></th>
357  *        <th><b>CALLBACK</b></th>
358  *        <th><b>DESCRIPTION</b></th>
359  *     </tr>
360  *     <tr>
361  *        <td>bt_socket_listen_and_accept_rfcomm()<br>
362  *            bt_socket_connect_rfcomm()</td>
363  *        <td>bt_socket_connection_state_changed_cb()</td>
364  *        <td>Used to connect a device. </td>
365  *     </tr>
366  *</table></div>
367  *
368  * @section CAPI_NETWORK_BLUETOOTH_SOCKET_MODULE_CALLBACK_OPERATIONS Callback(Event) Operations
369  * <div><table class="doxtable" >
370  *     <tr>
371  *        <th><b>REGISTER</b></th>
372  *        <th><b>UNREGISTER</b></th>
373  *        <th><b>CALLBACK</b></th>
374  *        <th><b>DESCRIPTION</b></th>
375  *     </tr>
376  *     <tr>
377  *        <td>bt_socket_set_data_received_cb()</td>
378  *        <td>bt_socket_unset_data_received_cb()</td>
379  *        <td>bt_socket_data_received_cb()</td>
380  *        <td>Used to be notified of received data. </td>
381  *     </tr>
382  *     <tr>
383  *        <td>bt_socket_set_connection_state_changed_cb()</td>
384  *        <td>bt_socket_unset_connection_state_changed_cb()</td>
385  *        <td>bt_socket_connection_state_changed_cb()</td>
386  *        <td>Used to be notified when the state of connection changes. </td>
387  *     </tr>
388  *</table></div>
389  *
390  *<BR>
391  * Please refer Bluetooth Tutorial if you want to get more detailed usages and information of this api.
392  */
393
394 /**
395  * @defgroup CAPI_NETWORK_BLUETOOTH_L2CAP_SOCKET_MODULE Bluetooth L2CAP Socket
396  * @brief Bluetooth L2CAP Socket API provides functions for managing connections to other devices and exchanging data.
397  * @ingroup CAPI_NETWORK_BLUETOOTH_MODULE
398  *
399  * @section CAPI_NETWORK_BLUETOOTH_L2CAP_SOCKET_MODULE_HEADER Required Header
400  *  \#include <bluetooth.h>
401  *
402  * @section CAPI_NETWORK_BLUETOOTH_L2CAP_SOCKET_MODULE_OVERVIEW Overview
403  * This set of functions is used for exchanging data between two bluetooth
404  * devices, our device can have both roles as server (service provider) and client
405  * (service user).
406  * Depending on the role, there is difference in creating a connection.
407  * After that, processes of exchanging data and disconnection are same.
408  *
409  * To start communication, you should first register for #bt_socket_set_l2cap_channel_connection_state_changed_cb()
410  * and #bt_socket_set_data_received_cb().
411  * Next step depends on the role of your application.\n
412  * If you want to be \b server \b role, application should create socket
413  * (#bt_socket_create_l2cap_channel()), and start listening and accepting incoming connections
414  * (#bt_socket_listen_and_accept_l2cap_channel()).
415  * If you want to connect to specific device and use it's services (\a client \a role),
416  * you have to start connection with #bt_socket_connect_l2cap_channel() and wait for connection.\n
417  * After connection has been established (information is passed to your program with
418  * #bt_socket_l2cap_channel_connection_state_changed_cb() function call), you can exchange data by
419  * calling #bt_socket_send_data_l2cap_channel(). \n
420  * If you receive data from remote device, #bt_socket_data_received_cb() functions will be called.
421  * When you finish exchanging data, you should disconnect connection
422  * with #bt_socket_disconnect_l2cap_channel() and unregister callback functions (with using
423  * #bt_socket_unset_data_received_cb(), #bt_socket_unset_l2cap_channel_connection_state_changed_cb()).
424  *
425  * @section CAPI_NETWORK_BLUETOOTH_L2CAP_SOCKET_MODULE_FEATURE Related Features
426  * This API is related with the following features:\n
427  *  - %http://tizen.org/feature/network.bluetooth.le.coc\n
428  *
429  * It is recommended to design feature related codes in your application for reliability.\n
430  *
431  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE,thereby controlling the procedure of your application.\n
432  *
433  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
434  *
435  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
436  *
437  * @section CAPI_NETWORK_BLUETOOTH_L2CAP_SOCKET_MODULE_ASYNCHRONOUS_OPERATIONS Asynchronous Operations
438  * <div><table class="doxtable" >
439  *     <tr>
440  *        <th><b>FUNCTION</b></th>
441  *        <th><b>CALLBACK</b></th>
442  *        <th><b>DESCRIPTION</b></th>
443  *     </tr>
444  *     <tr>
445  *        <td>bt_socket_listen_and_accept_l2cap_channel()<br>
446  *            bt_socket_connect_l2cap_channel()</td>
447  *        <td>bt_socket_l2cap_channel_connection_state_changed_cb()</td>
448  *        <td>Used to connect a device. </td>
449  *     </tr>
450  *</table></div>
451  *
452  * @section CAPI_NETWORK_BLUETOOTH_L2CAP_SOCKET_MODULE_CALLBACK_OPERATIONS Callback(Event) Operations
453  * <div><table class="doxtable" >
454  *     <tr>
455  *        <th><b>REGISTER</b></th>
456  *        <th><b>UNREGISTER</b></th>
457  *        <th><b>CALLBACK</b></th>
458  *        <th><b>DESCRIPTION</b></th>
459  *     </tr>
460  *     <tr>
461  *        <td>bt_socket_set_data_received_cb()</td>
462  *        <td>bt_socket_unset_data_received_cb()</td>
463  *        <td>bt_socket_data_received_cb()</td>
464  *        <td>Used to be notified of received data. </td>
465  *     </tr>
466  *     <tr>
467  *        <td>bt_socket_set_l2cap_channel_connection_state_changed_cb()</td>
468  *        <td>bt_socket_unset_l2cap_channel_connection_state_changed_cb()</td>
469  *        <td>bt_socket_l2cap_channel_connection_state_changed_cb()</td>
470  *        <td>Used to be notified when the state of connection changes. </td>
471  *     </tr>
472  *</table></div>
473  *
474  *<BR>
475  * Please refer Bluetooth Tutorial if you want to get more detailed usages and information of this api.
476  */
477
478 /**
479  * @defgroup CAPI_NETWORK_BLUETOOTH_OPP_MODULE Bluetooth OPP
480  * @brief Bluetooth OPP(Object Push Profile) API provides functions for exchanging objects such as pictures.
481  * @ingroup CAPI_NETWORK_BLUETOOTH_MODULE
482  *
483  * @section CAPI_NETWORK_BLUETOOTH_OPP_MODULE_HEADER Required Header
484  *  \#include <bluetooth.h>
485  *
486  * @section CAPI_NETWORK_BLUETOOTH_OPP_MODULE_OVERVIEW Overview
487  * OPP profile let users exchange objects between two devices.
488  *
489  */
490
491 /**
492  * @defgroup CAPI_NETWORK_BLUETOOTH_OPP_SERVER_MODULE Bluetooth OPP Server
493  * @brief Bluetooth OPP(Object Push Profile) Server API provides functions for accepting objects such as pictures.
494  * @ingroup CAPI_NETWORK_BLUETOOTH_OPP_MODULE
495  *
496  * @section CAPI_NETWORK_BLUETOOTH_OPP_SERVER_MODULE_HEADER Required Header
497  *  \#include <bluetooth.h>
498  *
499  * @section CAPI_NETWORK_BLUETOOTH_OPP_SERVER_MODULE_OVERVIEW Overview
500  * This is OPP server APIs.
501  *
502  * @section CAPI_NETWORK_BLUETOOTH_OPP_SERVER_MODULE_FEATURE Related Features
503  * This API is related with the following features:\n
504  *  - %http://tizen.org/feature/network.bluetooth.opp\n
505  *
506  * It is recommended to design feature related codes in your application for reliability.\n
507  *
508  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE,thereby controlling the procedure of your application.\n
509  *
510  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
511  *
512  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
513  *
514  */
515
516 /**
517  * @defgroup CAPI_NETWORK_BLUETOOTH_OPP_CLIENT_MODULE Bluetooth OPP Client
518  * @brief Bluetooth OPP(Object Push Profile) Client API provides functions for pushing objects such as pictures.
519  * @ingroup CAPI_NETWORK_BLUETOOTH_OPP_MODULE
520  *
521  * @section CAPI_NETWORK_BLUETOOTH_OPP_CLIENT_MODULE_HEADER Required Header
522  *  \#include <bluetooth.h>
523  *
524  * @section CAPI_NETWORK_BLUETOOTH_OPP_CLIENT_MODULE_OVERVIEW Overview
525  * This is OPP Client APIs.
526  *
527  * @section CAPI_NETWORK_BLUETOOTH_OPP_CLIENT_MODULE_FEATURE Related Features
528  * This API is related with the following features:\n
529  *  - %http://tizen.org/feature/network.bluetooth.opp\n
530  *
531  * It is recommended to design feature related codes in your application for reliability.\n
532  *
533  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE,thereby controlling the procedure of your application.\n
534  *
535  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
536  *
537  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
538  *
539  */
540
541 /**
542  * @internal
543  * @defgroup CAPI_NETWORK_BLUETOOTH_PAN_MODULE Bluetooth PAN
544  * @brief Bluetooth PAN(Personal Area Networking) API provides functions for connecting to a higher level network and the Internet.
545  * @ingroup CAPI_NETWORK_BLUETOOTH_MODULE
546  *
547  * @section CAPI_NETWORK_BLUETOOTH_PAN_MODULE_OVERVIEW Overview
548  * The PAN Profile describe how two or more Bluetooth enabled devices can form an ad-hoc network and how the same mechanism can be
549  * used to access a remote network through a network access point. But this API only supports network access point service.
550  *
551  * @section CAPI_NETWORK_BLUETOOTH_PAN_MODULE_FEATURE Related Features
552  * This API is related with the following features:\n
553  *  - %http://tizen.org/feature/network.tethering.bluetooth\n
554  *
555  * It is recommended to design feature related codes in your application for reliability.\n
556  *
557  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE,thereby controlling the procedure of your application.\n
558  *
559  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
560  *
561  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
562  *
563  */
564
565 /**
566  * @internal
567  * @defgroup CAPI_NETWORK_BLUETOOTH_PAN_NAP_MODULE Bluetooth NAP
568  * @brief Bluetooth NAP(Network Access Point) API provides functions for an Ethernet bridge to support network services.
569  * @ingroup CAPI_NETWORK_BLUETOOTH_PAN_MODULE
570  *
571  * @section CAPI_NETWORK_BLUETOOTH_PAN_NAP_MODULE_HEADER Required Header
572  *  \#include <bluetooth.h>
573  *
574  * @section CAPI_NETWORK_BLUETOOTH_PAN_NAP_MODULE_OVERVIEW Overview
575  * A Bluetooth device that supports the NAP service is a Bluetooth device that provides some of the features of an Ethernet bridge to support network services.
576  *
577  * @section CAPI_NETWORK_BLUETOOTH_PAN_NAP_MODULE_FEATURE Related Features
578  * This API is related with the following features:\n
579  *  - %http://tizen.org/feature/network.tethering.bluetooth\n
580  *
581  * It is recommended to design feature related codes in your application for reliability.\n
582  *
583  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
584  *
585  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
586  *
587  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
588  *
589  */
590
591 /**
592  * @internal
593  * @defgroup CAPI_NETWORK_BLUETOOTH_PAN_PANU_MODULE Bluetooth PANU
594  * @brief Bluetooth PANU(Personal Area Networking User) API provides functions for client of both the NAP(Network Access Point).
595  * @ingroup CAPI_NETWORK_BLUETOOTH_PAN_MODULE
596  *
597  * @section CAPI_NETWORK_BLUETOOTH_PAN_PANU_MODULE_HEADER Required Header
598  *  \#include <bluetooth.h>
599  *
600  * @section CAPI_NETWORK_BLUETOOTH_PAN_PANU_MODULE_OVERVIEW Overview
601  * In PAN Profile, PANU can uses either the NAP or GN service, but this API only supports NAP service.
602  *
603  * @section CAPI_NETWORK_BLUETOOTH_PAN_PANU_MODULE_FEATURE Related Features
604  * This API is related with the following features:\n
605  *  - %http://tizen.org/feature/network.tethering.bluetooth\n
606  *
607  * It is recommended to design feature related codes in your application for reliability.\n
608  *
609  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
610  *
611  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
612  *
613  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
614  *
615  */
616
617 /**
618  * @if MOBILE
619  * @defgroup CAPI_NETWORK_BLUETOOTH_HID_MODULE Bluetooth HID
620  * @brief Bluetooth HID(Human Interface Device) API provides functions for connecting to Bluetooth HID such as keyboards and mouse.
621  * @ingroup CAPI_NETWORK_BLUETOOTH_MODULE
622  *
623  * @section CAPI_NETWORK_BLUETOOTH_HID_MODULE_HEADER Required Header
624  *  \#include <bluetooth.h>
625  *
626  * @section CAPI_NETWORK_BLUETOOTH_HID_MODULE_OVERVIEW Overview
627  * In HID Profile, there are two roles - @a Host and @a Device.
628  * The @a Host is a device that uses or requests the services of a HID. The @a Device is a device that provides the service of human data input and output to and from the @a Host.
629  * This API only supports @a Host role.
630  *
631  * @section CAPI_NETWORK_BLUETOOTH_HID_MODULE_FEATURE Related Features
632  * This API is related with the following features:\n
633  *  - %http://tizen.org/feature/network.bluetooth.hid\n
634  *
635  * It is recommended to design feature related codes in your application for reliability.\n
636  *
637  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
638  *
639  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
640  *
641  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
642  * @endif
643  */
644
645 /**
646  * @if WEARABLE
647  * @defgroup CAPI_NETWORK_BLUETOOTH_HID_MODULE Bluetooth HID
648  * @brief Bluetooth HID(Human Interface Device) API provides functions for connecting to Bluetooth HID such as keyboards and mouse.
649  * @ingroup CAPI_NETWORK_BLUETOOTH_MODULE
650  *
651  * @section CAPI_NETWORK_BLUETOOTH_HID_MODULE_HEADER Required Header
652  *  \#include <bluetooth.h>
653  *
654  * @section CAPI_NETWORK_BLUETOOTH_HID_MODULE_OVERVIEW Overview
655  * In HID Profile, there are two roles - @a Host and @a Device.
656  * The @a Host is a device that uses or requests the services of a HID. The @a Device is a device that provides the service of human data input and output to and from th
657  *
658  * @section CAPI_NETWORK_BLUETOOTH_HID_MODULE_FEATURE Related Features
659  * This API is related with the following features:\n
660  *  - %http://tizen.org/feature/network.bluetooth.hid\n
661  *  - %http://tizen.org/feature/network.bluetooth.hid_device\n
662  *
663  * It is recommended to design feature related codes in your application for reliability.\n
664  *
665  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application
666  *
667  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK
668  *
669  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
670  * @endif
671  */
672
673
674 /**
675  * @if WEARABLE
676  * @defgroup CAPI_NETWORK_BLUETOOTH_HID_HOST_MODULE Bluetooth HID Host
677  * @brief Bluetooth HID(Human Interface Device) API provides functions for connecting to Bluetooth HID such as keyboards and mouse.
678  * @ingroup CAPI_NETWORK_BLUETOOTH_HID_MODULE
679  *
680  * @section CAPI_NETWORK_BLUETOOTH_HID_MODULE_HEADER Required Header
681  *  \#include <bluetooth.h>
682  *
683  * @section CAPI_NETWORK_BLUETOOTH_HID_MODULE_OVERVIEW Overview
684  * In HID Profile, there are two roles - @a Host and @a Device.
685  * The @a Host is a device that uses or requests the services of a HID. The @a Device is a device that provides the service of human data input and output to and from th
686  * This API only supports @a Host role.
687  *
688  * @section CAPI_NETWORK_BLUETOOTH_HID_MODULE_FEATURE Related Features
689  * This API is related with the following features:\n
690  *  - %http://tizen.org/feature/network.bluetooth.hid\n
691  *
692  * It is recommended to design feature related codes in your application for reliability.\n
693  *
694  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
695  *
696  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
697  *
698  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
699  * @endif
700  */
701
702 /**
703  * @if WEARABLE
704  * @defgroup CAPI_NETWORK_BLUETOOTH_HID_DEVICE_MODULE Bluetooth HID Device
705  * @brief The Bluetooth HID (Human Interface Device) API provides functions for connecting Bluetooth HID such as keyboards and mice.
706  * @ingroup CAPI_NETWORK_BLUETOOTH_HID_MODULE
707  *
708  * @section CAPI_NETWORK_BLUETOOTH_HID_DEVICE_MODULE_HEADER Required Header
709  *  \#include <bluetooth.h>
710  *
711  * @section CAPI_NETWORK_BLUETOOTH_HID_DEVICE_MODULE_OVERVIEW Overview
712  * In HID Profile, there are two roles - @a Host and @a Device.
713  * The @a Host is a device that uses or requests the services of a HID. The @a Device is a device that provides the service of human data input and output to and from the @a Host.
714  * This API supports the @a Device role.
715  *
716  * @section CAPI_NETWORK_BLUETOOTH_HID_DEVICE_MODULE_FEATURE Related Features
717  * This API is related to the following features:\n
718  *  - %http://tizen.org/feature/network.bluetooth.hid_device\n
719  *
720  * It is recommended to use features in your application for reliability.\n
721  *
722  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling your application's actions.\n
723  *
724  * To ensure your application runs only on devices with the required features, please declare the features in your manifest file using the manifest editor in the SDK.\n
725  *
726  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
727  * @endif
728  *
729  */
730
731 /**
732  * @defgroup CAPI_NETWORK_BLUETOOTH_AUDIO_MODULE Bluetooth Audio
733  * @brief Bluetooth Audio API provides functions for connecting to Bluetooth audio devices such as headset, hand-free and headphone.
734  * @ingroup CAPI_NETWORK_BLUETOOTH_MODULE
735  *
736  * @section CAPI_NETWORK_BLUETOOTH_AUDIO_MODULE_HEADER Required Header
737  *  \#include <bluetooth.h>
738  *
739  * @section CAPI_NETWORK_BLUETOOTH_AUDIO_MODULE_OVERVIEW Overview
740  * This API supports the HFP(Hands-Free Profile), HSP(Headset Profile) and A2DP(Advanced Audio Distribution Profile).
741  *
742  * @section CAPI_NETWORK_BLUETOOTH_AUDIO_MODULE_FEATURE Related Features
743  * This API is related with the following features:\n
744  *  - %http://tizen.org/feature/network.bluetooth.audio.call\n
745  *  - %http://tizen.org/feature/network.bluetooth.audio.media\n
746  *
747  * It is recommended to design feature related codes in your application for reliability.\n
748  *
749  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
750  *
751  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
752  *
753  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
754  *
755  */
756
757 /**
758  * @internal
759  * @defgroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE Bluetooth AG
760  * @brief Bluetooth AG(Audio Gateway) API provides functions for controlling the remote audio device.
761  * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_MODULE
762  *
763  * @section CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE_HEADER Required Header
764  *  \#include <bluetooth.h>
765  *
766  * @section CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE_OVERVIEW Overview
767  * This API supports the @a Audio @a Gateway role in HSP and HFP.
768  * Audio Gateway is the device that is the gateway of the audio, both for input and output, typically a mobile phone or PC.
769  *
770  * @section CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE_FEATURE Related Features
771  * This API is related with the following features:\n
772  *  - %http://tizen.org/feature/network.bluetooth.audio.call\n
773  *  - %http://tizen.org/feature/network.bluetooth.audio.media\n
774  *
775  * It is recommended to design feature related codes in your application for reliability.\n
776  *
777  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
778  *
779  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
780  *
781  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
782  *
783  */
784
785 /**
786  * @internal
787  * @defgroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_CALL_MODULE Call List
788  * @brief Bluetooth AG(Audio Gateway) API provides functions for managing the handler of call list.
789  * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE
790  *
791  * @section CAPI_NETWORK_BLUETOOTH_AUDIO_AG_CALL_MODULE_HEADER Required Header
792  *  \#include <bluetooth.h>
793  *
794  * @section CAPI_NETWORK_BLUETOOTH_AUDIO_AG_CALL_OVERVIEW Overview
795  * This set of functions is used for managing the handler of call list.
796  * This handler is used for notifying the call list to the remote bluetooth device which supports HFP(Hands-Free Profile).
797  *
798  * @section CAPI_NETWORK_BLUETOOTH_AUDIO_AG_CALL_MODULE_FEATURE Related Features
799  * This API is related with the following features:\n
800  *  - %http://tizen.org/feature/network.bluetooth.audio.call\n
801  *  - %http://tizen.org/feature/network.bluetooth.audio.media\n
802  *
803  * It is recommended to design feature related codes in your application for reliability.\n
804  *
805  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
806  *
807  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
808  *
809  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
810  *
811  */
812
813 /**
814  * @defgroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE Bluetooth AVRCP
815  * @brief Bluetooth AVRCP(Audio/Video Remote Control Profile) API provides functions for notifying the change of target device to the control device(@a Target role) and functions for controlling the remote device(@a Controller role).
816  * @ingroup CAPI_NETWORK_BLUETOOTH_MODULE
817  *
818  * @section CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE_HEADER Required Header
819  *  \#include <bluetooth.h>
820  *
821  * @section CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE_OVERVIEW Overview
822  * AVRCP profile let users send AV control signals and information between two devices.
823  *
824  */
825
826 /**
827  * @defgroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE Bluetooth AVRCP Target
828  * @brief Bluetooth AVRCP(Audio/Video Remote Control Profile) Target API provides functions for notifying the change of target device to the control device.
829  * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
830  *
831  * @section CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE_HEADER Required Header
832  *  \#include <bluetooth.h>
833  *
834  * @section CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE_OVERVIEW Overview
835  * This API supports the @a Target role in AVRCP spec.
836  * The @a Target is the device whose characteristics are being altered.
837  * In a "walkman" type media player scenario, the @a Control device may be a headset that allows tracks to be skipped and the @a Target device would be the actual medial player.
838  *
839  * @section CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE_FEATURE Related Features
840  * This API is related with the following features:\n
841  *  - %http://tizen.org/feature/network.bluetooth.audio.media\n
842  *
843  * It is recommended to design feature related codes in your application for reliability.\n
844  *
845  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
846  *
847  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
848  *
849  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
850  *
851  */
852
853  /**
854  * @defgroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE Bluetooth AVRCP Controller
855  * @brief Bluetooth AVRCP(Audio/Video Remote Control Profile) Control API provides functions for controlling the remote device.
856  * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
857  *
858  * @section CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE_HEADER Required Header
859  *  \#include <bluetooth.h>
860  *
861  * @section CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE_OVERVIEW Overview
862  * This API supports the @a Controller role in the AVRCP spec.
863  * In a "walkman" type media player scenario, the @a Control device may be a headset that allows tracks to be skipped and the @a Target device would be the actual medial player.
864  *
865  * @section CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE_FEATURE Related Features
866  * This API is related with the following features:\n
867  *  - %http://tizen.org/feature/network.bluetooth.audio.controller\n
868  *
869  * It is recommended to create application with regard to features, to increase reliability.\n
870  *
871  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
872  *
873  * To ensure your application is only running on a device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
874  *
875  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
876  *
877  */
878
879 /**
880  * @defgroup CAPI_NETWORK_BLUETOOTH_HDP_MODULE Bluetooth HDP
881  * @brief Bluetooth HDP(Health Device Profile) API provides functions for managing connections to health devices and exchanging data.
882  * @ingroup CAPI_NETWORK_BLUETOOTH_MODULE
883  *
884  * @section CAPI_NETWORK_BLUETOOTH_HDP_MODULE_HEADER Required Header
885  *  \#include <bluetooth.h>
886  *
887  * @section CAPI_NETWORK_BLUETOOTH_HDP_MODULE_OVERVIEW Overview
888  * The @a Source is a transmitter of application data that is to be transferred to a @a Sink. The @a Sink is a receiver of application data delivered from a @a Source.
889  * This API supports the @a Sink role in HDP spec.
890  *
891  * @section CAPI_NETWORK_BLUETOOTH_HDP_MODULE_FEATURE Related Features
892  * This API is related with the following features:\n
893  *  - %http://tizen.org/feature/network.bluetooth.health\n
894  *
895  * It is recommended to design feature related codes in your application for reliability.\n
896  *
897  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
898  *
899  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
900  *
901  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
902  *
903  */
904
905 /**
906  * @defgroup CAPI_NETWORK_BLUETOOTH_GATT_MODULE Bluetooth GATT
907  * @brief Bluetooth GATT (Generic Attribute Profile) API provides common functions for GATT client and GATT server.
908  * @ingroup CAPI_NETWORK_BLUETOOTH_MODULE
909  *
910  * @section CAPI_NETWORK_BLUETOOTH_GATT_MODULE_HEADER Required Header
911  *  \#include <bluetooth.h>
912  *
913  * @section CAPI_NETWORK_BLUETOOTH_GATT_MODULE_OVERVIEW Overview
914  * Two roles are defined for devices that implement GATT.
915  * The @a Server is the device that accepts incoming commands and requests from the client and sends responses, indications and notifications to a client.
916  * The @a Client is the device that initiates commands and requests towards the server and can receive responses, indications and notifications sent by the server.
917  * This API supports both @a Server role and @a Client role in GATT. \n
918  * Bluetooth stack architecture has been changed. Thus, GATT APIs defined in Tizen 2.3 are deprecated and new GATT client APIs are defined.
919  *
920  * @section CAPI_NETWORK_BLUETOOTH_GATT_MODULE_FEATURE Related Features
921  * This API is related with the following features:\n
922  *  - %http://tizen.org/feature/network.bluetooth.le.gatt.server\n
923  *  - %http://tizen.org/feature/network.bluetooth.le.gatt.client\n
924  *
925  * It is recommended to design feature related codes in your application for reliability.\n
926  *
927  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
928  *
929  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
930  *
931  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
932  *
933  */
934
935  /**
936  * @defgroup CAPI_NETWORK_BLUETOOTH_GATT_SERVER_MODULE Bluetooth GATT Server
937  * @brief Bluetooth GATT (Generic Attribute Profile) Server API provides functions for modifying attributes and registering services, characteristics and descriptors.
938  * @ingroup CAPI_NETWORK_BLUETOOTH_GATT_MODULE
939  *
940  * @section CAPI_NETWORK_BLUETOOTH_GATT_SERVER_MODULE_HEADER Required Header
941  *  \#include <bluetooth.h>
942  *
943  * @section CAPI_NETWORK_BLUETOOTH_GATT_SERVER_MODULE_OVERVIEW Overview
944  * Two roles are defined for devices that implement GATT.
945  * The @a Server is the device that accepts incoming commands and requests from a client and sends responses, indications and notifications to the client.
946  * The @a Client is the device that initiates commands and requests towards a server and can receive responses, indications and notifications sent by the server.
947  *
948  * @section CAPI_NETWORK_BLUETOOTH_GATT_SERVER_MODULE_FEATURE Related Features
949  * This API supports both @a Server role in GATT. \n
950  * This API is related with the following features:\n
951  *  - %http://tizen.org/feature/network.bluetooth.le.gatt.server\n
952  *
953  * It is recommended to create an application with regard to features, to increase reliability.\n
954  *
955  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
956  *
957  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
958  *
959  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
960  *
961  */
962
963 /**
964  * @defgroup CAPI_NETWORK_BLUETOOTH_GATT_CLIENT_MODULE Bluetooth GATT Client
965  * @brief Bluetooth GATT (Generic Attribute Profile) Client API provides functions for discovering attributes and registering services, characteristics and descriptors of the remote device.
966  * @ingroup CAPI_NETWORK_BLUETOOTH_GATT_MODULE
967  *
968  * @section CAPI_NETWORK_BLUETOOTH_GATT_CLIENT_MODULE_HEADER Required Header
969  *  \#include <bluetooth.h>
970  *
971  * @section CAPI_NETWORK_BLUETOOTH_GATT_CLIENT_MODULE_OVERVIEW Overview
972  * Two roles are defined for devices that implement GATT.
973  * The @a Server is the device that accepts incoming commands and requests from a client and sends responses, indications and notifications to the client.
974  * The @a Client is the device that initiates commands and requests towards a server and can receive responses, indications and notifications sent by the server.
975  *
976  * @section CAPI_NETWORK_BLUETOOTH_GATT_CLIENT_MODULE_FEATURE Related Features
977  * This API supports both @a Client role in GATT. \n
978  * This API is related with the following features:\n
979  *  - %http://tizen.org/feature/network.bluetooth.le.gatt.client\n
980  *
981  * It is recommended to create your application with regard to features, to increase reliability.\n
982  *
983  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, and control your application's actions accordingly.\n
984  *
985  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
986  *
987  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
988  *
989  */
990
991 /**
992  * @defgroup CAPI_NETWORK_BLUETOOTH_IPSP_MODULE Bluetooth IPSP
993  * @brief Bluetooth IPSP(Internet Protocol Support Profile) API provides functions for supporting of exchanging IPv6 packets between devices over the BLE transport.
994  * @ingroup CAPI_NETWORK_BLUETOOTH_MODULE
995  *
996  * @section CAPI_NETWORK_BLUETOOTH_IPSP_MODULE_HEADER Required Header
997  *  \#include <bluetooth.h>
998  *
999  * @section CAPI_NETWORK_BLUETOOTH_IPSP_MODULE_OVERVIEW Overview
1000  * Two roles are defined for devices that implement IPSP.
1001  * The @a Router is used for devices that can route IPv6 packets.
1002  * The @a Node is used for devices that can originate or consume IPv6 application packets.
1003  *
1004  * @section CAPI_NETWORK_BLUETOOTH_IPSP_MODULE_FEATURE Related Features
1005  * This API is related with the following features:\n
1006  *  - %http://tizen.org/feature/network.bluetooth.le.ipsp\n
1007  *
1008  * It is recommended to design feature related codes in your application for reliability.\n
1009  *
1010  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
1011  *
1012  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
1013  *
1014  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
1015  *
1016  */
1017
1018 /**
1019  * @WEARABLE_ONLY
1020  * @defgroup CAPI_NETWORK_BLUETOOTH_PBAP_MODULE Bluetooth PBAP
1021  * @brief Bluetooth PBAP (Phone Book Access Profile) API provides functions for managing connections to a phone book server and retrieving phone book data.
1022  * @ingroup CAPI_NETWORK_BLUETOOTH_MODULE
1023  *
1024  * @section CAPI_NETWORK_BLUETOOTH_PBAP_MODULE_HEADER Required Header
1025  *  \#include <bluetooth.h>
1026  *
1027  * @section CAPI_NETWORK_BLUETOOTH_PBAP_MODULE_OVERVIEW Overview
1028  * The PBAP involves two roles, @a Server and @a Client.
1029  * The @a Server is a device that has phone book data. The @a Client is a device that requests the phone book data from the @a Server.
1030  * This API only supports @a Client role.
1031  *
1032  * @section CAPI_NETWORK_BLUETOOTH_PBAP_MODULE_FEATURE Related Features
1033  * This API is related to the following features:\n
1034  *  - %http://tizen.org/feature/network.bluetooth.phonebook.client\n
1035  *
1036  * It is recommended to use features in your application for reliability.\n
1037  *
1038  * You can check if a device supports features related to this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling your application's actions.\n
1039  *
1040  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
1041  *
1042  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
1043  *
1044  *
1045  */
1046
1047 /**
1048  * @defgroup CAPI_NETWORK_BLUETOOTH_OOB_MODULE Bluetooth OOB
1049  * @brief Bluetooth OOB (Out of Band) API provides functions for exchanging some information used in the pairing process.
1050  * @ingroup CAPI_NETWORK_BLUETOOTH_MODULE
1051  *
1052  * @section CAPI_NETWORK_BLUETOOTH_OOB_MODULE_HEADER Required Header
1053  *  \#include <bluetooth.h>
1054  *
1055  * @section CAPI_NETWORK_BLUETOOTH_OOB_MODULE_OVERVIEW Overview
1056  * This set of functions is used for exchanging the hash key and randomizer.
1057  * This API uses an external means of communication, such as near-field communication (NFC) to exchange some information used in the pairing process.
1058  *
1059  * @section CAPI_NETWORK_BLUETOOTH_HDP_MODULE_FEATURE Related Features
1060  * This API is related with the following features:\n
1061  *  - %http://tizen.org/feature/network.bluetooth.oob\n
1062  *
1063  * It is recommended to use features in your application for reliability.\n
1064  *
1065  * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, and control your application's actions accordingly.\n
1066  *
1067  * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
1068  *
1069  * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
1070  *
1071  */
1072
1073 #endif /* __TIZEN_NETWORK_BLUETOOTH_DOC_H__ */