******************************************************************************/
int wifi_direct_connect(const char *mac_address);
+/**
+ * @brief Cancel the connection now in progress .
+ * @param[in] mac_address The MAC address of rejected device.
+ * @retval #WIFI_DIRECT_ERROR_NONE Successful
+ * @retval #WIFI_DIRECT_ERROR_OPERATION_FAILED Operation failed
+ * @retval #WIFI_DIRECT_ERROR_COMMUNICATION_FAILED Communication failed
+ * @retval #WIFI_DIRECT_ERROR_NOT_PERMITTED Operation not permitted
+ * @retval #WIFI_DIRECT_ERROR_NOT_INITIALIZED Not initialized
+ * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY Device or resource busy
+ */
+int wifi_direct_cancel_connection(const char *mac_address);
+
+/**
+ * @brief Reject the connection request from other device now in progress.
+ * @param[in] mac_address The MAC address of rejected device.
+ * @retval #WIFI_DIRECT_ERROR_NONE Successful
+ * @retval #WIFI_DIRECT_ERROR_OPERATION_FAILED Operation failed
+ * @retval #WIFI_DIRECT_ERROR_COMMUNICATION_FAILED Communication failed
+ * @retval #WIFI_DIRECT_ERROR_NOT_PERMITTED Operation not permitted
+ * @retval #WIFI_DIRECT_ERROR_NOT_INITIALIZED Not initialized
+ * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY Device or resource busy
+ */
+int wifi_direct_reject_connection(const char *mac_address);
/*****************************************************************************************/
/* wifi_direct_disconnect_all API function prototype
+* Fri, 10 Jan 2014 Jiung Yu <jiung.yu@samsung.com> (1.0.4)
+ - Add cancel_connection function
+
* Fri, 10 Jan 2014 Jiung Yu <jiung.yu@samsung.com> (1.0.3)
- Additonal Mutex lock applied
Name: libwifi-direct
Summary: Wifi Direct Library
-Version: 1.0.3
+Version: 1.0.4
Release: 1
Group: Network & Connectivity/Wireless
License: Apache-2.0
WDC_LOGD("------------------------------------------\n");
}
-
void __wfd_client_print_config_data(wfd_config_data_s *config)
{
if (config == NULL)
return WIFI_DIRECT_ERROR_NONE;
}
+int wifi_direct_cancel_connection(const char *mac_address)
+{
+ __WDC_LOG_FUNC_START__;
+ wifi_direct_client_info_s *client_info = __wfd_get_control();
+ wifi_direct_client_request_s req;
+ wifi_direct_client_response_s rsp;
+ int res = WIFI_DIRECT_ERROR_NONE;
+
+ if ((client_info->is_registered == false)
+ || (client_info->client_id == WFD_INVALID_ID))
+ {
+ WDC_LOGE("Client is NOT registered.");
+ __WDC_LOG_FUNC_END__;
+ return WIFI_DIRECT_ERROR_NOT_INITIALIZED;
+ }
+
+ memset(&req, 0, sizeof(wifi_direct_client_request_s));
+ memset(&rsp, 0, sizeof(wifi_direct_client_response_s));
+
+ req.cmd = WIFI_DIRECT_CMD_CANCEL_CONNECTION;
+ req.client_id = client_info->client_id;
+ macaddr_atoe(mac_address, req.data.mac_addr);
+
+ res = __wfd_client_send_request(client_info->sync_sockfd, &req, &rsp);
+ if (res != WIFI_DIRECT_ERROR_NONE) {
+ __WDC_LOG_FUNC_END__;
+ return res;
+ }
+ WDC_LOGD("wifi_direct_cancel_connect() SUCCESS");
+
+ __WDC_LOG_FUNC_END__;
+ return WIFI_DIRECT_ERROR_NONE;
+}
+
+
int wifi_direct_reject_connection(const char *mac_address)
{
__WDC_LOG_FUNC_START__;