1214501Srpaulo/*
2214501Srpaulo * WPA Supplicant / dbus-based control interface
3214501Srpaulo * Copyright (c) 2006, Dan Williams <dcbw@redhat.com> and Red Hat, Inc.
4214501Srpaulo * Copyright (c) 2009-2010, Witold Sowa <witold.sowa@gmail.com>
5214501Srpaulo *
6252190Srpaulo * This software may be distributed under the terms of the BSD license.
7252190Srpaulo * See README for more details.
8214501Srpaulo */
9214501Srpaulo
10214501Srpaulo#ifndef CTRL_IFACE_DBUS_NEW_HANDLERS_H
11214501Srpaulo#define CTRL_IFACE_DBUS_NEW_HANDLERS_H
12214501Srpaulo
13214501Srpaulostruct network_handler_args {
14214501Srpaulo	struct wpa_supplicant *wpa_s;
15214501Srpaulo	struct wpa_ssid *ssid;
16214501Srpaulo};
17214501Srpaulo
18214501Srpaulostruct bss_handler_args {
19214501Srpaulo	struct wpa_supplicant *wpa_s;
20214501Srpaulo	unsigned int id;
21214501Srpaulo};
22214501Srpaulo
23252190Srpaulodbus_bool_t wpas_dbus_simple_property_getter(DBusMessageIter *iter,
24252190Srpaulo					     const int type,
25252190Srpaulo					     const void *val,
26252190Srpaulo					     DBusError *error);
27214501Srpaulo
28252190Srpaulodbus_bool_t wpas_dbus_simple_property_setter(DBusMessageIter *iter,
29252190Srpaulo					     DBusError *error,
30252190Srpaulo					     const int type, void *val);
31214501Srpaulo
32252190Srpaulodbus_bool_t wpas_dbus_simple_array_property_getter(DBusMessageIter *iter,
33252190Srpaulo						   const int type,
34252190Srpaulo						   const void *array,
35252190Srpaulo						   size_t array_len,
36252190Srpaulo						   DBusError *error);
37214501Srpaulo
38252190Srpaulodbus_bool_t wpas_dbus_simple_array_array_property_getter(DBusMessageIter *iter,
39252190Srpaulo							 const int type,
40252190Srpaulo							 struct wpabuf **array,
41252190Srpaulo							 size_t array_len,
42252190Srpaulo							 DBusError *error);
43252190Srpaulo
44214501SrpauloDBusMessage * wpas_dbus_handler_create_interface(DBusMessage *message,
45214501Srpaulo						 struct wpa_global *global);
46214501Srpaulo
47214501SrpauloDBusMessage * wpas_dbus_handler_remove_interface(DBusMessage *message,
48214501Srpaulo						 struct wpa_global *global);
49214501Srpaulo
50214501SrpauloDBusMessage * wpas_dbus_handler_get_interface(DBusMessage *message,
51214501Srpaulo					      struct wpa_global *global);
52214501Srpaulo
53252190Srpaulodbus_bool_t wpas_dbus_getter_debug_level(DBusMessageIter *iter,
54252190Srpaulo					 DBusError *error,
55252190Srpaulo					 void *user_data);
56214501Srpaulo
57252190Srpaulodbus_bool_t wpas_dbus_getter_debug_timestamp(DBusMessageIter *iter,
58252190Srpaulo                                             DBusError *error,
59252190Srpaulo                                             void *user_data);
60214501Srpaulo
61252190Srpaulodbus_bool_t wpas_dbus_getter_debug_show_keys(DBusMessageIter *iter,
62252190Srpaulo					     DBusError *error,
63252190Srpaulo					     void *user_data);
64214501Srpaulo
65252190Srpaulodbus_bool_t wpas_dbus_setter_debug_level(DBusMessageIter *iter,
66252190Srpaulo					 DBusError *error, void *user_data);
67214501Srpaulo
68252190Srpaulodbus_bool_t wpas_dbus_setter_debug_timestamp(DBusMessageIter *iter,
69252190Srpaulo					     DBusError *error,
70252190Srpaulo					     void *user_data);
71214501Srpaulo
72252190Srpaulodbus_bool_t wpas_dbus_setter_debug_show_keys(DBusMessageIter *iter,
73252190Srpaulo					     DBusError *error,
74252190Srpaulo					     void *user_data);
75214501Srpaulo
76252190Srpaulodbus_bool_t wpas_dbus_getter_interfaces(DBusMessageIter *iter,
77252190Srpaulo					DBusError *error,
78252190Srpaulo					void *user_data);
79214501Srpaulo
80252190Srpaulodbus_bool_t wpas_dbus_getter_eap_methods(DBusMessageIter *iter,
81252190Srpaulo					 DBusError *error, void *user_data);
82214501Srpaulo
83252190Srpaulodbus_bool_t wpas_dbus_getter_global_capabilities(DBusMessageIter *iter,
84252190Srpaulo						 DBusError *error,
85252190Srpaulo						 void *user_data);
86252190Srpaulo
87214501SrpauloDBusMessage * wpas_dbus_handler_scan(DBusMessage *message,
88214501Srpaulo				     struct wpa_supplicant *wpa_s);
89214501Srpaulo
90214501SrpauloDBusMessage * wpas_dbus_handler_disconnect(DBusMessage *message,
91214501Srpaulo					   struct wpa_supplicant *wpa_s);
92214501Srpaulo
93252190Srpaulodbus_bool_t set_network_properties(struct wpa_supplicant *wpa_s,
94252190Srpaulo				   struct wpa_ssid *ssid,
95252190Srpaulo				   DBusMessageIter *iter,
96252190Srpaulo				   DBusError *error);
97252190Srpaulo
98214501SrpauloDBusMessage * wpas_dbus_handler_add_network(DBusMessage *message,
99214501Srpaulo					    struct wpa_supplicant *wpa_s);
100214501Srpaulo
101252190SrpauloDBusMessage * wpas_dbus_handler_reassociate(DBusMessage *message,
102252190Srpaulo					    struct wpa_supplicant *wpa_s);
103252190Srpaulo
104214501SrpauloDBusMessage * wpas_dbus_handler_remove_network(DBusMessage *message,
105214501Srpaulo					       struct wpa_supplicant *wpa_s);
106214501Srpaulo
107252190SrpauloDBusMessage * wpas_dbus_handler_remove_all_networks(
108252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
109252190Srpaulo
110214501SrpauloDBusMessage * wpas_dbus_handler_select_network(DBusMessage *message,
111214501Srpaulo					       struct wpa_supplicant *wpa_s);
112214501Srpaulo
113252190SrpauloDBusMessage * wpas_dbus_handler_network_reply(DBusMessage *message,
114252190Srpaulo					      struct wpa_supplicant *wpa_s);
115252190Srpaulo
116214501SrpauloDBusMessage * wpas_dbus_handler_add_blob(DBusMessage *message,
117214501Srpaulo					 struct wpa_supplicant *wpa_s);
118214501Srpaulo
119214501SrpauloDBusMessage * wpas_dbus_handler_get_blob(DBusMessage *message,
120214501Srpaulo					 struct wpa_supplicant *wpa_s);
121214501Srpaulo
122214501SrpauloDBusMessage * wpas_dbus_handler_remove_blob(DBusMessage *message,
123214501Srpaulo					    struct wpa_supplicant *wpa_s);
124214501Srpaulo
125252190SrpauloDBusMessage * wpas_dbus_handler_flush_bss(DBusMessage *message,
126252190Srpaulo					  struct wpa_supplicant *wpa_s);
127214501Srpaulo
128252190SrpauloDBusMessage * wpas_dbus_handler_autoscan(DBusMessage *message,
129252190Srpaulo					 struct wpa_supplicant *wpa_s);
130214501Srpaulo
131252190Srpaulodbus_bool_t wpas_dbus_getter_capabilities(DBusMessageIter *iter,
132252190Srpaulo					  DBusError *error, void *user_data);
133214501Srpaulo
134252190Srpaulodbus_bool_t wpas_dbus_getter_state(DBusMessageIter *iter, DBusError *error,
135252190Srpaulo				   void *user_data);
136214501Srpaulo
137252190Srpaulodbus_bool_t wpas_dbus_getter_scanning(DBusMessageIter *iter, DBusError *error,
138252190Srpaulo				      void *user_data);
139214501Srpaulo
140252190Srpaulodbus_bool_t wpas_dbus_getter_ap_scan(DBusMessageIter *iter, DBusError *error,
141252190Srpaulo				     void *user_data);
142214501Srpaulo
143252190Srpaulodbus_bool_t wpas_dbus_setter_ap_scan(DBusMessageIter *iter, DBusError *error,
144252190Srpaulo				     void *user_data);
145214501Srpaulo
146252190Srpaulodbus_bool_t wpas_dbus_getter_fast_reauth(DBusMessageIter *iter,
147252190Srpaulo					 DBusError *error,
148252190Srpaulo					 void *user_data);
149214501Srpaulo
150252190Srpaulodbus_bool_t wpas_dbus_setter_fast_reauth(DBusMessageIter *iter,
151252190Srpaulo					 DBusError *error,
152252190Srpaulo					 void *user_data);
153214501Srpaulo
154252190Srpaulodbus_bool_t wpas_dbus_getter_disconnect_reason(DBusMessageIter *iter,
155252190Srpaulo					       DBusError *error,
156252190Srpaulo					       void *user_data);
157214501Srpaulo
158252190Srpaulodbus_bool_t wpas_dbus_getter_bss_expire_age(DBusMessageIter *iter,
159252190Srpaulo					    DBusError *error, void *user_data);
160214501Srpaulo
161252190Srpaulodbus_bool_t wpas_dbus_setter_bss_expire_age(DBusMessageIter *iter,
162252190Srpaulo					    DBusError *error,
163252190Srpaulo					    void *user_data);
164214501Srpaulo
165252190Srpaulodbus_bool_t wpas_dbus_getter_bss_expire_count(DBusMessageIter *iter,
166252190Srpaulo					      DBusError *error,
167252190Srpaulo					      void *user_data);
168214501Srpaulo
169252190Srpaulodbus_bool_t wpas_dbus_setter_bss_expire_count(DBusMessageIter *iter,
170252190Srpaulo					      DBusError *error,
171252190Srpaulo					      void *user_data);
172214501Srpaulo
173252190Srpaulodbus_bool_t wpas_dbus_getter_country(DBusMessageIter *iter, DBusError *error,
174252190Srpaulo				     void *user_data);
175214501Srpaulo
176252190Srpaulodbus_bool_t wpas_dbus_setter_country(DBusMessageIter *iter, DBusError *error,
177252190Srpaulo				     void *user_data);
178214501Srpaulo
179252190Srpaulodbus_bool_t wpas_dbus_getter_scan_interval(DBusMessageIter *iter,
180252190Srpaulo					   DBusError *error,
181252190Srpaulo					   void *user_data);
182214501Srpaulo
183252190Srpaulodbus_bool_t wpas_dbus_setter_scan_interval(DBusMessageIter *iter,
184252190Srpaulo					   DBusError *error,
185252190Srpaulo					   void *user_data);
186214501Srpaulo
187252190Srpaulodbus_bool_t wpas_dbus_getter_ifname(DBusMessageIter *iter, DBusError *error,
188252190Srpaulo				    void *user_data);
189214501Srpaulo
190252190Srpaulodbus_bool_t wpas_dbus_getter_driver(DBusMessageIter *iter, DBusError *error,
191252190Srpaulo				    void *user_data);
192214501Srpaulo
193252190Srpaulodbus_bool_t wpas_dbus_getter_bridge_ifname(DBusMessageIter *iter,
194252190Srpaulo					   DBusError *error,
195252190Srpaulo					   void *user_data);
196214501Srpaulo
197252190Srpaulodbus_bool_t wpas_dbus_getter_current_bss(DBusMessageIter *iter,
198252190Srpaulo					 DBusError *error,
199252190Srpaulo					 void *user_data);
200214501Srpaulo
201252190Srpaulodbus_bool_t wpas_dbus_getter_current_network(DBusMessageIter *iter,
202252190Srpaulo					     DBusError *error,
203252190Srpaulo					     void *user_data);
204214501Srpaulo
205252190Srpaulodbus_bool_t wpas_dbus_getter_current_auth_mode(DBusMessageIter *iter,
206252190Srpaulo					       DBusError *error,
207252190Srpaulo					       void *user_data);
208214501Srpaulo
209252190Srpaulodbus_bool_t wpas_dbus_getter_bsss(DBusMessageIter *iter, DBusError *error,
210252190Srpaulo				  void *user_data);
211214501Srpaulo
212252190Srpaulodbus_bool_t wpas_dbus_getter_networks(DBusMessageIter *iter, DBusError *error,
213252190Srpaulo				      void *user_data);
214214501Srpaulo
215252190Srpaulodbus_bool_t wpas_dbus_getter_blobs(DBusMessageIter *iter, DBusError *error,
216252190Srpaulo				   void *user_data);
217214501Srpaulo
218252190Srpaulodbus_bool_t wpas_dbus_getter_bss_bssid(DBusMessageIter *iter, DBusError *error,
219252190Srpaulo				       void *user_data);
220252190Srpaulo
221252190Srpaulodbus_bool_t wpas_dbus_getter_bss_ssid(DBusMessageIter *iter, DBusError *error,
222252190Srpaulo				      void *user_data);
223252190Srpaulo
224252190Srpaulodbus_bool_t wpas_dbus_getter_bss_privacy(DBusMessageIter *iter,
225252190Srpaulo					 DBusError *error, void *user_data);
226252190Srpaulo
227252190Srpaulodbus_bool_t wpas_dbus_getter_bss_mode(DBusMessageIter *iter, DBusError *error,
228252190Srpaulo				      void *user_data);
229252190Srpaulo
230252190Srpaulodbus_bool_t wpas_dbus_getter_bss_signal(DBusMessageIter *iter,
231252190Srpaulo					DBusError *error, void *user_data);
232252190Srpaulo
233252190Srpaulodbus_bool_t wpas_dbus_getter_bss_frequency(DBusMessageIter *iter,
234252190Srpaulo					   DBusError *error, void *user_data);
235252190Srpaulo
236252190Srpaulodbus_bool_t wpas_dbus_getter_bss_rates(DBusMessageIter *iter,
237252190Srpaulo				       DBusError *error, void *user_data);
238252190Srpaulo
239252190Srpaulodbus_bool_t wpas_dbus_getter_bss_wpa(DBusMessageIter *iter, DBusError *error,
240252190Srpaulo				     void *user_data);
241252190Srpaulo
242252190Srpaulodbus_bool_t wpas_dbus_getter_bss_rsn(DBusMessageIter *iter, DBusError *error,
243252190Srpaulo				     void *user_data);
244252190Srpaulo
245252190Srpaulodbus_bool_t wpas_dbus_getter_bss_wps(DBusMessageIter *iter, DBusError *error,
246252190Srpaulo				     void *user_data);
247252190Srpaulo
248252190Srpaulodbus_bool_t wpas_dbus_getter_bss_ies(DBusMessageIter *iter, DBusError *error,
249252190Srpaulo				     void *user_data);
250252190Srpaulo
251252190Srpaulodbus_bool_t wpas_dbus_getter_enabled(DBusMessageIter *iter, DBusError *error,
252252190Srpaulo				     void *user_data);
253252190Srpaulo
254252190Srpaulodbus_bool_t wpas_dbus_setter_enabled(DBusMessageIter *iter, DBusError *error,
255252190Srpaulo				     void *user_data);
256252190Srpaulo
257252190Srpaulodbus_bool_t wpas_dbus_getter_network_properties(DBusMessageIter *iter,
258252190Srpaulo						DBusError *error,
259252190Srpaulo						void *user_data);
260252190Srpaulo
261252190Srpaulodbus_bool_t wpas_dbus_setter_network_properties(DBusMessageIter *iter,
262252190Srpaulo						DBusError *error,
263252190Srpaulo						void *user_data);
264252190Srpaulo
265214501SrpauloDBusMessage * wpas_dbus_handler_wps_start(DBusMessage *message,
266214501Srpaulo					  struct wpa_supplicant *wpa_s);
267214501Srpaulo
268252190Srpaulodbus_bool_t wpas_dbus_getter_process_credentials(DBusMessageIter *iter,
269252190Srpaulo	DBusError *error, void *user_data);
270214501Srpaulo
271252190Srpaulodbus_bool_t wpas_dbus_setter_process_credentials(DBusMessageIter *iter,
272252190Srpaulo						 DBusError *error,
273252190Srpaulo						 void *user_data);
274214501Srpaulo
275214501SrpauloDBusMessage * wpas_dbus_error_invalid_args(DBusMessage *message,
276214501Srpaulo					   const char *arg);
277214501SrpauloDBusMessage * wpas_dbus_error_unknown_error(DBusMessage *message,
278214501Srpaulo					    const char *arg);
279214501Srpaulo
280252190SrpauloDBusMessage * wpas_dbus_handler_subscribe_preq(
281252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
282252190SrpauloDBusMessage * wpas_dbus_handler_unsubscribe_preq(
283252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
284252190Srpaulo
285214501Srpaulo#endif /* CTRL_IFACE_DBUS_HANDLERS_NEW_H */
286