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 struct groupmember_handler_args {
18 	struct wpa_supplicant *wpa_s;
19 	u8 member_addr[ETH_ALEN];
20 };
21 
22 /*
23  * P2P Device methods
24  */
25 
26 DBusMessage *wpas_dbus_handler_p2p_find(
27 	DBusMessage *message, struct wpa_supplicant *wpa_s);
28 
29 DBusMessage *wpas_dbus_handler_p2p_stop_find(
30 	DBusMessage *message, struct wpa_supplicant *wpa_s);
31 
32 DBusMessage *wpas_dbus_handler_p2p_rejectpeer(
33 	DBusMessage *message, struct wpa_supplicant *wpa_s);
34 
35 DBusMessage *wpas_dbus_handler_p2p_listen(
36 	DBusMessage *message, struct wpa_supplicant *wpa_s);
37 
38 DBusMessage *wpas_dbus_handler_p2p_extendedlisten(
39 	DBusMessage *message, struct wpa_supplicant *wpa_s);
40 
41 DBusMessage *wpas_dbus_handler_p2p_presence_request(
42 	DBusMessage *message, struct wpa_supplicant *wpa_s);
43 
44 DBusMessage *wpas_dbus_handler_p2p_prov_disc_req(
45 	DBusMessage *message, struct wpa_supplicant *wpa_s);
46 
47 DBusMessage *wpas_dbus_handler_p2p_group_add(
48 	DBusMessage *message, struct wpa_supplicant *wpa_s);
49 
50 DBusMessage *wpas_dbus_handler_p2p_connect(
51 		DBusMessage *message,
52 		struct wpa_supplicant *wpa_s);
53 
54 DBusMessage *wpas_dbus_handler_p2p_invite(
55 		DBusMessage *message,
56 		struct wpa_supplicant *wpa_s);
57 
58 DBusMessage *wpas_dbus_handler_p2p_disconnect(
59 	DBusMessage *message, struct wpa_supplicant *wpa_s);
60 
61 DBusMessage *wpas_dbus_handler_p2p_flush(
62 	DBusMessage *message, struct wpa_supplicant *wpa_s);
63 
64 DBusMessage *wpas_dbus_handler_p2p_add_service(
65 	DBusMessage *message, struct wpa_supplicant *wpa_s);
66 
67 DBusMessage *wpas_dbus_handler_p2p_delete_service(
68 	DBusMessage *message, struct wpa_supplicant *wpa_s);
69 
70 DBusMessage *wpas_dbus_handler_p2p_flush_service(
71 	DBusMessage *message, struct wpa_supplicant *wpa_s);
72 
73 DBusMessage *wpas_dbus_handler_p2p_service_sd_req(
74 	DBusMessage *message, struct wpa_supplicant *wpa_s);
75 
76 DBusMessage *wpas_dbus_handler_p2p_service_sd_res(
77 	DBusMessage *message, struct wpa_supplicant *wpa_s);
78 
79 DBusMessage *wpas_dbus_handler_p2p_service_sd_cancel_req(
80 	DBusMessage *message, struct wpa_supplicant *wpa_s);
81 
82 DBusMessage *wpas_dbus_handler_p2p_service_update(
83 	DBusMessage *message, struct wpa_supplicant *wpa_s);
84 
85 DBusMessage *wpas_dbus_handler_p2p_serv_disc_external(
86 	DBusMessage *message, struct wpa_supplicant *wpa_s);
87 
88 /*
89  * P2P Device property accessor methods.
90  */
91 dbus_bool_t wpas_dbus_setter_p2p_device_config(DBusMessageIter *iter,
92 					       DBusError *error,
93 					       void *user_data);
94 
95 dbus_bool_t wpas_dbus_getter_p2p_device_config(DBusMessageIter *iter,
96 					       DBusError *error,
97 					       void *user_data);
98 
99 dbus_bool_t wpas_dbus_getter_p2p_peers(DBusMessageIter *iter, DBusError *error,
100 				       void *user_data);
101 
102 dbus_bool_t wpas_dbus_getter_p2p_role(DBusMessageIter *iter, DBusError *error,
103 				      void *user_data);
104 
105 dbus_bool_t wpas_dbus_getter_p2p_group(DBusMessageIter *iter, DBusError *error,
106 				       void *user_data);
107 
108 dbus_bool_t wpas_dbus_getter_p2p_peergo(DBusMessageIter *iter,
109 					DBusError *error,
110 					void *user_data);
111 
112 /*
113  * P2P Peer properties.
114  */
115 
116 dbus_bool_t wpas_dbus_getter_p2p_peer_device_name(DBusMessageIter *iter,
117                                                   DBusError *error,
118                                                   void *user_data);
119 
120 dbus_bool_t wpas_dbus_getter_p2p_peer_primary_device_type(
121 	DBusMessageIter *iter, DBusError *error, void *user_data);
122 
123 dbus_bool_t wpas_dbus_getter_p2p_peer_config_method(DBusMessageIter *iter,
124                                                     DBusError *error,
125                                                     void *user_data);
126 
127 dbus_bool_t wpas_dbus_getter_p2p_peer_level(DBusMessageIter *iter,
128                                             DBusError *error,
129                                             void *user_data);
130 
131 dbus_bool_t wpas_dbus_getter_p2p_peer_device_capability(DBusMessageIter *iter,
132                                                         DBusError *error,
133                                                         void *user_data);
134 
135 dbus_bool_t wpas_dbus_getter_p2p_peer_group_capability(DBusMessageIter *iter,
136                                                        DBusError *error,
137                                                        void *user_data);
138 
139 dbus_bool_t wpas_dbus_getter_p2p_peer_secondary_device_types(
140 	DBusMessageIter *iter, DBusError *error, void *user_data);
141 
142 dbus_bool_t wpas_dbus_getter_p2p_peer_vendor_extension(DBusMessageIter *iter,
143                                                        DBusError *error,
144                                                        void *user_data);
145 
146 dbus_bool_t wpas_dbus_getter_p2p_peer_ies(DBusMessageIter *iter,
147 					  DBusError *error,
148 					  void *user_data);
149 
150 /*
151  * P2P Group properties
152  */
153 
154 dbus_bool_t wpas_dbus_getter_p2p_group_members(DBusMessageIter *iter,
155 					       DBusError *error,
156 					       void *user_data);
157 
158 dbus_bool_t wpas_dbus_getter_p2p_group_ssid(DBusMessageIter *iter,
159 					    DBusError *error,
160 					    void *user_data);
161 
162 dbus_bool_t wpas_dbus_getter_p2p_group_bssid(DBusMessageIter *iter,
163 					     DBusError *error,
164 					     void *user_data);
165 
166 dbus_bool_t wpas_dbus_getter_p2p_group_frequency(DBusMessageIter *iter,
167 						 DBusError *error,
168 						 void *user_data);
169 
170 dbus_bool_t wpas_dbus_getter_p2p_group_passphrase(DBusMessageIter *iter,
171 						  DBusError *error,
172 						  void *user_data);
173 
174 dbus_bool_t wpas_dbus_getter_p2p_group_psk(DBusMessageIter *iter,
175 					   DBusError *error,
176 					   void *user_data);
177 
178 dbus_bool_t wpas_dbus_getter_p2p_group_vendor_ext(DBusMessageIter *iter,
179 						  DBusError *error,
180 						  void *user_data);
181 
182 dbus_bool_t wpas_dbus_setter_p2p_group_vendor_ext(DBusMessageIter *iter,
183 						  DBusError *error,
184 						  void *user_data);
185 
186 /*
187  * P2P Persistent Groups and properties
188  */
189 
190 dbus_bool_t wpas_dbus_getter_persistent_groups(DBusMessageIter *iter,
191 					       DBusError *error,
192 					       void *user_data);
193 
194 dbus_bool_t wpas_dbus_getter_persistent_group_properties(DBusMessageIter *iter,
195 	DBusError *error, void *user_data);
196 
197 dbus_bool_t wpas_dbus_setter_persistent_group_properties(DBusMessageIter *iter,
198 							 DBusError *error,
199 							 void *user_data);
200 
201 DBusMessage * wpas_dbus_handler_add_persistent_group(
202 	DBusMessage *message, struct wpa_supplicant *wpa_s);
203 
204 DBusMessage * wpas_dbus_handler_remove_persistent_group(
205 	DBusMessage *message, struct wpa_supplicant *wpa_s);
206 
207 DBusMessage * wpas_dbus_handler_remove_all_persistent_groups(
208 	DBusMessage *message, struct wpa_supplicant *wpa_s);
209 
210 
211 #endif /* DBUS_NEW_HANDLERS_P2P_H */
212