1252190Srpaulo/*
2252190Srpaulo * WPA Supplicant / dbus-based control interface for p2p
3252190Srpaulo * Copyright (c) 2011-2012, Intel Corporation
4252190Srpaulo *
5252190Srpaulo * This software may be distributed under the terms of the BSD license.
6252190Srpaulo * See README for more details.
7252190Srpaulo */
8252190Srpaulo
9252190Srpaulo#ifndef DBUS_NEW_HANDLERS_P2P_H
10252190Srpaulo#define DBUS_NEW_HANDLERS_P2P_H
11252190Srpaulo
12252190Srpaulostruct peer_handler_args {
13252190Srpaulo	struct wpa_supplicant *wpa_s;
14252190Srpaulo	u8 p2p_device_addr[ETH_ALEN];
15252190Srpaulo};
16252190Srpaulo
17252190Srpaulostruct groupmember_handler_args {
18252190Srpaulo	struct wpa_supplicant *wpa_s;
19252190Srpaulo	u8 member_addr[ETH_ALEN];
20252190Srpaulo};
21252190Srpaulo
22252190Srpaulo/*
23252190Srpaulo * P2P Device methods
24252190Srpaulo */
25252190Srpaulo
26252190SrpauloDBusMessage *wpas_dbus_handler_p2p_find(
27252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
28252190Srpaulo
29252190SrpauloDBusMessage *wpas_dbus_handler_p2p_stop_find(
30252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
31252190Srpaulo
32252190SrpauloDBusMessage *wpas_dbus_handler_p2p_rejectpeer(
33252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
34252190Srpaulo
35252190SrpauloDBusMessage *wpas_dbus_handler_p2p_listen(
36252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
37252190Srpaulo
38252190SrpauloDBusMessage *wpas_dbus_handler_p2p_extendedlisten(
39252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
40252190Srpaulo
41252190SrpauloDBusMessage *wpas_dbus_handler_p2p_presence_request(
42252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
43252190Srpaulo
44252190SrpauloDBusMessage *wpas_dbus_handler_p2p_prov_disc_req(
45252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
46252190Srpaulo
47252190SrpauloDBusMessage *wpas_dbus_handler_p2p_group_add(
48252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
49252190Srpaulo
50252190SrpauloDBusMessage *wpas_dbus_handler_p2p_connect(
51252190Srpaulo		DBusMessage *message,
52252190Srpaulo		struct wpa_supplicant *wpa_s);
53252190Srpaulo
54252190SrpauloDBusMessage *wpas_dbus_handler_p2p_invite(
55252190Srpaulo		DBusMessage *message,
56252190Srpaulo		struct wpa_supplicant *wpa_s);
57252190Srpaulo
58252190SrpauloDBusMessage *wpas_dbus_handler_p2p_disconnect(
59252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
60252190Srpaulo
61252190SrpauloDBusMessage *wpas_dbus_handler_p2p_flush(
62252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
63252190Srpaulo
64252190SrpauloDBusMessage *wpas_dbus_handler_p2p_add_service(
65252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
66252190Srpaulo
67252190SrpauloDBusMessage *wpas_dbus_handler_p2p_delete_service(
68252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
69252190Srpaulo
70252190SrpauloDBusMessage *wpas_dbus_handler_p2p_flush_service(
71252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
72252190Srpaulo
73252190SrpauloDBusMessage *wpas_dbus_handler_p2p_service_sd_req(
74252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
75252190Srpaulo
76252190SrpauloDBusMessage *wpas_dbus_handler_p2p_service_sd_res(
77252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
78252190Srpaulo
79252190SrpauloDBusMessage *wpas_dbus_handler_p2p_service_sd_cancel_req(
80252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
81252190Srpaulo
82252190SrpauloDBusMessage *wpas_dbus_handler_p2p_service_update(
83252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
84252190Srpaulo
85252190SrpauloDBusMessage *wpas_dbus_handler_p2p_serv_disc_external(
86252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
87252190Srpaulo
88252190Srpaulo/*
89252190Srpaulo * P2P Device property accessor methods.
90252190Srpaulo */
91252190Srpaulodbus_bool_t wpas_dbus_setter_p2p_device_config(DBusMessageIter *iter,
92252190Srpaulo					       DBusError *error,
93252190Srpaulo					       void *user_data);
94252190Srpaulo
95252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_device_config(DBusMessageIter *iter,
96252190Srpaulo					       DBusError *error,
97252190Srpaulo					       void *user_data);
98252190Srpaulo
99252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_peers(DBusMessageIter *iter, DBusError *error,
100252190Srpaulo				       void *user_data);
101252190Srpaulo
102252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_role(DBusMessageIter *iter, DBusError *error,
103252190Srpaulo				      void *user_data);
104252190Srpaulo
105252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_group(DBusMessageIter *iter, DBusError *error,
106252190Srpaulo				       void *user_data);
107252190Srpaulo
108252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_peergo(DBusMessageIter *iter,
109252190Srpaulo					DBusError *error,
110252190Srpaulo					void *user_data);
111252190Srpaulo
112252190Srpaulo/*
113252190Srpaulo * P2P Peer properties.
114252190Srpaulo */
115252190Srpaulo
116252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_peer_device_name(DBusMessageIter *iter,
117252190Srpaulo                                                  DBusError *error,
118252190Srpaulo                                                  void *user_data);
119252190Srpaulo
120252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_peer_primary_device_type(
121252190Srpaulo	DBusMessageIter *iter, DBusError *error, void *user_data);
122252190Srpaulo
123252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_peer_config_method(DBusMessageIter *iter,
124252190Srpaulo                                                    DBusError *error,
125252190Srpaulo                                                    void *user_data);
126252190Srpaulo
127252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_peer_level(DBusMessageIter *iter,
128252190Srpaulo                                            DBusError *error,
129252190Srpaulo                                            void *user_data);
130252190Srpaulo
131252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_peer_device_capability(DBusMessageIter *iter,
132252190Srpaulo                                                        DBusError *error,
133252190Srpaulo                                                        void *user_data);
134252190Srpaulo
135252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_peer_group_capability(DBusMessageIter *iter,
136252190Srpaulo                                                       DBusError *error,
137252190Srpaulo                                                       void *user_data);
138252190Srpaulo
139252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_peer_secondary_device_types(
140252190Srpaulo	DBusMessageIter *iter, DBusError *error, void *user_data);
141252190Srpaulo
142252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_peer_vendor_extension(DBusMessageIter *iter,
143252190Srpaulo                                                       DBusError *error,
144252190Srpaulo                                                       void *user_data);
145252190Srpaulo
146252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_peer_ies(DBusMessageIter *iter,
147252190Srpaulo					  DBusError *error,
148252190Srpaulo					  void *user_data);
149252190Srpaulo
150252190Srpaulo/*
151252190Srpaulo * P2P Group properties
152252190Srpaulo */
153252190Srpaulo
154252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_group_members(DBusMessageIter *iter,
155252190Srpaulo					       DBusError *error,
156252190Srpaulo					       void *user_data);
157252190Srpaulo
158252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_group_ssid(DBusMessageIter *iter,
159252190Srpaulo					    DBusError *error,
160252190Srpaulo					    void *user_data);
161252190Srpaulo
162252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_group_bssid(DBusMessageIter *iter,
163252190Srpaulo					     DBusError *error,
164252190Srpaulo					     void *user_data);
165252190Srpaulo
166252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_group_frequency(DBusMessageIter *iter,
167252190Srpaulo						 DBusError *error,
168252190Srpaulo						 void *user_data);
169252190Srpaulo
170252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_group_passphrase(DBusMessageIter *iter,
171252190Srpaulo						  DBusError *error,
172252190Srpaulo						  void *user_data);
173252190Srpaulo
174252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_group_psk(DBusMessageIter *iter,
175252190Srpaulo					   DBusError *error,
176252190Srpaulo					   void *user_data);
177252190Srpaulo
178252190Srpaulodbus_bool_t wpas_dbus_getter_p2p_group_vendor_ext(DBusMessageIter *iter,
179252190Srpaulo						  DBusError *error,
180252190Srpaulo						  void *user_data);
181252190Srpaulo
182252190Srpaulodbus_bool_t wpas_dbus_setter_p2p_group_vendor_ext(DBusMessageIter *iter,
183252190Srpaulo						  DBusError *error,
184252190Srpaulo						  void *user_data);
185252190Srpaulo
186252190Srpaulo/*
187252190Srpaulo * P2P Persistent Groups and properties
188252190Srpaulo */
189252190Srpaulo
190252190Srpaulodbus_bool_t wpas_dbus_getter_persistent_groups(DBusMessageIter *iter,
191252190Srpaulo					       DBusError *error,
192252190Srpaulo					       void *user_data);
193252190Srpaulo
194252190Srpaulodbus_bool_t wpas_dbus_getter_persistent_group_properties(DBusMessageIter *iter,
195252190Srpaulo	DBusError *error, void *user_data);
196252190Srpaulo
197252190Srpaulodbus_bool_t wpas_dbus_setter_persistent_group_properties(DBusMessageIter *iter,
198252190Srpaulo							 DBusError *error,
199252190Srpaulo							 void *user_data);
200252190Srpaulo
201252190SrpauloDBusMessage * wpas_dbus_handler_add_persistent_group(
202252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
203252190Srpaulo
204252190SrpauloDBusMessage * wpas_dbus_handler_remove_persistent_group(
205252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
206252190Srpaulo
207252190SrpauloDBusMessage * wpas_dbus_handler_remove_all_persistent_groups(
208252190Srpaulo	DBusMessage *message, struct wpa_supplicant *wpa_s);
209252190Srpaulo
210252190Srpaulo
211252190Srpaulo#endif /* DBUS_NEW_HANDLERS_P2P_H */
212