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 .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,
65 .miracast_init = ws_miracast_init,
66 .set_display = ws_set_display,
67 .save_config = ws_save_config,
68 .set_operating_channel = ws_set_operating_channel,
69 .remove_all_network = ws_remove_all_network,
70 .get_wpa_status = ws_get_wpa_status,
72 #if defined(TIZEN_FEATURE_ASP)
73 .advertise_service = ws_advertise_service,
74 .cancel_advertise_service = ws_cancel_advertise_service,
75 .seek_service = ws_seek_service,
76 .cancel_seek_service = ws_cancel_seek_service,
77 .asp_prov_disc_req = ws_asp_prov_disc_req,
78 #endif /* TIZEN_FEATURE_ASP */
80 .add_vsie = ws_add_vsie,
81 .get_vsie = ws_get_vsie,
82 .remove_vsie = ws_remove_vsie,
86 int wfd_plugin_load(wfd_oem_ops_s **ops)
88 __WDP_LOG_FUNC_ENTER__;
90 WDP_LOGE("Invalid parameter");
91 __WDP_LOG_FUNC_EXIT__;
95 *ops = &supplicant_ops;
97 __WDP_LOG_FUNC_EXIT__;
101 int ws_init(wfd_oem_event_cbs_s *event_cbs)
103 __WDP_LOG_FUNC_ENTER__;
105 __WDP_LOG_FUNC_EXIT__;
111 __WDP_LOG_FUNC_ENTER__;
113 __WDP_LOG_FUNC_EXIT__;
117 int ws_activate(int concurrent)
119 __WDP_LOG_FUNC_ENTER__;
121 __WDP_LOG_FUNC_EXIT__;
125 int ws_deactivate(int concurrent)
127 __WDP_LOG_FUNC_ENTER__;
129 __WDP_LOG_FUNC_EXIT__;
133 int ws_start_scan(wfd_oem_scan_param_s *param)
135 __WDP_LOG_FUNC_ENTER__;
137 __WDP_LOG_FUNC_EXIT__;
143 __WDP_LOG_FUNC_ENTER__;
145 __WDP_LOG_FUNC_EXIT__;
149 int ws_get_visibility(int *visibility)
151 __WDP_LOG_FUNC_ENTER__;
153 __WDP_LOG_FUNC_EXIT__;
157 int ws_set_visibility(int visibility)
159 __WDP_LOG_FUNC_ENTER__;
161 __WDP_LOG_FUNC_EXIT__;
165 int ws_get_scan_result(GList **peers, int *peer_count)
167 __WDP_LOG_FUNC_ENTER__;
169 __WDP_LOG_FUNC_EXIT__;
173 int ws_get_peer_info(unsigned char *peer_addr, wfd_oem_device_s **peer)
175 __WDP_LOG_FUNC_ENTER__;
177 __WDP_LOG_FUNC_EXIT__;
181 int ws_prov_disc_req(unsigned char *peer_addr, wfd_oem_wps_mode_e wps_mode, int join)
183 __WDP_LOG_FUNC_ENTER__;
185 __WDP_LOG_FUNC_EXIT__;
189 int ws_connect(unsigned char *peer_addr, wfd_oem_conn_param_s *param)
191 __WDP_LOG_FUNC_ENTER__;
193 __WDP_LOG_FUNC_EXIT__;
197 int ws_disconnect(unsigned char *peer_addr, int is_iface_addr)
199 __WDP_LOG_FUNC_ENTER__;
201 __WDP_LOG_FUNC_EXIT__;
205 int ws_reject_connection(unsigned char *peer_addr)
207 __WDP_LOG_FUNC_ENTER__;
209 __WDP_LOG_FUNC_EXIT__;
213 int ws_cancel_connection(unsigned char *peer_addr)
215 __WDP_LOG_FUNC_ENTER__;
217 __WDP_LOG_FUNC_EXIT__;
221 int ws_get_connected_peers(GList **peers, int *peer_count)
223 __WDP_LOG_FUNC_ENTER__;
225 __WDP_LOG_FUNC_EXIT__;
229 int ws_get_pin(char *pin)
231 __WDP_LOG_FUNC_ENTER__;
233 __WDP_LOG_FUNC_EXIT__;
237 int ws_set_pin(char *pin)
239 __WDP_LOG_FUNC_ENTER__;
241 __WDP_LOG_FUNC_EXIT__;
245 int ws_generate_pin(char **pin)
247 __WDP_LOG_FUNC_ENTER__;
249 __WDP_LOG_FUNC_EXIT__;
253 int ws_get_supported_wps_mode()
255 __WDP_LOG_FUNC_ENTER__;
257 __WDP_LOG_FUNC_EXIT__;
261 int ws_create_group(wfd_oem_group_param_s *param)
263 __WDP_LOG_FUNC_ENTER__;
265 __WDP_LOG_FUNC_EXIT__;
269 int ws_destroy_group(const char *ifname)
271 __WDP_LOG_FUNC_ENTER__;
273 __WDP_LOG_FUNC_EXIT__;
277 int ws_invite(unsigned char *peer_addr, wfd_oem_invite_param_s *param)
279 __WDP_LOG_FUNC_ENTER__;
281 __WDP_LOG_FUNC_EXIT__;
285 int ws_wps_start(unsigned char *peer_addr, int wps_mode, const char *pin)
287 __WDP_LOG_FUNC_ENTER__;
289 __WDP_LOG_FUNC_EXIT__;
293 int ws_enrollee_start(unsigned char *peer_addr, int wps_mode, const char *pin)
295 __WDP_LOG_FUNC_ENTER__;
297 __WDP_LOG_FUNC_EXIT__;
303 __WDP_LOG_FUNC_ENTER__;
305 __WDP_LOG_FUNC_EXIT__;
309 int ws_set_static_ip(unsigned char *ip_addr)
311 __WDP_LOG_FUNC_ENTER__;
313 __WDP_LOG_FUNC_EXIT__;
317 int ws_get_dev_name(char *dev_name)
319 __WDP_LOG_FUNC_ENTER__;
321 __WDP_LOG_FUNC_EXIT__;
325 int ws_set_dev_name(char *dev_name)
327 __WDP_LOG_FUNC_ENTER__;
329 __WDP_LOG_FUNC_EXIT__;
333 int ws_get_dev_mac(char *dev_mac)
335 __WDP_LOG_FUNC_ENTER__;
337 __WDP_LOG_FUNC_EXIT__;
341 int ws_get_dev_type(int *pri_dev_type, int *sec_dev_type)
343 __WDP_LOG_FUNC_ENTER__;
345 __WDP_LOG_FUNC_EXIT__;
349 int ws_set_dev_type(int pri_dev_type, int sec_dev_type)
351 __WDP_LOG_FUNC_ENTER__;
353 __WDP_LOG_FUNC_EXIT__;
357 int ws_get_go_intent(int *go_intent)
359 __WDP_LOG_FUNC_ENTER__;
361 __WDP_LOG_FUNC_EXIT__;
365 int ws_set_go_intent(int go_intent)
367 __WDP_LOG_FUNC_ENTER__;
369 __WDP_LOG_FUNC_EXIT__;
373 int ws_get_persistent_groups(wfd_oem_persistent_group_s **groups, int *group_count)
375 __WDP_LOG_FUNC_ENTER__;
377 __WDP_LOG_FUNC_EXIT__;
381 int ws_remove_persistent_group(char *ssid, unsigned char *bssid)
383 __WDP_LOG_FUNC_ENTER__;
385 __WDP_LOG_FUNC_EXIT__;
389 int ws_set_persistent_reconnect(unsigned char *bssid, int reconnect)
391 __WDP_LOG_FUNC_ENTER__;
393 __WDP_LOG_FUNC_EXIT__;
397 int ws_start_service_discovery(unsigned char *mac_addr, int service_type)
399 __WDP_LOG_FUNC_ENTER__;
401 __WDP_LOG_FUNC_EXIT__;
405 int ws_cancel_service_discovery(unsigned char *mac_addr, int service_type)
407 __WDP_LOG_FUNC_ENTER__;
409 __WDP_LOG_FUNC_EXIT__;
413 int ws_serv_add(wfd_oem_new_service_s *service)
415 __WDP_LOG_FUNC_ENTER__;
417 __WDP_LOG_FUNC_EXIT__;
421 int ws_serv_del(wfd_oem_new_service_s *service)
423 __WDP_LOG_FUNC_ENTER__;
425 __WDP_LOG_FUNC_EXIT__;
429 int ws_miracast_init(int enable)
431 __WDP_LOG_FUNC_ENTER__;
433 __WDP_LOG_FUNC_EXIT__;
437 int ws_set_display(wfd_oem_display_s *wifi_display)
439 __WDP_LOG_FUNC_ENTER__;
441 __WDP_LOG_FUNC_EXIT__;
445 int ws_save_config(void)
447 __WDP_LOG_FUNC_ENTER__;
449 __WDP_LOG_FUNC_EXIT__;
453 int ws_set_operating_channel(int channel)
455 __WDP_LOG_FUNC_ENTER__;
457 __WDP_LOG_FUNC_EXIT__;
461 int ws_remove_all_network()
463 __WDP_LOG_FUNC_ENTER__;
465 __WDP_LOG_FUNC_EXIT__;
469 int ws_get_wpa_status(int *wpa_status)
471 __WDP_LOG_FUNC_ENTER__;
473 __WDP_LOG_FUNC_EXIT__;
477 #if defined(TIZEN_FEATURE_ASP)
478 int ws_advertise_service(wfd_oem_asp_service_s *service, int replace)
480 __WDP_LOG_FUNC_ENTER__;
482 __WDP_LOG_FUNC_EXIT__;
486 int ws_cancel_advertise_service(wfd_oem_asp_service_s *service)
488 __WDP_LOG_FUNC_ENTER__;
490 __WDP_LOG_FUNC_EXIT__;
494 int ws_seek_service(wfd_oem_asp_service_s *service)
496 __WDP_LOG_FUNC_ENTER__;
498 __WDP_LOG_FUNC_EXIT__;
502 int ws_cancel_seek_service(wfd_oem_asp_service_s *service)
504 __WDP_LOG_FUNC_ENTER__;
506 __WDP_LOG_FUNC_EXIT__;
510 int ws_asp_prov_disc_req(wfd_oem_asp_prov_s *asp_params)
512 __WDP_LOG_FUNC_ENTER__;
514 __WDP_LOG_FUNC_EXIT__;
517 #endif /* TIZEN_FEATURE_ASP */
519 int ws_add_vsie(wfd_oem_vsie_frames_e frame_id, const char* vsie)
521 __WDP_LOG_FUNC_ENTER__;
523 __WDP_LOG_FUNC_EXIT__;
527 int ws_get_vsie(wfd_oem_vsie_frames_e frame_id, char **vsie)
529 __WDP_LOG_FUNC_ENTER__;
531 __WDP_LOG_FUNC_EXIT__;
535 int ws_remove_vsie(wfd_oem_vsie_frames_e frame_id, const char *vsie)
537 __WDP_LOG_FUNC_ENTER__;
539 __WDP_LOG_FUNC_EXIT__;