2 * Network Configuration Module
4 * Copyright (c) 2017 Samsung Electronics Co., Ltd. All rights reserved.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
19 #ifndef __WMESH_REQUEST_H__
20 #define __WMESH_REQUEST_H__
27 int wmesh_request_enable_network(wmesh_service *service);
28 int wmesh_request_disable_network(wmesh_service *service);
29 int wmesh_request_scan(wmesh_service *service);
30 int wmesh_request_specific_scan(wmesh_service *service, gchar *mesh_id,
32 int wmesh_request_cancel_scan(wmesh_service *service);
33 int wmesh_request_get_networks(wmesh_service *service);
34 int wmesh_request_get_joined_network(wmesh_service *service);
35 int wmesh_request_get_connected_peers(wmesh_service *service);
37 int wmesh_request_create_mesh_network(wmesh_service *service, gchar *mesh_id,
38 gint channel, wmeshd_security_type_e sec);
39 int wmesh_request_connect_mesh_network(wmesh_service *service, gchar *mesh_id,
40 gint channel, wmeshd_security_type_e sec, gchar *passphrase);
41 int wmesh_request_disconnect_mesh_network(wmesh_service *service,
42 gchar *mesh_id, gint channel, wmeshd_security_type_e sec);
43 int wmesh_request_remove_mesh_network(wmesh_service *service,
44 gchar *mesh_id, gint channel, wmeshd_security_type_e sec);
46 int wmesh_request_set_mesh_gate(const char* bridge_interface,
47 const char* mesh_interface, const char* external_interface);
48 int wmesh_request_unset_mesh_gate(const char* bridge_interface,
49 const char* mesh_interface, const char* external_interface);
53 int wmesh_request_add_bridge_interface(const char* bridge_interface,
54 const char* interface);
55 int wmesh_request_remove_bridge_interface(const char* bridge_interface,
56 const char* interface);
59 int wmesh_request_set_softap_config(const char* softap_interface,
60 const char *ssid, const char* mode, int channel, int visibility,
61 int max_sta, int security, const char* passphrase);
62 int wmesh_request_get_softap_config(char **softap_interface, char **ssid,
63 char **mode, int *channel, int *visibility,
64 int *max_sta, int *security, char **passphrase);
65 int wmesh_request_enable_softap(
66 const char* bridge_interface, const char* softap_interface);
67 int wmesh_request_disable_softap(
68 const char* bridge_interface, const char* softap_interface);
70 /* Mesh Station & path */
71 int wmesh_request_get_station_info(const char* mesh_interface, GList **station_list);
72 int wmesh_request_get_mpath_info(const char* mesh_interface, GList **mpath_list);
75 int wmesh_request_get_meshconf_info(wmesh_service *service);
77 int wmesh_request_register_event_handler();
78 int wmesh_request_unregister_event_handler();
81 void wmesh_notify_scan_done();
82 void wmesh_notify_connection_state(const char* mesh_id, const char* bssid,
83 int channel, wmeshd_security_type_e sec, wmeshd_connection_state_e state);
84 void wmesh_notify_station_joined(const char* bssid);
85 void wmesh_notify_station_left(const char* bssid);
91 #endif /* __WMESH_REQUEST_H__ */