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#include "dbus_new_helpers.h" 14 15struct network_handler_args { 16 struct wpa_supplicant *wpa_s; 17 struct wpa_ssid *ssid; 18}; 19 20struct bss_handler_args { 21 struct wpa_supplicant *wpa_s; 22 unsigned int id; 23}; 24 25struct sta_handler_args { 26 struct wpa_supplicant *wpa_s; 27 const u8 *sta; 28}; 29 30dbus_bool_t wpas_dbus_simple_property_getter(DBusMessageIter *iter, 31 const int type, 32 const void *val, 33 DBusError *error); 34 35dbus_bool_t wpas_dbus_simple_property_setter(DBusMessageIter *iter, 36 DBusError *error, 37 const int type, void *val); 38 39dbus_bool_t wpas_dbus_simple_array_property_getter(DBusMessageIter *iter, 40 const int type, 41 const void *array, 42 size_t array_len, 43 DBusError *error); 44 45dbus_bool_t wpas_dbus_simple_array_array_property_getter(DBusMessageIter *iter, 46 const int type, 47 struct wpabuf **array, 48 size_t array_len, 49 DBusError *error); 50 51dbus_bool_t wpas_dbus_string_property_getter(DBusMessageIter *iter, 52 const void *val, 53 DBusError *error); 54 55DBusMessage * wpas_dbus_handler_create_interface(DBusMessage *message, 56 struct wpa_global *global); 57 58DBusMessage * wpas_dbus_handler_remove_interface(DBusMessage *message, 59 struct wpa_global *global); 60 61DBusMessage * wpas_dbus_handler_get_interface(DBusMessage *message, 62 struct wpa_global *global); 63 64DBusMessage * wpas_dbus_handler_expect_disconnect(DBusMessage *message, 65 struct wpa_global *global); 66 67DECLARE_ACCESSOR(wpas_dbus_getter_debug_level); 68DECLARE_ACCESSOR(wpas_dbus_getter_debug_timestamp); 69DECLARE_ACCESSOR(wpas_dbus_getter_debug_show_keys); 70DECLARE_ACCESSOR(wpas_dbus_setter_debug_level); 71DECLARE_ACCESSOR(wpas_dbus_setter_debug_timestamp); 72DECLARE_ACCESSOR(wpas_dbus_setter_debug_show_keys); 73DECLARE_ACCESSOR(wpas_dbus_getter_interfaces); 74DECLARE_ACCESSOR(wpas_dbus_getter_eap_methods); 75DECLARE_ACCESSOR(wpas_dbus_getter_global_capabilities); 76DECLARE_ACCESSOR(wpas_dbus_getter_iface_global); 77DECLARE_ACCESSOR(wpas_dbus_setter_iface_global); 78 79DBusMessage * wpas_dbus_handler_scan(DBusMessage *message, 80 struct wpa_supplicant *wpa_s); 81 82DBusMessage * wpas_dbus_handler_abort_scan(DBusMessage *message, 83 struct wpa_supplicant *wpa_s); 84 85DBusMessage * wpas_dbus_handler_signal_poll(DBusMessage *message, 86 struct wpa_supplicant *wpa_s); 87 88DBusMessage * wpas_dbus_handler_disconnect(DBusMessage *message, 89 struct wpa_supplicant *wpa_s); 90 91dbus_bool_t set_network_properties(struct wpa_supplicant *wpa_s, 92 struct wpa_ssid *ssid, 93 DBusMessageIter *iter, 94 DBusError *error); 95 96DBusMessage * wpas_dbus_handler_add_network(DBusMessage *message, 97 struct wpa_supplicant *wpa_s); 98 99DBusMessage * wpas_dbus_handler_reassociate(DBusMessage *message, 100 struct wpa_supplicant *wpa_s); 101 102DBusMessage * wpas_dbus_handler_reattach(DBusMessage *message, 103 struct wpa_supplicant *wpa_s); 104 105DBusMessage * wpas_dbus_handler_reconnect(DBusMessage *message, 106 struct wpa_supplicant *wpa_s); 107 108DBusMessage * wpas_dbus_handler_remove_network(DBusMessage *message, 109 struct wpa_supplicant *wpa_s); 110 111DBusMessage * wpas_dbus_handler_remove_all_networks( 112 DBusMessage *message, struct wpa_supplicant *wpa_s); 113 114DBusMessage * wpas_dbus_handler_select_network(DBusMessage *message, 115 struct wpa_supplicant *wpa_s); 116 117DBusMessage * wpas_dbus_handler_network_reply(DBusMessage *message, 118 struct wpa_supplicant *wpa_s); 119 120DBusMessage * wpas_dbus_handler_add_blob(DBusMessage *message, 121 struct wpa_supplicant *wpa_s); 122 123DBusMessage * wpas_dbus_handler_get_blob(DBusMessage *message, 124 struct wpa_supplicant *wpa_s); 125 126DBusMessage * wpas_dbus_handler_remove_blob(DBusMessage *message, 127 struct wpa_supplicant *wpa_s); 128 129DBusMessage * wpas_dbus_handler_set_pkcs11_engine_and_module_path( 130 DBusMessage *message, struct wpa_supplicant *wpa_s); 131 132DBusMessage * wpas_dbus_handler_flush_bss(DBusMessage *message, 133 struct wpa_supplicant *wpa_s); 134 135DBusMessage * wpas_dbus_handler_autoscan(DBusMessage *message, 136 struct wpa_supplicant *wpa_s); 137 138DBusMessage * wpas_dbus_handler_eap_logoff(DBusMessage *message, 139 struct wpa_supplicant *wpa_s); 140 141DBusMessage * wpas_dbus_handler_eap_logon(DBusMessage *message, 142 struct wpa_supplicant *wpa_s); 143 144DECLARE_ACCESSOR(wpas_dbus_getter_capabilities); 145DECLARE_ACCESSOR(wpas_dbus_getter_state); 146DECLARE_ACCESSOR(wpas_dbus_getter_scanning); 147DECLARE_ACCESSOR(wpas_dbus_getter_ap_scan); 148DECLARE_ACCESSOR(wpas_dbus_setter_ap_scan); 149DECLARE_ACCESSOR(wpas_dbus_getter_fast_reauth); 150DECLARE_ACCESSOR(wpas_dbus_setter_fast_reauth); 151DECLARE_ACCESSOR(wpas_dbus_getter_disconnect_reason); 152DECLARE_ACCESSOR(wpas_dbus_getter_disassociate_reason); 153DECLARE_ACCESSOR(wpas_dbus_getter_auth_status_code); 154DECLARE_ACCESSOR(wpas_dbus_getter_assoc_status_code); 155DECLARE_ACCESSOR(wpas_dbus_getter_roam_time); 156DECLARE_ACCESSOR(wpas_dbus_getter_roam_complete); 157DECLARE_ACCESSOR(wpas_dbus_getter_session_length); 158DECLARE_ACCESSOR(wpas_dbus_getter_bss_tm_status); 159DECLARE_ACCESSOR(wpas_dbus_getter_bss_expire_age); 160DECLARE_ACCESSOR(wpas_dbus_setter_bss_expire_age); 161DECLARE_ACCESSOR(wpas_dbus_getter_bss_expire_count); 162DECLARE_ACCESSOR(wpas_dbus_setter_bss_expire_count); 163DECLARE_ACCESSOR(wpas_dbus_getter_country); 164DECLARE_ACCESSOR(wpas_dbus_setter_country); 165DECLARE_ACCESSOR(wpas_dbus_getter_scan_interval); 166DECLARE_ACCESSOR(wpas_dbus_setter_scan_interval); 167DECLARE_ACCESSOR(wpas_dbus_getter_ifname); 168DECLARE_ACCESSOR(wpas_dbus_getter_driver); 169DECLARE_ACCESSOR(wpas_dbus_getter_bridge_ifname); 170DECLARE_ACCESSOR(wpas_dbus_getter_config_file); 171DECLARE_ACCESSOR(wpas_dbus_getter_current_bss); 172DECLARE_ACCESSOR(wpas_dbus_getter_current_network); 173DECLARE_ACCESSOR(wpas_dbus_getter_current_auth_mode); 174DECLARE_ACCESSOR(wpas_dbus_getter_bsss); 175DECLARE_ACCESSOR(wpas_dbus_getter_networks); 176DECLARE_ACCESSOR(wpas_dbus_getter_pkcs11_engine_path); 177DECLARE_ACCESSOR(wpas_dbus_getter_pkcs11_module_path); 178DECLARE_ACCESSOR(wpas_dbus_getter_blobs); 179DECLARE_ACCESSOR(wpas_dbus_getter_stas); 180DECLARE_ACCESSOR(wpas_dbus_getter_sta_address); 181DECLARE_ACCESSOR(wpas_dbus_getter_sta_aid); 182DECLARE_ACCESSOR(wpas_dbus_getter_sta_caps); 183DECLARE_ACCESSOR(wpas_dbus_getter_sta_rx_packets); 184DECLARE_ACCESSOR(wpas_dbus_getter_sta_tx_packets); 185DECLARE_ACCESSOR(wpas_dbus_getter_sta_tx_bytes); 186DECLARE_ACCESSOR(wpas_dbus_getter_sta_rx_bytes); 187DECLARE_ACCESSOR(wpas_dbus_getter_bss_bssid); 188DECLARE_ACCESSOR(wpas_dbus_getter_bss_ssid); 189DECLARE_ACCESSOR(wpas_dbus_getter_bss_privacy); 190DECLARE_ACCESSOR(wpas_dbus_getter_bss_mode); 191DECLARE_ACCESSOR(wpas_dbus_getter_bss_signal); 192DECLARE_ACCESSOR(wpas_dbus_getter_bss_frequency); 193DECLARE_ACCESSOR(wpas_dbus_getter_bss_rates); 194DECLARE_ACCESSOR(wpas_dbus_getter_bss_wpa); 195DECLARE_ACCESSOR(wpas_dbus_getter_bss_rsn); 196DECLARE_ACCESSOR(wpas_dbus_getter_bss_wps); 197DECLARE_ACCESSOR(wpas_dbus_getter_bss_ies); 198DECLARE_ACCESSOR(wpas_dbus_getter_bss_age); 199DECLARE_ACCESSOR(wpas_dbus_getter_enabled); 200DECLARE_ACCESSOR(wpas_dbus_setter_enabled); 201DECLARE_ACCESSOR(wpas_dbus_getter_network_properties); 202DECLARE_ACCESSOR(wpas_dbus_setter_network_properties); 203 204DBusMessage * wpas_dbus_handler_wps_start(DBusMessage *message, 205 struct wpa_supplicant *wpa_s); 206 207DBusMessage * wpas_dbus_handler_wps_cancel(DBusMessage *message, 208 struct wpa_supplicant *wpa_s); 209 210DECLARE_ACCESSOR(wpas_dbus_getter_process_credentials); 211DECLARE_ACCESSOR(wpas_dbus_setter_process_credentials); 212DECLARE_ACCESSOR(wpas_dbus_getter_config_methods); 213DECLARE_ACCESSOR(wpas_dbus_setter_config_methods); 214DECLARE_ACCESSOR(wpas_dbus_getter_wps_device_name); 215DECLARE_ACCESSOR(wpas_dbus_setter_wps_device_name); 216DECLARE_ACCESSOR(wpas_dbus_getter_wps_manufacturer); 217DECLARE_ACCESSOR(wpas_dbus_setter_wps_manufacturer); 218DECLARE_ACCESSOR(wpas_dbus_getter_wps_device_model_name); 219DECLARE_ACCESSOR(wpas_dbus_setter_wps_device_model_name); 220DECLARE_ACCESSOR(wpas_dbus_getter_wps_device_model_number); 221DECLARE_ACCESSOR(wpas_dbus_setter_wps_device_model_number); 222DECLARE_ACCESSOR(wpas_dbus_getter_wps_device_serial_number); 223DECLARE_ACCESSOR(wpas_dbus_setter_wps_device_serial_number); 224DECLARE_ACCESSOR(wpas_dbus_getter_wps_device_device_type); 225DECLARE_ACCESSOR(wpas_dbus_setter_wps_device_device_type); 226 227DECLARE_ACCESSOR(wpas_dbus_getter_mesh_peers); 228DECLARE_ACCESSOR(wpas_dbus_getter_mesh_group); 229 230DBusMessage * wpas_dbus_handler_tdls_discover(DBusMessage *message, 231 struct wpa_supplicant *wpa_s); 232DBusMessage * wpas_dbus_handler_tdls_setup(DBusMessage *message, 233 struct wpa_supplicant *wpa_s); 234DBusMessage * wpas_dbus_handler_tdls_status(DBusMessage *message, 235 struct wpa_supplicant *wpa_s); 236DBusMessage * wpas_dbus_handler_tdls_teardown(DBusMessage *message, 237 struct wpa_supplicant *wpa_s); 238DBusMessage * 239wpas_dbus_handler_tdls_channel_switch(DBusMessage *message, 240 struct wpa_supplicant *wpa_s); 241DBusMessage * 242wpas_dbus_handler_tdls_cancel_channel_switch(DBusMessage *message, 243 struct wpa_supplicant *wpa_s); 244 245DBusMessage * wpas_dbus_handler_vendor_elem_add(DBusMessage *message, 246 struct wpa_supplicant *wpa_s); 247DBusMessage * wpas_dbus_handler_vendor_elem_get(DBusMessage *message, 248 struct wpa_supplicant *wpa_s); 249DBusMessage * wpas_dbus_handler_vendor_elem_remove( 250 DBusMessage *message, struct wpa_supplicant *wpa_s); 251 252DBusMessage * wpas_dbus_handler_save_config(DBusMessage *message, 253 struct wpa_supplicant *wpa_s); 254 255DBusMessage * wpas_dbus_error_invalid_args(DBusMessage *message, 256 const char *arg); 257DBusMessage * wpas_dbus_error_unknown_error(DBusMessage *message, 258 const char *arg); 259DBusMessage * wpas_dbus_error_no_memory(DBusMessage *message); 260 261DBusMessage * wpas_dbus_handler_subscribe_preq( 262 DBusMessage *message, struct wpa_supplicant *wpa_s); 263DBusMessage * wpas_dbus_handler_unsubscribe_preq( 264 DBusMessage *message, struct wpa_supplicant *wpa_s); 265 266#endif /* CTRL_IFACE_DBUS_HANDLERS_NEW_H */ 267