| /* |
| * WPA Supplicant / dbus-based control interface |
| * Copyright (c) 2006, Dan Williams <[email protected]> and Red Hat, Inc. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 as |
| * published by the Free Software Foundation. |
| * |
| * Alternatively, this software may be distributed under the terms of BSD |
| * license. |
| * |
| * See README and COPYING for more details. |
| */ |
| |
| #ifndef CTRL_IFACE_DBUS_H |
| #define CTRL_IFACE_DBUS_H |
| |
| #ifdef CONFIG_CTRL_IFACE_DBUS |
| |
| #ifndef SIGPOLL |
| #ifdef SIGIO |
| /* |
| * If we do not have SIGPOLL, try to use SIGIO instead. This is needed for |
| * FreeBSD. |
| */ |
| #define SIGPOLL SIGIO |
| #endif |
| #endif |
| |
| #include <dbus/dbus.h> |
| |
| #define WPAS_DBUS_OBJECT_PATH_MAX 150 |
| |
| #define WPAS_DBUS_SERVICE "fi.epitest.hostap.WPASupplicant" |
| #define WPAS_DBUS_PATH "/fi/epitest/hostap/WPASupplicant" |
| #define WPAS_DBUS_INTERFACE "fi.epitest.hostap.WPASupplicant" |
| |
| #define WPAS_DBUS_PATH_INTERFACES WPAS_DBUS_PATH "/Interfaces" |
| #define WPAS_DBUS_IFACE_INTERFACE WPAS_DBUS_INTERFACE ".Interface" |
| |
| #define WPAS_DBUS_NETWORKS_PART "Networks" |
| #define WPAS_DBUS_IFACE_NETWORK WPAS_DBUS_INTERFACE ".Network" |
| |
| #define WPAS_DBUS_BSSIDS_PART "BSSIDs" |
| #define WPAS_DBUS_IFACE_BSSID WPAS_DBUS_INTERFACE ".BSSID" |
| |
| |
| /* Errors */ |
| #define WPAS_ERROR_INVALID_NETWORK \ |
| WPAS_DBUS_IFACE_INTERFACE ".InvalidNetwork" |
| #define WPAS_ERROR_INVALID_BSSID \ |
| WPAS_DBUS_IFACE_INTERFACE ".InvalidBSSID" |
| |
| #define WPAS_ERROR_INVALID_OPTS \ |
| WPAS_DBUS_INTERFACE ".InvalidOptions" |
| #define WPAS_ERROR_INVALID_IFACE \ |
| WPAS_DBUS_INTERFACE ".InvalidInterface" |
| |
| #define WPAS_ERROR_ADD_ERROR \ |
| WPAS_DBUS_INTERFACE ".AddError" |
| #define WPAS_ERROR_EXISTS_ERROR \ |
| WPAS_DBUS_INTERFACE ".ExistsError" |
| #define WPAS_ERROR_REMOVE_ERROR \ |
| WPAS_DBUS_INTERFACE ".RemoveError" |
| |
| #define WPAS_ERROR_SCAN_ERROR \ |
| WPAS_DBUS_IFACE_INTERFACE ".ScanError" |
| #define WPAS_ERROR_ADD_NETWORK_ERROR \ |
| WPAS_DBUS_IFACE_INTERFACE ".AddNetworkError" |
| #define WPAS_ERROR_INTERNAL_ERROR \ |
| WPAS_DBUS_IFACE_INTERFACE ".InternalError" |
| #define WPAS_ERROR_REMOVE_NETWORK_ERROR \ |
| WPAS_DBUS_IFACE_INTERFACE ".RemoveNetworkError" |
| |
| #define WPAS_DBUS_BSSID_FORMAT "%02x%02x%02x%02x%02x%02x" |
| |
| struct wpa_global; |
| struct wpa_supplicant; |
| |
| struct ctrl_iface_dbus_priv * |
| wpa_supplicant_dbus_ctrl_iface_init(struct wpa_global *global); |
| void wpa_supplicant_dbus_ctrl_iface_deinit(struct ctrl_iface_dbus_priv *iface); |
| void wpa_supplicant_dbus_notify_scan_results(struct wpa_supplicant *wpa_s); |
| void wpa_supplicant_dbus_notify_state_change(struct wpa_supplicant *wpa_s, |
| wpa_states new_state, |
| wpa_states old_state); |
| |
| char * wpas_dbus_decompose_object_path(const char *path, char **network, |
| char **bssid); |
| |
| int wpas_dbus_register_iface(struct wpa_supplicant *wpa_s); |
| int wpas_dbus_unregister_iface(struct wpa_supplicant *wpa_s); |
| |
| |
| /* Methods internal to the dbus control interface */ |
| u32 wpa_supplicant_dbus_next_objid(struct ctrl_iface_dbus_priv *iface); |
| |
| int wpa_supplicant_set_dbus_path(struct wpa_supplicant *wpa_s, |
| const char *path); |
| const char *wpa_supplicant_get_dbus_path(struct wpa_supplicant *wpa_s); |
| struct wpa_supplicant * wpa_supplicant_get_iface_by_dbus_path( |
| struct wpa_global *global, const char *path); |
| |
| DBusMessage * wpas_dbus_new_invalid_iface_error(DBusMessage *message); |
| DBusMessage * wpas_dbus_new_invalid_network_error(DBusMessage *message); |
| |
| #else /* CONFIG_CTRL_IFACE_DBUS */ |
| |
| static inline struct ctrl_iface_dbus_priv * |
| wpa_supplicant_dbus_ctrl_iface_init(struct wpa_global *global) |
| { |
| return (struct ctrl_iface_dbus_priv *) 1; |
| } |
| |
| static inline void |
| wpa_supplicant_dbus_ctrl_iface_deinit(struct ctrl_iface_dbus_priv *iface) |
| { |
| } |
| |
| static inline void |
| wpa_supplicant_dbus_notify_scan_results(struct wpa_supplicant *wpa_s) |
| { |
| } |
| |
| static inline void |
| wpa_supplicant_dbus_notify_state_change(struct wpa_supplicant *wpa_s, |
| wpa_states new_state, |
| wpa_states old_state) |
| { |
| } |
| |
| static inline int |
| wpas_dbus_register_iface(struct wpa_supplicant *wpa_s) |
| { |
| return 0; |
| } |
| |
| static inline int |
| wpas_dbus_unregister_iface(struct wpa_supplicant *wpa_s) |
| { |
| return 0; |
| } |
| |
| #endif /* CONFIG_CTRL_IFACE_DBUS */ |
| |
| #endif /* CTRL_IFACE_DBUS_H */ |