4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Paras Kumar <paras.kumar@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
22 #include "bluetooth-api.h"
23 #include "bluetooth-ipsp-api.h"
24 #include "bt-internal-types.h"
26 #include "bt-common.h"
27 #include "bt-request-sender.h"
28 #include "bt-event-handler.h"
30 BT_EXPORT_API int bluetooth_le_ipsp_init(void)
32 int ret = IPSP_ERROR_NONE;
34 BT_CHECK_ENABLED_LE(return);
38 BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
40 ret = _bt_send_request(BT_BLUEZ_SERVICE, BT_LE_IPSP_INIT,
41 in_param1, in_param2, in_param3, in_param4, &out_param);
43 BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
48 BT_EXPORT_API int bluetooth_le_ipsp_deinit(void)
50 int ret = IPSP_ERROR_NONE;
52 BT_CHECK_ENABLED_LE(return);
56 BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
58 ret = _bt_send_request(BT_BLUEZ_SERVICE, BT_LE_IPSP_DEINIT,
59 in_param1, in_param2, in_param3, in_param4, &out_param);
61 BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
66 BT_EXPORT_API int bluetooth_le_ipsp_connect(const ipsp_device_address_t *device_address)
68 int ret = IPSP_ERROR_NONE;
70 BT_CHECK_PARAMETER(device_address, return);
71 BT_CHECK_ENABLED_LE(return);
74 BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
76 g_array_append_vals(in_param1, device_address, sizeof(ipsp_device_address_t));
78 ret = _bt_send_request(BT_BLUEZ_SERVICE, BT_LE_IPSP_CONNECT,
79 in_param1, in_param2, in_param3, in_param4, &out_param);
81 BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
86 BT_EXPORT_API int bluetooth_le_ipsp_disconnect(const ipsp_device_address_t *device_address)
88 int ret = IPSP_ERROR_NONE;
90 BT_CHECK_PARAMETER(device_address, return);
91 BT_CHECK_ENABLED_LE(return);
94 BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
96 g_array_append_vals(in_param1, device_address, sizeof(ipsp_device_address_t));
98 ret = _bt_send_request(BT_BLUEZ_SERVICE, BT_LE_IPSP_DISCONNECT,
99 in_param1, in_param2, in_param3, in_param4, &out_param);
101 BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);