123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- /*
- * WPA Supplicant / dbus-based control interface
- * Copyright (c) 2006, Dan Williams <dcbw@redhat.com> 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
- struct wps_credential;
- #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"
- #ifdef CONFIG_WPS
- #define WPAS_ERROR_WPS_PBC_ERROR \
- WPAS_DBUS_IFACE_INTERFACE ".WpsPbcError"
- #define WPAS_ERROR_WPS_PIN_ERROR \
- WPAS_DBUS_IFACE_INTERFACE ".WpsPinError"
- #define WPAS_ERROR_WPS_REG_ERROR \
- WPAS_DBUS_IFACE_INTERFACE ".WpsRegError"
- #endif /* CONFIG_WPS */
- #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_scanning(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);
- void wpa_supplicant_dbus_notify_wps_cred(struct wpa_supplicant *wpa_s,
- const struct wps_credential *cred);
- 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_scanning(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 void
- wpa_supplicant_dbus_notify_wps_cred(struct wpa_supplicant *wpa_s,
- const struct wps_credential *cred)
- {
- }
- 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 */
|