dbus_old.h revision 8d520ff1dc2da35cdca849e982051b86468016d8
1/*
2 * WPA Supplicant / dbus-based control interface
3 * Copyright (c) 2006, Dan Williams <dcbw@redhat.com> and Red Hat, Inc.
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 *
9 * Alternatively, this software may be distributed under the terms of BSD
10 * license.
11 *
12 * See README and COPYING for more details.
13 */
14
15#ifndef CTRL_IFACE_DBUS_H
16#define CTRL_IFACE_DBUS_H
17
18struct wps_credential;
19
20#ifdef CONFIG_CTRL_IFACE_DBUS
21
22#define WPAS_DBUS_OBJECT_PATH_MAX 150
23
24#define WPAS_DBUS_SERVICE	"fi.epitest.hostap.WPASupplicant"
25#define WPAS_DBUS_PATH		"/fi/epitest/hostap/WPASupplicant"
26#define WPAS_DBUS_INTERFACE	"fi.epitest.hostap.WPASupplicant"
27
28#define WPAS_DBUS_PATH_INTERFACES	WPAS_DBUS_PATH "/Interfaces"
29#define WPAS_DBUS_IFACE_INTERFACE	WPAS_DBUS_INTERFACE ".Interface"
30
31#define WPAS_DBUS_NETWORKS_PART "Networks"
32#define WPAS_DBUS_IFACE_NETWORK	WPAS_DBUS_INTERFACE ".Network"
33
34#define WPAS_DBUS_BSSIDS_PART	"BSSIDs"
35#define WPAS_DBUS_IFACE_BSSID	WPAS_DBUS_INTERFACE ".BSSID"
36
37
38/* Errors */
39#define WPAS_ERROR_INVALID_NETWORK \
40	WPAS_DBUS_IFACE_INTERFACE ".InvalidNetwork"
41#define WPAS_ERROR_INVALID_BSSID \
42	WPAS_DBUS_IFACE_INTERFACE ".InvalidBSSID"
43
44#define WPAS_ERROR_INVALID_OPTS \
45	WPAS_DBUS_INTERFACE ".InvalidOptions"
46#define WPAS_ERROR_INVALID_IFACE \
47	WPAS_DBUS_INTERFACE ".InvalidInterface"
48
49#define WPAS_ERROR_ADD_ERROR \
50	WPAS_DBUS_INTERFACE ".AddError"
51#define WPAS_ERROR_EXISTS_ERROR \
52	WPAS_DBUS_INTERFACE ".ExistsError"
53#define WPAS_ERROR_REMOVE_ERROR \
54	WPAS_DBUS_INTERFACE ".RemoveError"
55
56#define WPAS_ERROR_SCAN_ERROR \
57	WPAS_DBUS_IFACE_INTERFACE ".ScanError"
58#define WPAS_ERROR_ADD_NETWORK_ERROR \
59	WPAS_DBUS_IFACE_INTERFACE ".AddNetworkError"
60#define WPAS_ERROR_INTERNAL_ERROR \
61	WPAS_DBUS_IFACE_INTERFACE ".InternalError"
62#define WPAS_ERROR_REMOVE_NETWORK_ERROR \
63	WPAS_DBUS_IFACE_INTERFACE ".RemoveNetworkError"
64
65#define WPAS_ERROR_WPS_PBC_ERROR \
66	WPAS_DBUS_IFACE_INTERFACE ".WpsPbcError"
67#define WPAS_ERROR_WPS_PIN_ERROR \
68	WPAS_DBUS_IFACE_INTERFACE ".WpsPinError"
69#define WPAS_ERROR_WPS_REG_ERROR \
70	WPAS_DBUS_IFACE_INTERFACE ".WpsRegError"
71
72#define WPAS_DBUS_BSSID_FORMAT "%02x%02x%02x%02x%02x%02x"
73
74struct wpa_global;
75struct wpa_supplicant;
76
77int wpa_supplicant_dbus_ctrl_iface_init(struct wpas_dbus_priv *iface);
78void wpa_supplicant_dbus_notify_scan_results(struct wpa_supplicant *wpa_s);
79void wpa_supplicant_dbus_notify_scanning(struct wpa_supplicant *wpa_s);
80void wpa_supplicant_dbus_notify_state_change(struct wpa_supplicant *wpa_s,
81					     enum wpa_states new_state,
82					     enum wpa_states old_state);
83void wpa_supplicant_dbus_notify_wps_cred(struct wpa_supplicant *wpa_s,
84					 const struct wps_credential *cred);
85
86char * wpas_dbus_decompose_object_path(const char *path, char **network,
87                                       char **bssid);
88
89int wpas_dbus_register_iface(struct wpa_supplicant *wpa_s);
90int wpas_dbus_unregister_iface(struct wpa_supplicant *wpa_s);
91
92
93/* Methods internal to the dbus control interface */
94struct wpa_supplicant * wpa_supplicant_get_iface_by_dbus_path(
95	struct wpa_global *global, const char *path);
96
97#else /* CONFIG_CTRL_IFACE_DBUS */
98
99static inline void
100wpa_supplicant_dbus_notify_scan_results(struct wpa_supplicant *wpa_s)
101{
102}
103
104static inline void
105wpa_supplicant_dbus_notify_scanning(struct wpa_supplicant *wpa_s)
106{
107}
108
109#define wpa_supplicant_dbus_notify_state_change(w,n,o) do { } while (0)
110
111static inline void
112wpa_supplicant_dbus_notify_wps_cred(struct wpa_supplicant *wpa_s,
113				    const struct wps_credential *cred)
114{
115}
116
117static inline int
118wpas_dbus_register_iface(struct wpa_supplicant *wpa_s)
119{
120	return 0;
121}
122
123static inline int
124wpas_dbus_unregister_iface(struct wpa_supplicant *wpa_s)
125{
126	return 0;
127}
128
129#endif /* CONFIG_CTRL_IFACE_DBUS */
130
131#endif /* CTRL_IFACE_DBUS_H */
132