dbus_new_handlers.h revision 337817
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
13337817Scy#include "dbus_new_helpers.h"
14337817Scy
15214501Srpaulostruct network_handler_args {
16214501Srpaulo	struct wpa_supplicant *wpa_s;
17214501Srpaulo	struct wpa_ssid *ssid;
18214501Srpaulo};
19214501Srpaulo
20214501Srpaulostruct bss_handler_args {
21214501Srpaulo	struct wpa_supplicant *wpa_s;
22214501Srpaulo	unsigned int id;
23214501Srpaulo};
24214501Srpaulo
25252190Srpaulodbus_bool_t wpas_dbus_simple_property_getter(DBusMessageIter *iter,
26252190Srpaulo					     const int type,
27252190Srpaulo					     const void *val,
28252190Srpaulo					     DBusError *error);
29214501Srpaulo
30252190Srpaulodbus_bool_t wpas_dbus_simple_property_setter(DBusMessageIter *iter,
31252190Srpaulo					     DBusError *error,
32252190Srpaulo					     const int type, void *val);
33214501Srpaulo
34252190Srpaulodbus_bool_t wpas_dbus_simple_array_property_getter(DBusMessageIter *iter,
35252190Srpaulo						   const int type,
36252190Srpaulo						   const void *array,
37252190Srpaulo						   size_t array_len,
38252190Srpaulo						   DBusError *error);
39214501Srpaulo
40252190Srpaulodbus_bool_t wpas_dbus_simple_array_array_property_getter(DBusMessageIter *iter,
41252190Srpaulo							 const int type,
42252190Srpaulo							 struct wpabuf **array,
43252190Srpaulo							 size_t array_len,
44252190Srpaulo							 DBusError *error);
45252190Srpaulo
46214501SrpauloDBusMessage * wpas_dbus_handler_create_interface(DBusMessage *message,
47214501Srpaulo						 struct wpa_global *global);
48214501Srpaulo
49214501SrpauloDBusMessage * wpas_dbus_handler_remove_interface(DBusMessage *message,
50214501Srpaulo						 struct wpa_global *global);
51214501Srpaulo
52214501SrpauloDBusMessage * wpas_dbus_handler_get_interface(DBusMessage *message,
53214501Srpaulo					      struct wpa_global *global);
54214501Srpaulo
55337817ScyDBusMessage * wpas_dbus_handler_expect_disconnect(DBusMessage *message,
56337817Scy						  struct wpa_global *global);
57214501Srpaulo
58337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_debug_level);
59337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_debug_timestamp);
60337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_debug_show_keys);
61337817ScyDECLARE_ACCESSOR(wpas_dbus_setter_debug_level);
62337817ScyDECLARE_ACCESSOR(wpas_dbus_setter_debug_timestamp);
63337817ScyDECLARE_ACCESSOR(wpas_dbus_setter_debug_show_keys);
64337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_interfaces);
65337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_eap_methods);
66337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_global_capabilities);
67337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_iface_global);
68337817ScyDECLARE_ACCESSOR(wpas_dbus_setter_iface_global);
69214501Srpaulo
70214501SrpauloDBusMessage * wpas_dbus_handler_scan(DBusMessage *message,
71214501Srpaulo				     struct wpa_supplicant *wpa_s);
72214501Srpaulo
73281806SrpauloDBusMessage * wpas_dbus_handler_signal_poll(DBusMessage *message,
74281806Srpaulo					    struct wpa_supplicant *wpa_s);
75281806Srpaulo
76214501SrpauloDBusMessage * wpas_dbus_handler_disconnect(DBusMessage *message,
77214501Srpaulo					   struct wpa_supplicant *wpa_s);
78214501Srpaulo
79252190Srpaulodbus_bool_t set_network_properties(struct wpa_supplicant *wpa_s,
80252190Srpaulo				   struct wpa_ssid *ssid,
81252190Srpaulo				   DBusMessageIter *iter,
82252190Srpaulo				   DBusError *error);
83252190Srpaulo
84214501SrpauloDBusMessage * wpas_dbus_handler_add_network(DBusMessage *message,
85214501Srpaulo					    struct wpa_supplicant *wpa_s);
86214501Srpaulo
87252190SrpauloDBusMessage * wpas_dbus_handler_reassociate(DBusMessage *message,
88252190Srpaulo					    struct wpa_supplicant *wpa_s);
89252190Srpaulo
90281806SrpauloDBusMessage * wpas_dbus_handler_reattach(DBusMessage *message,
91281806Srpaulo					 struct wpa_supplicant *wpa_s);
92281806Srpaulo
93289549SrpauloDBusMessage * wpas_dbus_handler_reconnect(DBusMessage *message,
94289549Srpaulo					  struct wpa_supplicant *wpa_s);
95289549Srpaulo
96214501SrpauloDBusMessage * wpas_dbus_handler_remove_network(DBusMessage *message,
97214501Srpaulo					       struct wpa_supplicant *wpa_s);
98214501Srpaulo
99252190SrpauloDBusMessage * wpas_dbus_handler_remove_all_networks(
100252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
101252190Srpaulo
102214501SrpauloDBusMessage * wpas_dbus_handler_select_network(DBusMessage *message,
103214501Srpaulo					       struct wpa_supplicant *wpa_s);
104214501Srpaulo
105252190SrpauloDBusMessage * wpas_dbus_handler_network_reply(DBusMessage *message,
106252190Srpaulo					      struct wpa_supplicant *wpa_s);
107252190Srpaulo
108214501SrpauloDBusMessage * wpas_dbus_handler_add_blob(DBusMessage *message,
109214501Srpaulo					 struct wpa_supplicant *wpa_s);
110214501Srpaulo
111214501SrpauloDBusMessage * wpas_dbus_handler_get_blob(DBusMessage *message,
112214501Srpaulo					 struct wpa_supplicant *wpa_s);
113214501Srpaulo
114214501SrpauloDBusMessage * wpas_dbus_handler_remove_blob(DBusMessage *message,
115214501Srpaulo					    struct wpa_supplicant *wpa_s);
116214501Srpaulo
117281806SrpauloDBusMessage * wpas_dbus_handler_set_pkcs11_engine_and_module_path(
118281806Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
119281806Srpaulo
120252190SrpauloDBusMessage * wpas_dbus_handler_flush_bss(DBusMessage *message,
121252190Srpaulo					  struct wpa_supplicant *wpa_s);
122214501Srpaulo
123252190SrpauloDBusMessage * wpas_dbus_handler_autoscan(DBusMessage *message,
124252190Srpaulo					 struct wpa_supplicant *wpa_s);
125214501Srpaulo
126281806SrpauloDBusMessage * wpas_dbus_handler_eap_logoff(DBusMessage *message,
127281806Srpaulo					   struct wpa_supplicant *wpa_s);
128281806Srpaulo
129281806SrpauloDBusMessage * wpas_dbus_handler_eap_logon(DBusMessage *message,
130281806Srpaulo					  struct wpa_supplicant *wpa_s);
131281806Srpaulo
132337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_capabilities);
133337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_state);
134337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_scanning);
135337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_ap_scan);
136337817ScyDECLARE_ACCESSOR(wpas_dbus_setter_ap_scan);
137337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_fast_reauth);
138337817ScyDECLARE_ACCESSOR(wpas_dbus_setter_fast_reauth);
139337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_disconnect_reason);
140337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_disassociate_reason);
141337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_assoc_status_code);
142337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_bss_expire_age);
143337817ScyDECLARE_ACCESSOR(wpas_dbus_setter_bss_expire_age);
144337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_bss_expire_count);
145337817ScyDECLARE_ACCESSOR(wpas_dbus_setter_bss_expire_count);
146337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_country);
147337817ScyDECLARE_ACCESSOR(wpas_dbus_setter_country);
148337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_scan_interval);
149337817ScyDECLARE_ACCESSOR(wpas_dbus_setter_scan_interval);
150337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_ifname);
151337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_driver);
152337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_bridge_ifname);
153337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_config_file);
154337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_current_bss);
155337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_current_network);
156337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_current_auth_mode);
157337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_bsss);
158337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_networks);
159337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_pkcs11_engine_path);
160337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_pkcs11_module_path);
161337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_blobs);
162337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_bss_bssid);
163337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_bss_ssid);
164337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_bss_privacy);
165337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_bss_mode);
166337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_bss_signal);
167337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_bss_frequency);
168337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_bss_rates);
169337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_bss_wpa);
170337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_bss_rsn);
171337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_bss_wps);
172337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_bss_ies);
173337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_bss_age);
174337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_enabled);
175337817ScyDECLARE_ACCESSOR(wpas_dbus_setter_enabled);
176337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_network_properties);
177337817ScyDECLARE_ACCESSOR(wpas_dbus_setter_network_properties);
178214501Srpaulo
179214501SrpauloDBusMessage * wpas_dbus_handler_wps_start(DBusMessage *message,
180214501Srpaulo					  struct wpa_supplicant *wpa_s);
181214501Srpaulo
182289549SrpauloDBusMessage * wpas_dbus_handler_wps_cancel(DBusMessage *message,
183289549Srpaulo					   struct wpa_supplicant *wpa_s);
184289549Srpaulo
185337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_process_credentials);
186337817ScyDECLARE_ACCESSOR(wpas_dbus_setter_process_credentials);
187337817ScyDECLARE_ACCESSOR(wpas_dbus_getter_config_methods);
188337817ScyDECLARE_ACCESSOR(wpas_dbus_setter_config_methods);
189214501Srpaulo
190281806SrpauloDBusMessage * wpas_dbus_handler_tdls_discover(DBusMessage *message,
191281806Srpaulo					      struct wpa_supplicant *wpa_s);
192281806SrpauloDBusMessage * wpas_dbus_handler_tdls_setup(DBusMessage *message,
193281806Srpaulo					   struct wpa_supplicant *wpa_s);
194281806SrpauloDBusMessage * wpas_dbus_handler_tdls_status(DBusMessage *message,
195281806Srpaulo					    struct wpa_supplicant *wpa_s);
196281806SrpauloDBusMessage * wpas_dbus_handler_tdls_teardown(DBusMessage *message,
197281806Srpaulo					      struct wpa_supplicant *wpa_s);
198281806Srpaulo
199337817ScyDBusMessage * wpas_dbus_handler_vendor_elem_add(DBusMessage *message,
200337817Scy						struct wpa_supplicant *wpa_s);
201337817ScyDBusMessage * wpas_dbus_handler_vendor_elem_get(DBusMessage *message,
202337817Scy						struct wpa_supplicant *wpa_s);
203337817ScyDBusMessage * wpas_dbus_handler_vendor_elem_remove(
204337817Scy	DBusMessage *message, struct wpa_supplicant *wpa_s);
205337817Scy
206337817ScyDBusMessage * wpas_dbus_handler_save_config(DBusMessage *message,
207337817Scy					    struct wpa_supplicant *wpa_s);
208337817Scy
209214501SrpauloDBusMessage * wpas_dbus_error_invalid_args(DBusMessage *message,
210214501Srpaulo					   const char *arg);
211214501SrpauloDBusMessage * wpas_dbus_error_unknown_error(DBusMessage *message,
212214501Srpaulo					    const char *arg);
213281806SrpauloDBusMessage * wpas_dbus_error_no_memory(DBusMessage *message);
214214501Srpaulo
215252190SrpauloDBusMessage * wpas_dbus_handler_subscribe_preq(
216252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
217252190SrpauloDBusMessage * wpas_dbus_handler_unsubscribe_preq(
218252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
219252190Srpaulo
220214501Srpaulo#endif /* CTRL_IFACE_DBUS_HANDLERS_NEW_H */
221