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