1 /*
2  * WPA Supplicant / dbus-based control interface
3  * Copyright (c) 2006, Dan Williams <dcbw@redhat.com> and Red Hat, Inc.
4  * Copyright (c) 2009-2010, Witold Sowa <witold.sowa@gmail.com>
5  *
6  * This software may be distributed under the terms of the BSD license.
7  * See README for more details.
8  */
9 
10 #ifndef CTRL_IFACE_DBUS_NEW_HANDLERS_H
11 #define CTRL_IFACE_DBUS_NEW_HANDLERS_H
12 
13 struct network_handler_args {
14 	struct wpa_supplicant *wpa_s;
15 	struct wpa_ssid *ssid;
16 };
17 
18 struct bss_handler_args {
19 	struct wpa_supplicant *wpa_s;
20 	unsigned int id;
21 };
22 
23 dbus_bool_t wpas_dbus_simple_property_getter(DBusMessageIter *iter,
24 					     const int type,
25 					     const void *val,
26 					     DBusError *error);
27 
28 dbus_bool_t wpas_dbus_simple_property_setter(DBusMessageIter *iter,
29 					     DBusError *error,
30 					     const int type, void *val);
31 
32 dbus_bool_t wpas_dbus_simple_array_property_getter(DBusMessageIter *iter,
33 						   const int type,
34 						   const void *array,
35 						   size_t array_len,
36 						   DBusError *error);
37 
38 dbus_bool_t wpas_dbus_simple_array_array_property_getter(DBusMessageIter *iter,
39 							 const int type,
40 							 struct wpabuf **array,
41 							 size_t array_len,
42 							 DBusError *error);
43 
44 DBusMessage * wpas_dbus_handler_create_interface(DBusMessage *message,
45 						 struct wpa_global *global);
46 
47 DBusMessage * wpas_dbus_handler_remove_interface(DBusMessage *message,
48 						 struct wpa_global *global);
49 
50 DBusMessage * wpas_dbus_handler_get_interface(DBusMessage *message,
51 					      struct wpa_global *global);
52 
53 dbus_bool_t wpas_dbus_getter_debug_level(DBusMessageIter *iter,
54 					 DBusError *error,
55 					 void *user_data);
56 
57 dbus_bool_t wpas_dbus_getter_debug_timestamp(DBusMessageIter *iter,
58                                              DBusError *error,
59                                              void *user_data);
60 
61 dbus_bool_t wpas_dbus_getter_debug_show_keys(DBusMessageIter *iter,
62 					     DBusError *error,
63 					     void *user_data);
64 
65 dbus_bool_t wpas_dbus_setter_debug_level(DBusMessageIter *iter,
66 					 DBusError *error, void *user_data);
67 
68 dbus_bool_t wpas_dbus_setter_debug_timestamp(DBusMessageIter *iter,
69 					     DBusError *error,
70 					     void *user_data);
71 
72 dbus_bool_t wpas_dbus_setter_debug_show_keys(DBusMessageIter *iter,
73 					     DBusError *error,
74 					     void *user_data);
75 
76 dbus_bool_t wpas_dbus_getter_interfaces(DBusMessageIter *iter,
77 					DBusError *error,
78 					void *user_data);
79 
80 dbus_bool_t wpas_dbus_getter_eap_methods(DBusMessageIter *iter,
81 					 DBusError *error, void *user_data);
82 
83 dbus_bool_t wpas_dbus_getter_global_capabilities(DBusMessageIter *iter,
84 						 DBusError *error,
85 						 void *user_data);
86 
87 DBusMessage * wpas_dbus_handler_scan(DBusMessage *message,
88 				     struct wpa_supplicant *wpa_s);
89 
90 DBusMessage * wpas_dbus_handler_disconnect(DBusMessage *message,
91 					   struct wpa_supplicant *wpa_s);
92 
93 dbus_bool_t set_network_properties(struct wpa_supplicant *wpa_s,
94 				   struct wpa_ssid *ssid,
95 				   DBusMessageIter *iter,
96 				   DBusError *error);
97 
98 DBusMessage * wpas_dbus_handler_add_network(DBusMessage *message,
99 					    struct wpa_supplicant *wpa_s);
100 
101 DBusMessage * wpas_dbus_handler_reassociate(DBusMessage *message,
102 					    struct wpa_supplicant *wpa_s);
103 
104 DBusMessage * wpas_dbus_handler_remove_network(DBusMessage *message,
105 					       struct wpa_supplicant *wpa_s);
106 
107 DBusMessage * wpas_dbus_handler_remove_all_networks(
108 	DBusMessage *message, struct wpa_supplicant *wpa_s);
109 
110 DBusMessage * wpas_dbus_handler_select_network(DBusMessage *message,
111 					       struct wpa_supplicant *wpa_s);
112 
113 DBusMessage * wpas_dbus_handler_network_reply(DBusMessage *message,
114 					      struct wpa_supplicant *wpa_s);
115 
116 DBusMessage * wpas_dbus_handler_add_blob(DBusMessage *message,
117 					 struct wpa_supplicant *wpa_s);
118 
119 DBusMessage * wpas_dbus_handler_get_blob(DBusMessage *message,
120 					 struct wpa_supplicant *wpa_s);
121 
122 DBusMessage * wpas_dbus_handler_remove_blob(DBusMessage *message,
123 					    struct wpa_supplicant *wpa_s);
124 
125 DBusMessage * wpas_dbus_handler_set_pkcs11_engine_and_module_path(
126 	DBusMessage *message, struct wpa_supplicant *wpa_s);
127 
128 DBusMessage * wpas_dbus_handler_flush_bss(DBusMessage *message,
129 					  struct wpa_supplicant *wpa_s);
130 
131 DBusMessage * wpas_dbus_handler_autoscan(DBusMessage *message,
132 					 struct wpa_supplicant *wpa_s);
133 
134 DBusMessage * wpas_dbus_handler_eap_logoff(DBusMessage *message,
135 					   struct wpa_supplicant *wpa_s);
136 
137 DBusMessage * wpas_dbus_handler_eap_logon(DBusMessage *message,
138 					  struct wpa_supplicant *wpa_s);
139 
140 dbus_bool_t wpas_dbus_getter_capabilities(DBusMessageIter *iter,
141 					  DBusError *error, void *user_data);
142 
143 dbus_bool_t wpas_dbus_getter_state(DBusMessageIter *iter, DBusError *error,
144 				   void *user_data);
145 
146 dbus_bool_t wpas_dbus_getter_scanning(DBusMessageIter *iter, DBusError *error,
147 				      void *user_data);
148 
149 dbus_bool_t wpas_dbus_getter_ap_scan(DBusMessageIter *iter, DBusError *error,
150 				     void *user_data);
151 
152 dbus_bool_t wpas_dbus_setter_ap_scan(DBusMessageIter *iter, DBusError *error,
153 				     void *user_data);
154 
155 dbus_bool_t wpas_dbus_getter_fast_reauth(DBusMessageIter *iter,
156 					 DBusError *error,
157 					 void *user_data);
158 
159 dbus_bool_t wpas_dbus_setter_fast_reauth(DBusMessageIter *iter,
160 					 DBusError *error,
161 					 void *user_data);
162 
163 dbus_bool_t wpas_dbus_getter_disconnect_reason(DBusMessageIter *iter,
164 					       DBusError *error,
165 					       void *user_data);
166 
167 dbus_bool_t wpas_dbus_getter_bss_expire_age(DBusMessageIter *iter,
168 					    DBusError *error, void *user_data);
169 
170 dbus_bool_t wpas_dbus_setter_bss_expire_age(DBusMessageIter *iter,
171 					    DBusError *error,
172 					    void *user_data);
173 
174 dbus_bool_t wpas_dbus_getter_bss_expire_count(DBusMessageIter *iter,
175 					      DBusError *error,
176 					      void *user_data);
177 
178 dbus_bool_t wpas_dbus_setter_bss_expire_count(DBusMessageIter *iter,
179 					      DBusError *error,
180 					      void *user_data);
181 
182 dbus_bool_t wpas_dbus_getter_country(DBusMessageIter *iter, DBusError *error,
183 				     void *user_data);
184 
185 dbus_bool_t wpas_dbus_setter_country(DBusMessageIter *iter, DBusError *error,
186 				     void *user_data);
187 
188 dbus_bool_t wpas_dbus_getter_scan_interval(DBusMessageIter *iter,
189 					   DBusError *error,
190 					   void *user_data);
191 
192 dbus_bool_t wpas_dbus_setter_scan_interval(DBusMessageIter *iter,
193 					   DBusError *error,
194 					   void *user_data);
195 
196 dbus_bool_t wpas_dbus_getter_ifname(DBusMessageIter *iter, DBusError *error,
197 				    void *user_data);
198 
199 dbus_bool_t wpas_dbus_getter_driver(DBusMessageIter *iter, DBusError *error,
200 				    void *user_data);
201 
202 dbus_bool_t wpas_dbus_getter_bridge_ifname(DBusMessageIter *iter,
203 					   DBusError *error,
204 					   void *user_data);
205 
206 dbus_bool_t wpas_dbus_getter_current_bss(DBusMessageIter *iter,
207 					 DBusError *error,
208 					 void *user_data);
209 
210 dbus_bool_t wpas_dbus_getter_current_network(DBusMessageIter *iter,
211 					     DBusError *error,
212 					     void *user_data);
213 
214 dbus_bool_t wpas_dbus_getter_current_auth_mode(DBusMessageIter *iter,
215 					       DBusError *error,
216 					       void *user_data);
217 
218 dbus_bool_t wpas_dbus_getter_bsss(DBusMessageIter *iter, DBusError *error,
219 				  void *user_data);
220 
221 dbus_bool_t wpas_dbus_getter_networks(DBusMessageIter *iter, DBusError *error,
222 				      void *user_data);
223 
224 dbus_bool_t wpas_dbus_getter_pkcs11_engine_path(DBusMessageIter *iter,
225 						DBusError *error,
226 						void *user_data);
227 
228 dbus_bool_t wpas_dbus_getter_pkcs11_module_path(DBusMessageIter *iter,
229 						DBusError *error,
230 						void *user_data);
231 
232 dbus_bool_t wpas_dbus_getter_blobs(DBusMessageIter *iter, DBusError *error,
233 				   void *user_data);
234 
235 dbus_bool_t wpas_dbus_getter_bss_bssid(DBusMessageIter *iter, DBusError *error,
236 				       void *user_data);
237 
238 dbus_bool_t wpas_dbus_getter_bss_ssid(DBusMessageIter *iter, DBusError *error,
239 				      void *user_data);
240 
241 dbus_bool_t wpas_dbus_getter_bss_privacy(DBusMessageIter *iter,
242 					 DBusError *error, void *user_data);
243 
244 dbus_bool_t wpas_dbus_getter_bss_mode(DBusMessageIter *iter, DBusError *error,
245 				      void *user_data);
246 
247 dbus_bool_t wpas_dbus_getter_bss_signal(DBusMessageIter *iter,
248 					DBusError *error, void *user_data);
249 
250 dbus_bool_t wpas_dbus_getter_bss_frequency(DBusMessageIter *iter,
251 					   DBusError *error, void *user_data);
252 
253 dbus_bool_t wpas_dbus_getter_bss_rates(DBusMessageIter *iter,
254 				       DBusError *error, void *user_data);
255 
256 dbus_bool_t wpas_dbus_getter_bss_wpa(DBusMessageIter *iter, DBusError *error,
257 				     void *user_data);
258 
259 dbus_bool_t wpas_dbus_getter_bss_rsn(DBusMessageIter *iter, DBusError *error,
260 				     void *user_data);
261 
262 dbus_bool_t wpas_dbus_getter_bss_wps(DBusMessageIter *iter, DBusError *error,
263 				     void *user_data);
264 
265 dbus_bool_t wpas_dbus_getter_bss_ies(DBusMessageIter *iter, DBusError *error,
266 				     void *user_data);
267 
268 dbus_bool_t wpas_dbus_getter_enabled(DBusMessageIter *iter, DBusError *error,
269 				     void *user_data);
270 
271 dbus_bool_t wpas_dbus_setter_enabled(DBusMessageIter *iter, DBusError *error,
272 				     void *user_data);
273 
274 dbus_bool_t wpas_dbus_getter_network_properties(DBusMessageIter *iter,
275 						DBusError *error,
276 						void *user_data);
277 
278 dbus_bool_t wpas_dbus_setter_network_properties(DBusMessageIter *iter,
279 						DBusError *error,
280 						void *user_data);
281 
282 DBusMessage * wpas_dbus_handler_wps_start(DBusMessage *message,
283 					  struct wpa_supplicant *wpa_s);
284 
285 dbus_bool_t wpas_dbus_getter_process_credentials(DBusMessageIter *iter,
286 	DBusError *error, void *user_data);
287 
288 dbus_bool_t wpas_dbus_setter_process_credentials(DBusMessageIter *iter,
289 						 DBusError *error,
290 						 void *user_data);
291 
292 DBusMessage * wpas_dbus_handler_tdls_discover(DBusMessage *message,
293 					      struct wpa_supplicant *wpa_s);
294 DBusMessage * wpas_dbus_handler_tdls_setup(DBusMessage *message,
295 					   struct wpa_supplicant *wpa_s);
296 DBusMessage * wpas_dbus_handler_tdls_status(DBusMessage *message,
297 					    struct wpa_supplicant *wpa_s);
298 DBusMessage * wpas_dbus_handler_tdls_teardown(DBusMessage *message,
299 					      struct wpa_supplicant *wpa_s);
300 
301 DBusMessage * wpas_dbus_error_invalid_args(DBusMessage *message,
302 					   const char *arg);
303 DBusMessage * wpas_dbus_error_unknown_error(DBusMessage *message,
304 					    const char *arg);
305 
306 DBusMessage * wpas_dbus_handler_subscribe_preq(
307 	DBusMessage *message, struct wpa_supplicant *wpa_s);
308 DBusMessage * wpas_dbus_handler_unsubscribe_preq(
309 	DBusMessage *message, struct wpa_supplicant *wpa_s);
310 
311 #endif /* CTRL_IFACE_DBUS_HANDLERS_NEW_H */
312