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 .generate_pin = ws_generate_pin,
39 .get_supported_wps_mode = ws_get_supported_wps_mode,
41 .create_group = ws_create_group,
42 .destroy_group = ws_destroy_group,
44 .wps_start = ws_wps_start,
45 .enrollee_start = ws_enrollee_start,
46 .wps_cancel = ws_wps_cancel,
48 .get_dev_name = ws_get_dev_name,
49 .set_dev_name = ws_set_dev_name,
50 .get_dev_mac = ws_get_dev_mac,
51 .get_dev_type = ws_get_dev_type,
52 .set_dev_type = ws_set_dev_type,
53 .get_go_intent = ws_get_go_intent,
54 .set_go_intent = ws_set_go_intent,
55 .get_persistent_groups = ws_get_persistent_groups,
56 .remove_persistent_group = ws_remove_persistent_group,
57 .set_persistent_reconnect = ws_set_persistent_reconnect,
59 #ifdef TIZEN_FEATURE_SERVICE_DISCOVERY
60 .start_service_discovery = ws_start_service_discovery,
61 .cancel_service_discovery = ws_cancel_service_discovery,
63 .serv_add = ws_serv_add,
64 .serv_del = ws_serv_del,
65 #endif /* TIZEN_FEATURE_SERVICE_DISCOVERY */
67 #ifdef TIZEN_FEATURE_WIFI_DISPLAY
68 .miracast_init = ws_miracast_init,
69 .set_display = ws_set_display,
70 #endif /* TIZEN_FEATURE_WIFI_DISPLAY */
71 .save_config = ws_save_config,
72 .set_operating_channel = ws_set_operating_channel,
73 .remove_all_network = ws_remove_all_network,
74 .get_wpa_status = ws_get_wpa_status,
76 #if defined(TIZEN_FEATURE_ASP)
77 .advertise_service = ws_advertise_service,
78 .cancel_advertise_service = ws_cancel_advertise_service,
79 .seek_service = ws_seek_service,
80 .cancel_seek_service = ws_cancel_seek_service,
81 .asp_prov_disc_req = ws_asp_prov_disc_req,
82 #endif /* TIZEN_FEATURE_ASP */
85 int wfd_plugin_load(wfd_oem_ops_s **ops)
87 __WDP_LOG_FUNC_ENTER__;
89 WDP_LOGE("Invalid parameter");
90 __WDP_LOG_FUNC_EXIT__;
94 *ops = &supplicant_ops;
96 __WDP_LOG_FUNC_EXIT__;
100 int ws_init(wfd_oem_event_cb callback, void *user_data)
102 __WDP_LOG_FUNC_ENTER__;
104 __WDP_LOG_FUNC_EXIT__;
110 __WDP_LOG_FUNC_ENTER__;
112 __WDP_LOG_FUNC_EXIT__;
116 int ws_activate(int concurrent)
118 __WDP_LOG_FUNC_ENTER__;
120 __WDP_LOG_FUNC_EXIT__;
124 int ws_deactivate(int concurrent)
126 __WDP_LOG_FUNC_ENTER__;
128 __WDP_LOG_FUNC_EXIT__;
132 int ws_start_scan(wfd_oem_scan_param_s *param)
134 __WDP_LOG_FUNC_ENTER__;
136 __WDP_LOG_FUNC_EXIT__;
142 __WDP_LOG_FUNC_ENTER__;
144 __WDP_LOG_FUNC_EXIT__;
148 int ws_get_visibility(int *visibility)
150 __WDP_LOG_FUNC_ENTER__;
152 __WDP_LOG_FUNC_EXIT__;
156 int ws_set_visibility(int visibility)
158 __WDP_LOG_FUNC_ENTER__;
160 __WDP_LOG_FUNC_EXIT__;
164 int ws_get_scan_result(GList **peers, int *peer_count)
166 __WDP_LOG_FUNC_ENTER__;
168 __WDP_LOG_FUNC_EXIT__;
172 int ws_get_peer_info(unsigned char *peer_addr, wfd_oem_device_s **peer)
174 __WDP_LOG_FUNC_ENTER__;
176 __WDP_LOG_FUNC_EXIT__;
180 int ws_prov_disc_req(unsigned char *peer_addr, wfd_oem_wps_mode_e wps_mode, int join)
182 __WDP_LOG_FUNC_ENTER__;
184 __WDP_LOG_FUNC_EXIT__;
188 int ws_connect(unsigned char *peer_addr, wfd_oem_conn_param_s *param)
190 __WDP_LOG_FUNC_ENTER__;
192 __WDP_LOG_FUNC_EXIT__;
196 int ws_disconnect(unsigned char *peer_addr, int is_iface_addr)
198 __WDP_LOG_FUNC_ENTER__;
200 __WDP_LOG_FUNC_EXIT__;
204 int ws_reject_connection(unsigned char *peer_addr)
206 __WDP_LOG_FUNC_ENTER__;
208 __WDP_LOG_FUNC_EXIT__;
212 int ws_cancel_connection(unsigned char *peer_addr)
214 __WDP_LOG_FUNC_ENTER__;
216 __WDP_LOG_FUNC_EXIT__;
220 int ws_get_connected_peers(GList **peers, int *peer_count)
222 __WDP_LOG_FUNC_ENTER__;
224 __WDP_LOG_FUNC_EXIT__;
228 int ws_get_pin(char *pin)
230 __WDP_LOG_FUNC_ENTER__;
232 __WDP_LOG_FUNC_EXIT__;
236 int ws_set_pin(char *pin)
238 __WDP_LOG_FUNC_ENTER__;
240 __WDP_LOG_FUNC_EXIT__;
244 int ws_generate_pin(char **pin)
246 __WDP_LOG_FUNC_ENTER__;
248 __WDP_LOG_FUNC_EXIT__;
252 int ws_get_supported_wps_mode()
254 __WDP_LOG_FUNC_ENTER__;
256 __WDP_LOG_FUNC_EXIT__;
260 int ws_create_group(wfd_oem_group_param_s *param)
262 __WDP_LOG_FUNC_ENTER__;
264 __WDP_LOG_FUNC_EXIT__;
268 int ws_destroy_group(const char *ifname)
270 __WDP_LOG_FUNC_ENTER__;
272 __WDP_LOG_FUNC_EXIT__;
276 int ws_invite(unsigned char *peer_addr, wfd_oem_invite_param_s *param)
278 __WDP_LOG_FUNC_ENTER__;
280 __WDP_LOG_FUNC_EXIT__;
284 int ws_wps_start(unsigned char *peer_addr, int wps_mode, const char *pin)
286 __WDP_LOG_FUNC_ENTER__;
288 __WDP_LOG_FUNC_EXIT__;
292 int ws_enrollee_start(unsigned char *peer_addr, int wps_mode, const char *pin)
294 __WDP_LOG_FUNC_ENTER__;
296 __WDP_LOG_FUNC_EXIT__;
302 __WDP_LOG_FUNC_ENTER__;
304 __WDP_LOG_FUNC_EXIT__;
308 int ws_set_static_ip(unsigned char *ip_addr)
310 __WDP_LOG_FUNC_ENTER__;
312 __WDP_LOG_FUNC_EXIT__;
316 int ws_get_dev_name(char *dev_name)
318 __WDP_LOG_FUNC_ENTER__;
320 __WDP_LOG_FUNC_EXIT__;
324 int ws_set_dev_name(char *dev_name)
326 __WDP_LOG_FUNC_ENTER__;
328 __WDP_LOG_FUNC_EXIT__;
332 int ws_get_dev_mac(char *dev_mac)
334 __WDP_LOG_FUNC_ENTER__;
336 __WDP_LOG_FUNC_EXIT__;
340 int ws_get_dev_type(int *pri_dev_type, int *sec_dev_type)
342 __WDP_LOG_FUNC_ENTER__;
344 __WDP_LOG_FUNC_EXIT__;
348 int ws_set_dev_type(int pri_dev_type, int sec_dev_type)
350 __WDP_LOG_FUNC_ENTER__;
352 __WDP_LOG_FUNC_EXIT__;
356 int ws_get_go_intent(int *go_intent)
358 __WDP_LOG_FUNC_ENTER__;
360 __WDP_LOG_FUNC_EXIT__;
364 int ws_set_go_intent(int go_intent)
366 __WDP_LOG_FUNC_ENTER__;
368 __WDP_LOG_FUNC_EXIT__;
372 int ws_get_persistent_groups(wfd_oem_persistent_group_s **groups, int *group_count)
374 __WDP_LOG_FUNC_ENTER__;
376 __WDP_LOG_FUNC_EXIT__;
380 int ws_remove_persistent_group(char *ssid, unsigned char *bssid)
382 __WDP_LOG_FUNC_ENTER__;
384 __WDP_LOG_FUNC_EXIT__;
388 int ws_set_persistent_reconnect(unsigned char *bssid, int reconnect)
390 __WDP_LOG_FUNC_ENTER__;
392 __WDP_LOG_FUNC_EXIT__;
396 #ifdef TIZEN_FEATURE_SERVICE_DISCOVERY
398 int ws_start_service_discovery(unsigned char *mac_addr, int service_type)
400 __WDP_LOG_FUNC_ENTER__;
402 __WDP_LOG_FUNC_EXIT__;
406 int ws_cancel_service_discovery(unsigned char *mac_addr, int service_type)
408 __WDP_LOG_FUNC_ENTER__;
410 __WDP_LOG_FUNC_EXIT__;
414 int ws_serv_add(wfd_oem_new_service_s *service)
416 __WDP_LOG_FUNC_ENTER__;
418 __WDP_LOG_FUNC_EXIT__;
422 int ws_serv_del(wfd_oem_new_service_s *service)
424 __WDP_LOG_FUNC_ENTER__;
426 __WDP_LOG_FUNC_EXIT__;
429 #endif /* TIZEN_FEATURE_SERVICE_DISCOVERY */
431 #ifdef TIZEN_FEATURE_WIFI_DISPLAY
432 int ws_miracast_init(int enable)
434 __WDP_LOG_FUNC_ENTER__;
436 __WDP_LOG_FUNC_EXIT__;
440 int ws_set_display(wfd_oem_display_s *wifi_display)
442 __WDP_LOG_FUNC_ENTER__;
444 __WDP_LOG_FUNC_EXIT__;
448 #endif /* TIZEN_FEATURE_WIFI_DISPLAY */
450 int ws_save_config(void)
452 __WDP_LOG_FUNC_ENTER__;
454 __WDP_LOG_FUNC_EXIT__;
458 int ws_set_operating_channel(int channel)
460 __WDP_LOG_FUNC_ENTER__;
462 __WDP_LOG_FUNC_EXIT__;
466 int ws_remove_all_network()
468 __WDP_LOG_FUNC_ENTER__;
470 __WDP_LOG_FUNC_EXIT__;
474 int ws_get_wpa_status(int *wpa_status)
476 __WDP_LOG_FUNC_ENTER__;
478 __WDP_LOG_FUNC_EXIT__;
482 #if defined(TIZEN_FEATURE_ASP)
483 int ws_advertise_service(wfd_oem_asp_service_s *service, int replace)
485 __WDP_LOG_FUNC_ENTER__;
487 __WDP_LOG_FUNC_EXIT__;
491 int ws_cancel_advertise_service(wfd_oem_asp_service_s *service)
493 __WDP_LOG_FUNC_ENTER__;
495 __WDP_LOG_FUNC_EXIT__;
499 int ws_seek_service(wfd_oem_asp_service_s *service)
501 __WDP_LOG_FUNC_ENTER__;
503 __WDP_LOG_FUNC_EXIT__;
507 int ws_cancel_seek_service(wfd_oem_asp_service_s *service)
509 __WDP_LOG_FUNC_ENTER__;
511 __WDP_LOG_FUNC_EXIT__;
515 int ws_asp_prov_disc_req(wfd_oem_asp_prov_s *asp_params)
517 __WDP_LOG_FUNC_ENTER__;
519 __WDP_LOG_FUNC_EXIT__;
522 #endif /* TIZEN_FEATURE_ASP */