1 /*
2  * WPA Supplicant / dbus-based control interface for p2p
3  * Copyright (c) 2011-2012, Intel Corporation
4  *
5  * This software may be distributed under the terms of the BSD license.
6  * See README for more details.
7  */
8 
9 #ifndef DBUS_NEW_HANDLERS_P2P_H
10 #define DBUS_NEW_HANDLERS_P2P_H
11 
12 struct peer_handler_args {
13 	struct wpa_supplicant *wpa_s;
14 	u8 p2p_device_addr[ETH_ALEN];
15 };
16 
17 /*
18  * P2P Device methods
19  */
20 
21 DBusMessage *wpas_dbus_handler_p2p_find(
22 	DBusMessage *message, struct wpa_supplicant *wpa_s);
23 
24 DBusMessage *wpas_dbus_handler_p2p_stop_find(
25 	DBusMessage *message, struct wpa_supplicant *wpa_s);
26 
27 DBusMessage *wpas_dbus_handler_p2p_rejectpeer(
28 	DBusMessage *message, struct wpa_supplicant *wpa_s);
29 
30 DBusMessage *wpas_dbus_handler_p2p_listen(
31 	DBusMessage *message, struct wpa_supplicant *wpa_s);
32 
33 DBusMessage *wpas_dbus_handler_p2p_extendedlisten(
34 	DBusMessage *message, struct wpa_supplicant *wpa_s);
35 
36 DBusMessage *wpas_dbus_handler_p2p_presence_request(
37 	DBusMessage *message, struct wpa_supplicant *wpa_s);
38 
39 DBusMessage *wpas_dbus_handler_p2p_prov_disc_req(
40 	DBusMessage *message, struct wpa_supplicant *wpa_s);
41 
42 DBusMessage *wpas_dbus_handler_p2p_group_add(
43 	DBusMessage *message, struct wpa_supplicant *wpa_s);
44 
45 DBusMessage *wpas_dbus_handler_p2p_connect(
46 		DBusMessage *message,
47 		struct wpa_supplicant *wpa_s);
48 
49 DBusMessage *wpas_dbus_handler_p2p_invite(
50 		DBusMessage *message,
51 		struct wpa_supplicant *wpa_s);
52 
53 DBusMessage *wpas_dbus_handler_p2p_disconnect(
54 	DBusMessage *message, struct wpa_supplicant *wpa_s);
55 
56 DBusMessage *wpas_dbus_handler_p2p_flush(
57 	DBusMessage *message, struct wpa_supplicant *wpa_s);
58 
59 DBusMessage *wpas_dbus_handler_p2p_add_service(
60 	DBusMessage *message, struct wpa_supplicant *wpa_s);
61 
62 DBusMessage *wpas_dbus_handler_p2p_delete_service(
63 	DBusMessage *message, struct wpa_supplicant *wpa_s);
64 
65 DBusMessage *wpas_dbus_handler_p2p_flush_service(
66 	DBusMessage *message, struct wpa_supplicant *wpa_s);
67 
68 DBusMessage *wpas_dbus_handler_p2p_service_sd_req(
69 	DBusMessage *message, struct wpa_supplicant *wpa_s);
70 
71 DBusMessage *wpas_dbus_handler_p2p_service_sd_res(
72 	DBusMessage *message, struct wpa_supplicant *wpa_s);
73 
74 DBusMessage *wpas_dbus_handler_p2p_service_sd_cancel_req(
75 	DBusMessage *message, struct wpa_supplicant *wpa_s);
76 
77 DBusMessage *wpas_dbus_handler_p2p_service_update(
78 	DBusMessage *message, struct wpa_supplicant *wpa_s);
79 
80 DBusMessage *wpas_dbus_handler_p2p_serv_disc_external(
81 	DBusMessage *message, struct wpa_supplicant *wpa_s);
82 
83 /*
84  * P2P Device property accessor methods.
85  */
86 dbus_bool_t wpas_dbus_setter_p2p_device_config(DBusMessageIter *iter,
87 					       DBusError *error,
88 					       void *user_data);
89 
90 dbus_bool_t wpas_dbus_getter_p2p_device_config(DBusMessageIter *iter,
91 					       DBusError *error,
92 					       void *user_data);
93 
94 dbus_bool_t wpas_dbus_getter_p2p_peers(DBusMessageIter *iter, DBusError *error,
95 				       void *user_data);
96 
97 dbus_bool_t wpas_dbus_getter_p2p_role(DBusMessageIter *iter, DBusError *error,
98 				      void *user_data);
99 
100 dbus_bool_t wpas_dbus_getter_p2p_group(DBusMessageIter *iter, DBusError *error,
101 				       void *user_data);
102 
103 dbus_bool_t wpas_dbus_getter_p2p_peergo(DBusMessageIter *iter,
104 					DBusError *error,
105 					void *user_data);
106 
107 /*
108  * P2P Peer properties.
109  */
110 
111 dbus_bool_t wpas_dbus_getter_p2p_peer_device_name(DBusMessageIter *iter,
112 						  DBusError *error,
113 						  void *user_data);
114 
115 dbus_bool_t wpas_dbus_getter_p2p_peer_primary_device_type(
116 	DBusMessageIter *iter, DBusError *error, void *user_data);
117 
118 dbus_bool_t wpas_dbus_getter_p2p_peer_config_method(DBusMessageIter *iter,
119 						    DBusError *error,
120 						    void *user_data);
121 
122 dbus_bool_t wpas_dbus_getter_p2p_peer_level(DBusMessageIter *iter,
123 					    DBusError *error,
124 					    void *user_data);
125 
126 dbus_bool_t wpas_dbus_getter_p2p_peer_device_capability(DBusMessageIter *iter,
127 							DBusError *error,
128 							void *user_data);
129 
130 dbus_bool_t wpas_dbus_getter_p2p_peer_group_capability(DBusMessageIter *iter,
131 						       DBusError *error,
132 						       void *user_data);
133 
134 dbus_bool_t wpas_dbus_getter_p2p_peer_secondary_device_types(
135 	DBusMessageIter *iter, DBusError *error, void *user_data);
136 
137 dbus_bool_t wpas_dbus_getter_p2p_peer_vendor_extension(DBusMessageIter *iter,
138 						       DBusError *error,
139 						       void *user_data);
140 
141 dbus_bool_t wpas_dbus_getter_p2p_peer_ies(DBusMessageIter *iter,
142 					  DBusError *error,
143 					  void *user_data);
144 
145 dbus_bool_t wpas_dbus_getter_p2p_peer_device_address(DBusMessageIter *iter,
146 						     DBusError *error,
147 						     void *user_data);
148 
149 dbus_bool_t wpas_dbus_getter_p2p_peer_groups(DBusMessageIter *iter,
150 					     DBusError *error,
151 					     void *user_data);
152 
153 /*
154  * P2P Group properties
155  */
156 
157 dbus_bool_t wpas_dbus_getter_p2p_group_members(DBusMessageIter *iter,
158 					       DBusError *error,
159 					       void *user_data);
160 
161 dbus_bool_t wpas_dbus_getter_p2p_group_ssid(DBusMessageIter *iter,
162 					    DBusError *error,
163 					    void *user_data);
164 
165 dbus_bool_t wpas_dbus_getter_p2p_group_bssid(DBusMessageIter *iter,
166 					     DBusError *error,
167 					     void *user_data);
168 
169 dbus_bool_t wpas_dbus_getter_p2p_group_frequency(DBusMessageIter *iter,
170 						 DBusError *error,
171 						 void *user_data);
172 
173 dbus_bool_t wpas_dbus_getter_p2p_group_passphrase(DBusMessageIter *iter,
174 						  DBusError *error,
175 						  void *user_data);
176 
177 dbus_bool_t wpas_dbus_getter_p2p_group_psk(DBusMessageIter *iter,
178 					   DBusError *error,
179 					   void *user_data);
180 
181 dbus_bool_t wpas_dbus_getter_p2p_group_vendor_ext(DBusMessageIter *iter,
182 						  DBusError *error,
183 						  void *user_data);
184 
185 dbus_bool_t wpas_dbus_setter_p2p_group_vendor_ext(DBusMessageIter *iter,
186 						  DBusError *error,
187 						  void *user_data);
188 
189 /*
190  * P2P Persistent Groups and properties
191  */
192 
193 dbus_bool_t wpas_dbus_getter_persistent_groups(DBusMessageIter *iter,
194 					       DBusError *error,
195 					       void *user_data);
196 
197 dbus_bool_t wpas_dbus_getter_persistent_group_properties(DBusMessageIter *iter,
198 	DBusError *error, void *user_data);
199 
200 dbus_bool_t wpas_dbus_setter_persistent_group_properties(DBusMessageIter *iter,
201 							 DBusError *error,
202 							 void *user_data);
203 
204 DBusMessage * wpas_dbus_handler_add_persistent_group(
205 	DBusMessage *message, struct wpa_supplicant *wpa_s);
206 
207 DBusMessage * wpas_dbus_handler_remove_persistent_group(
208 	DBusMessage *message, struct wpa_supplicant *wpa_s);
209 
210 DBusMessage * wpas_dbus_handler_remove_all_persistent_groups(
211 	DBusMessage *message, struct wpa_supplicant *wpa_s);
212 
213 #ifdef CONFIG_WIFI_DISPLAY
214 
215 dbus_bool_t wpas_dbus_getter_global_wfd_ies(DBusMessageIter *iter,
216 					    DBusError *error,
217 					    void *user_data);
218 
219 dbus_bool_t wpas_dbus_setter_global_wfd_ies(DBusMessageIter *iter,
220 					    DBusError *error,
221 					    void *user_data);
222 
223 #endif /* CONFIG_WIFI_DISPLAY */
224 
225 #endif /* DBUS_NEW_HANDLERS_P2P_H */
226