2 * Copyright (c) 2016 - 2017 Samsung Electronics Co., Ltd. All rights reserved.
4 * Contact: Anupam Roy <anupam.r@samsung.com>
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
21 #ifndef _BT_SERVICE_CORE_ADAPTER_LE_H_
22 #define _BT_SERVICE_CORE_ADAPTER_LE_H_
25 #include <sys/types.h>
26 #include "bluetooth-api.h"
35 LE_DISCOVERY_STARTING,
36 LE_DISCOVERY_STOPPING,
37 } bt_le_discovery_state_t;
47 BT_LE_PASSIVE_SCAN = 0x00,
51 int _bt_enable_adapter_le(void);
53 int _bt_disable_adapter_le(void);
55 int _bt_le_init(void);
57 void _bt_le_deinit(void);
59 int _bt_is_advertising(void);
60 int _bt_set_advertising(const char *sender, int adv_handle, gboolean enable, gboolean use_reserved_slot);
62 int _bt_set_custom_advertising(const char *sender, int adv_handle, gboolean enable, bluetooth_advertising_params_t *params, gboolean use_reserved_slot);
64 int _bt_set_advertising_data(const char *sender, int adv_handle, bluetooth_advertising_data_t *data, int length, gboolean use_reserved_slot);
66 int _bt_set_scan_response_data(const char *sender, int adv_handle, bluetooth_scan_resp_data_t *response, int length, gboolean use_reserved_slot);
68 int _bt_get_advertising_data(char *sender, int adv_handle, bluetooth_advertising_data_t *adv, int *length);
70 int _bt_get_scan_response_data(char *sender, int adv_handle, bluetooth_scan_resp_data_t *adv, int *length);
72 int _bt_start_le_scan(const char *sender);
74 int _bt_stop_le_scan(const char *sender);
76 int _bt_set_scan_parameters(bluetooth_le_scan_params_t *params);
78 int _bt_prepare_scan_parameters(bluetooth_le_scan_params_t *params, int scan_type);
80 gboolean _bt_is_le_scanning(void);
82 void _bt_check_le_scanner_app_termination(const char *sender);
84 void _bt_adapter_set_le_status(bt_le_status_t status);
86 bt_le_status_t _bt_adapter_get_le_status(void);
88 int _bt_service_le_init(void);
90 void _bt_service_le_deinit(void);
92 gboolean _bt_is_le_2m_phy_supported(void);
94 gboolean _bt_is_le_coded_phy_supported(void);
96 int _bt_set_le_static_random_address(gboolean is_enable);
98 int _bt_set_le_privacy(gboolean set_privacy);
100 int _bt_set_white_list(bluetooth_device_address_t *device_address, int address_type, bool is_add);
103 #endif /* __cplusplus */
104 #endif /*_BT_SERVICE_CORE_ADAPTER_LE_H_*/