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_cancel(DBusMessage *message,
50 					   struct wpa_supplicant *wpa_s);
51 
52 DBusMessage *wpas_dbus_handler_p2p_invite(
53 		DBusMessage *message,
54 		struct wpa_supplicant *wpa_s);
55 
56 DBusMessage *wpas_dbus_handler_p2p_disconnect(
57 	DBusMessage *message, struct wpa_supplicant *wpa_s);
58 
59 DBusMessage * wpas_dbus_handler_p2p_remove_client(
60 	DBusMessage *message, struct wpa_supplicant *wpa_s);
61 
62 DBusMessage *wpas_dbus_handler_p2p_flush(
63 	DBusMessage *message, struct wpa_supplicant *wpa_s);
64 
65 DBusMessage *wpas_dbus_handler_p2p_add_service(
66 	DBusMessage *message, struct wpa_supplicant *wpa_s);
67 
68 DBusMessage *wpas_dbus_handler_p2p_delete_service(
69 	DBusMessage *message, struct wpa_supplicant *wpa_s);
70 
71 DBusMessage *wpas_dbus_handler_p2p_flush_service(
72 	DBusMessage *message, struct wpa_supplicant *wpa_s);
73 
74 DBusMessage *wpas_dbus_handler_p2p_service_sd_req(
75 	DBusMessage *message, struct wpa_supplicant *wpa_s);
76 
77 DBusMessage *wpas_dbus_handler_p2p_service_sd_res(
78 	DBusMessage *message, struct wpa_supplicant *wpa_s);
79 
80 DBusMessage *wpas_dbus_handler_p2p_service_sd_cancel_req(
81 	DBusMessage *message, struct wpa_supplicant *wpa_s);
82 
83 DBusMessage *wpas_dbus_handler_p2p_service_update(
84 	DBusMessage *message, struct wpa_supplicant *wpa_s);
85 
86 DBusMessage *wpas_dbus_handler_p2p_serv_disc_external(
87 	DBusMessage *message, struct wpa_supplicant *wpa_s);
88 
89 /*
90  * P2P Device property accessor methods.
91  */
92 dbus_bool_t wpas_dbus_setter_p2p_device_config(DBusMessageIter *iter,
93 					       DBusError *error,
94 					       void *user_data);
95 
96 dbus_bool_t wpas_dbus_getter_p2p_device_config(DBusMessageIter *iter,
97 					       DBusError *error,
98 					       void *user_data);
99 
100 dbus_bool_t wpas_dbus_getter_p2p_peers(DBusMessageIter *iter, DBusError *error,
101 				       void *user_data);
102 
103 dbus_bool_t wpas_dbus_getter_p2p_role(DBusMessageIter *iter, DBusError *error,
104 				      void *user_data);
105 
106 dbus_bool_t wpas_dbus_getter_p2p_group(DBusMessageIter *iter, DBusError *error,
107 				       void *user_data);
108 
109 dbus_bool_t wpas_dbus_getter_p2p_peergo(DBusMessageIter *iter,
110 					DBusError *error,
111 					void *user_data);
112 
113 /*
114  * P2P Peer properties.
115  */
116 
117 dbus_bool_t wpas_dbus_getter_p2p_peer_device_name(DBusMessageIter *iter,
118 						  DBusError *error,
119 						  void *user_data);
120 
121 dbus_bool_t wpas_dbus_getter_p2p_peer_manufacturer(DBusMessageIter *iter,
122 						   DBusError *error,
123 						   void *user_data);
124 
125 dbus_bool_t wpas_dbus_getter_p2p_peer_modelname(DBusMessageIter *iter,
126 						DBusError *error,
127 						void *user_data);
128 
129 dbus_bool_t wpas_dbus_getter_p2p_peer_modelnumber(DBusMessageIter *iter,
130 						  DBusError *error,
131 						  void *user_data);
132 
133 dbus_bool_t wpas_dbus_getter_p2p_peer_serialnumber(DBusMessageIter *iter,
134 						   DBusError *error,
135 						   void *user_data);
136 
137 dbus_bool_t wpas_dbus_getter_p2p_peer_primary_device_type(
138 	DBusMessageIter *iter, DBusError *error, void *user_data);
139 
140 dbus_bool_t wpas_dbus_getter_p2p_peer_config_method(DBusMessageIter *iter,
141 						    DBusError *error,
142 						    void *user_data);
143 
144 dbus_bool_t wpas_dbus_getter_p2p_peer_level(DBusMessageIter *iter,
145 					    DBusError *error,
146 					    void *user_data);
147 
148 dbus_bool_t wpas_dbus_getter_p2p_peer_device_capability(DBusMessageIter *iter,
149 							DBusError *error,
150 							void *user_data);
151 
152 dbus_bool_t wpas_dbus_getter_p2p_peer_group_capability(DBusMessageIter *iter,
153 						       DBusError *error,
154 						       void *user_data);
155 
156 dbus_bool_t wpas_dbus_getter_p2p_peer_secondary_device_types(
157 	DBusMessageIter *iter, DBusError *error, void *user_data);
158 
159 dbus_bool_t wpas_dbus_getter_p2p_peer_vendor_extension(DBusMessageIter *iter,
160 						       DBusError *error,
161 						       void *user_data);
162 
163 dbus_bool_t wpas_dbus_getter_p2p_peer_ies(DBusMessageIter *iter,
164 					  DBusError *error,
165 					  void *user_data);
166 
167 dbus_bool_t wpas_dbus_getter_p2p_peer_device_address(DBusMessageIter *iter,
168 						     DBusError *error,
169 						     void *user_data);
170 
171 dbus_bool_t wpas_dbus_getter_p2p_peer_groups(DBusMessageIter *iter,
172 					     DBusError *error,
173 					     void *user_data);
174 
175 /*
176  * P2P Group properties
177  */
178 
179 dbus_bool_t wpas_dbus_getter_p2p_group_members(DBusMessageIter *iter,
180 					       DBusError *error,
181 					       void *user_data);
182 
183 dbus_bool_t wpas_dbus_getter_p2p_group_ssid(DBusMessageIter *iter,
184 					    DBusError *error,
185 					    void *user_data);
186 
187 dbus_bool_t wpas_dbus_getter_p2p_group_bssid(DBusMessageIter *iter,
188 					     DBusError *error,
189 					     void *user_data);
190 
191 dbus_bool_t wpas_dbus_getter_p2p_group_frequency(DBusMessageIter *iter,
192 						 DBusError *error,
193 						 void *user_data);
194 
195 dbus_bool_t wpas_dbus_getter_p2p_group_passphrase(DBusMessageIter *iter,
196 						  DBusError *error,
197 						  void *user_data);
198 
199 dbus_bool_t wpas_dbus_getter_p2p_group_psk(DBusMessageIter *iter,
200 					   DBusError *error,
201 					   void *user_data);
202 
203 dbus_bool_t wpas_dbus_getter_p2p_group_vendor_ext(DBusMessageIter *iter,
204 						  DBusError *error,
205 						  void *user_data);
206 
207 dbus_bool_t wpas_dbus_setter_p2p_group_vendor_ext(DBusMessageIter *iter,
208 						  DBusError *error,
209 						  void *user_data);
210 
211 /*
212  * P2P Persistent Groups and properties
213  */
214 
215 dbus_bool_t wpas_dbus_getter_persistent_groups(DBusMessageIter *iter,
216 					       DBusError *error,
217 					       void *user_data);
218 
219 dbus_bool_t wpas_dbus_getter_persistent_group_properties(DBusMessageIter *iter,
220 	DBusError *error, void *user_data);
221 
222 dbus_bool_t wpas_dbus_setter_persistent_group_properties(DBusMessageIter *iter,
223 							 DBusError *error,
224 							 void *user_data);
225 
226 DBusMessage * wpas_dbus_handler_add_persistent_group(
227 	DBusMessage *message, struct wpa_supplicant *wpa_s);
228 
229 DBusMessage * wpas_dbus_handler_remove_persistent_group(
230 	DBusMessage *message, struct wpa_supplicant *wpa_s);
231 
232 DBusMessage * wpas_dbus_handler_remove_all_persistent_groups(
233 	DBusMessage *message, struct wpa_supplicant *wpa_s);
234 
235 #ifdef CONFIG_WIFI_DISPLAY
236 
237 dbus_bool_t wpas_dbus_getter_global_wfd_ies(DBusMessageIter *iter,
238 					    DBusError *error,
239 					    void *user_data);
240 
241 dbus_bool_t wpas_dbus_setter_global_wfd_ies(DBusMessageIter *iter,
242 					    DBusError *error,
243 					    void *user_data);
244 
245 #endif /* CONFIG_WIFI_DISPLAY */
246 
247 #endif /* DBUS_NEW_HANDLERS_P2P_H */
248