4 #include <sys/socket.h>
11 #include "wifi-direct-oem.h"
12 #include "wfd-plugin-wpasupplicant.h"
15 static wfd_oem_ops_s supplicant_ops = {
18 .activate = ws_activate,
19 .deactivate = ws_deactivate,
21 .start_scan = ws_start_scan,
22 .stop_scan = ws_stop_scan,
23 .get_visibility = ws_get_visibility,
24 .set_visibility = ws_set_visibility,
25 .get_scan_result = ws_get_scan_result,
26 .get_peer_info = ws_get_peer_info,
28 .prov_disc_req = ws_prov_disc_req,
30 .connect = ws_connect,
31 .disconnect = ws_disconnect,
32 .reject_connection = ws_reject_connection,
33 .cancel_connection = ws_cancel_connection,
35 .get_connected_peers = ws_get_connected_peers,
36 .get_pin = ws_get_pin,
37 .set_pin = ws_set_pin,
38 .get_supported_wps_mode = ws_get_supported_wps_mode,
40 .create_group = ws_create_group,
41 .destroy_group = ws_destroy_group,
43 .wps_start = ws_wps_start,
44 .enrollee_start = ws_enrollee_start,
45 .wps_cancel = ws_wps_cancel,
47 .get_dev_name = ws_get_dev_name,
48 .set_dev_name = ws_set_dev_name,
49 .get_dev_mac = ws_get_dev_mac,
50 .get_dev_type = ws_get_dev_type,
51 .set_dev_type = ws_set_dev_type,
52 .get_go_intent = ws_get_go_intent,
53 .set_go_intent = ws_set_go_intent,
54 .get_persistent_groups = ws_get_persistent_groups,
55 .remove_persistent_group = ws_remove_persistent_group,
56 .set_persistent_reconnect = ws_set_persistent_reconnect,
58 #ifdef TIZEN_FEATURE_SERVICE_DISCOVERY
59 .start_service_discovery = ws_start_service_discovery,
60 .cancel_service_discovery = ws_cancel_service_discovery,
62 .serv_add = ws_serv_add,
63 .serv_del = ws_serv_del,
64 #endif /* TIZEN_FEATURE_SERVICE_DISCOVERY */
66 #ifdef TIZEN_FEATURE_WIFI_DISPLAY
67 .miracast_init = ws_miracast_init,
68 .set_display = ws_set_disply,
69 #endif /* TIZEN_FEATURE_WIFI_DISPLAY */
72 static ws_plugin_data_s *g_pd;
74 int wfd_plugin_load(wfd_oem_ops_s **ops)
79 int ws_init(wfd_oem_event_cb callback, void *user_data)
81 __WDP_LOG_FUNC_ENTER__;
83 __WDP_LOG_FUNC_EXIT__;
89 __WDP_LOG_FUNC_ENTER__;
91 __WDP_LOG_FUNC_EXIT__;
95 int ws_activate(int concurrent)
97 __WDP_LOG_FUNC_ENTER__;
99 __WDP_LOG_FUNC_EXIT__;
103 int ws_deactivate(int concurrent)
105 __WDP_LOG_FUNC_ENTER__;
107 __WDP_LOG_FUNC_EXIT__;
111 int ws_start_scan(wfd_oem_scan_param_s *param)
113 __WDP_LOG_FUNC_ENTER__;
115 __WDP_LOG_FUNC_EXIT__;
121 __WDP_LOG_FUNC_ENTER__;
123 __WDP_LOG_FUNC_EXIT__;
127 int ws_get_visibility(int *visibility)
129 __WDP_LOG_FUNC_ENTER__;
131 __WDP_LOG_FUNC_EXIT__;
135 int ws_set_visibility(int visibility)
137 __WDP_LOG_FUNC_ENTER__;
139 __WDP_LOG_FUNC_EXIT__;
143 int ws_get_scan_result(GList **peers, int *peer_count)
145 __WDP_LOG_FUNC_ENTER__;
147 __WDP_LOG_FUNC_EXIT__;
151 int ws_get_peer_info(unsigned char *peer_addr, wfd_oem_device_s **peer)
153 __WDP_LOG_FUNC_ENTER__;
155 __WDP_LOG_FUNC_EXIT__;
159 int ws_prov_disc_req(unsigned char *peer_addr, wfd_oem_wps_mode_e wps_mode, int join)
161 __WDP_LOG_FUNC_ENTER__;
163 __WDP_LOG_FUNC_EXIT__;
167 int ws_connect(unsigned char *peer_addr, wfd_oem_conn_param_s *param)
169 __WDP_LOG_FUNC_ENTER__;
171 __WDP_LOG_FUNC_EXIT__;
175 int ws_disconnect(unsigned char *peer_addr)
177 __WDP_LOG_FUNC_ENTER__;
179 __WDP_LOG_FUNC_EXIT__;
183 int ws_reject_connection(unsigned char *peer_addr)
185 __WDP_LOG_FUNC_ENTER__;
187 __WDP_LOG_FUNC_EXIT__;
191 int ws_cancel_connection(unsigned char *peer_addr)
193 __WDP_LOG_FUNC_ENTER__;
195 __WDP_LOG_FUNC_EXIT__;
199 int ws_get_connected_peers(GList **peers, int *peer_count)
201 __WDP_LOG_FUNC_ENTER__;
203 __WDP_LOG_FUNC_EXIT__;
207 int ws_get_pin(char *pin)
209 __WDP_LOG_FUNC_ENTER__;
211 __WDP_LOG_FUNC_EXIT__;
215 int ws_set_pin(char *pin)
217 __WDP_LOG_FUNC_ENTER__;
219 __WDP_LOG_FUNC_EXIT__;
223 int ws_get_supported_wps_mode()
225 __WDP_LOG_FUNC_ENTER__;
227 __WDP_LOG_FUNC_EXIT__;
231 int ws_create_group(int persistent, int freq)
233 __WDP_LOG_FUNC_ENTER__;
235 __WDP_LOG_FUNC_EXIT__;
239 int ws_destroy_group(const char *ifname)
241 __WDP_LOG_FUNC_ENTER__;
243 __WDP_LOG_FUNC_EXIT__;
247 int ws_invite(unsigned char *peer_addr, wfd_oem_invite_param_s *param)
249 __WDP_LOG_FUNC_ENTER__;
251 __WDP_LOG_FUNC_EXIT__;
255 // Only group owner can use this command
256 int ws_wps_start(unsigned char *peer_addr, int wps_mode, const char *pin)
258 __WDP_LOG_FUNC_ENTER__;
260 __WDP_LOG_FUNC_EXIT__;
264 int ws_enrollee_start(unsigned char *peer_addr, int wps_mode, const char *pin)
266 __WDP_LOG_FUNC_ENTER__;
268 __WDP_LOG_FUNC_EXIT__;
274 __WDP_LOG_FUNC_ENTER__;
276 __WDP_LOG_FUNC_EXIT__;
280 int ws_set_static_ip(unsigned char *ip_addr)
282 __WDP_LOG_FUNC_ENTER__;
284 __WDP_LOG_FUNC_EXIT__;
288 int ws_get_dev_name(char *dev_name)
290 __WDP_LOG_FUNC_ENTER__;
292 __WDP_LOG_FUNC_EXIT__;
296 int ws_set_dev_name(char *dev_name)
298 __WDP_LOG_FUNC_ENTER__;
300 __WDP_LOG_FUNC_EXIT__;
304 int ws_get_dev_mac(char *dev_mac)
306 __WDP_LOG_FUNC_ENTER__;
308 __WDP_LOG_FUNC_EXIT__;
312 int ws_get_dev_type(int *pri_dev_type, int *sec_dev_type)
314 __WDP_LOG_FUNC_ENTER__;
316 __WDP_LOG_FUNC_EXIT__;
320 int ws_set_dev_type(int pri_dev_type, int sec_dev_type)
322 __WDP_LOG_FUNC_ENTER__;
324 __WDP_LOG_FUNC_EXIT__;
328 int ws_get_go_intent(int *go_intent)
330 __WDP_LOG_FUNC_ENTER__;
332 __WDP_LOG_FUNC_EXIT__;
336 int ws_set_go_intent(int go_intent)
338 __WDP_LOG_FUNC_ENTER__;
340 __WDP_LOG_FUNC_EXIT__;
344 int ws_get_persistent_groups(wfd_oem_persistent_group_s **groups, int *group_count)
346 __WDP_LOG_FUNC_ENTER__;
348 __WDP_LOG_FUNC_EXIT__;
352 int ws_remove_persistent_group(char *ssid, unsigned char *bssid)
354 __WDP_LOG_FUNC_ENTER__;
356 __WDP_LOG_FUNC_EXIT__;
360 int ws_set_persistent_reconnect(unsigned char *bssid, int reconnect)
362 __WDP_LOG_FUNC_ENTER__;
364 __WDP_LOG_FUNC_EXIT__;
368 #ifdef TIZEN_FEATURE_SERVICE_DISCOVERY
370 int ws_start_service_discovery(unsigned char *mac_addr, int service_type)
372 __WDP_LOG_FUNC_ENTER__;
374 __WDP_LOG_FUNC_EXUT__;
378 int ws_cancel_service_discovery(unsigned char *mac_addr, int service_type);
380 __WDP_LOG_FUNC_ENTER__;
382 __WDP_LOG_FUNC_EXUT__;
386 int ws_serv_add(wfd_oem_new_service_s *service)
388 __WDP_LOG_FUNC_ENTER__;
390 __WDP_LOG_FUNC_EXUT__;
394 int ws_serv_del(wfd_oem_new_service_s *service)
396 __WDP_LOG_FUNC_ENTER__;
398 __WDP_LOG_FUNC_EXUT__;
401 #endif /* TIZEN_FEATURE_SERVICE_DISCOVERY */
403 #ifdef TIZEN_FEATURE_WIFI_DISPLAY
404 int ws_miracast_init(int enable)
406 __WDP_LOG_FUNC_ENTER__;
408 __WDP_LOG_FUNC_EXUT__;
412 int ws_set_wifi_display(wfd_oem_display_s *wifi_display)
414 __WDP_LOG_FUNC_ENTER__;
416 __WDP_LOG_FUNC_EXUT__;
419 #endif /* TIZEN_FEATURE_WIFI_DISPLAY */