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 DECLARE_ACCESSOR(wpas_dbus_setter_p2p_device_config);
93 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_device_config);
94 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peers);
95 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_role);
96 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_group);
97 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peergo);
98 
99 /*
100  * P2P Peer properties.
101  */
102 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_device_name);
103 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_manufacturer);
104 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_modelname);
105 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_modelnumber);
106 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_serialnumber);
107 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_primary_device_type);
108 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_config_method);
109 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_level);
110 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_device_capability);
111 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_group_capability);
112 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_secondary_device_types);
113 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_vendor_extension);
114 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_ies);
115 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_device_address);
116 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_groups);
117 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_peer_vsie);
118 
119 /*
120  * P2P Group properties
121  */
122 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_members);
123 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_ssid);
124 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_bssid);
125 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_frequency);
126 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_passphrase);
127 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_psk);
128 DECLARE_ACCESSOR(wpas_dbus_getter_p2p_group_vendor_ext);
129 DECLARE_ACCESSOR(wpas_dbus_setter_p2p_group_vendor_ext);
130 
131 /*
132  * P2P Persistent Groups and properties
133  */
134 DECLARE_ACCESSOR(wpas_dbus_getter_persistent_groups);
135 DECLARE_ACCESSOR(wpas_dbus_getter_persistent_group_properties);
136 DECLARE_ACCESSOR(wpas_dbus_setter_persistent_group_properties);
137 
138 DBusMessage * wpas_dbus_handler_add_persistent_group(
139 	DBusMessage *message, struct wpa_supplicant *wpa_s);
140 
141 DBusMessage * wpas_dbus_handler_remove_persistent_group(
142 	DBusMessage *message, struct wpa_supplicant *wpa_s);
143 
144 DBusMessage * wpas_dbus_handler_remove_all_persistent_groups(
145 	DBusMessage *message, struct wpa_supplicant *wpa_s);
146 
147 #ifdef CONFIG_WIFI_DISPLAY
148 DECLARE_ACCESSOR(wpas_dbus_getter_global_wfd_ies);
149 DECLARE_ACCESSOR(wpas_dbus_setter_global_wfd_ies);
150 #endif /* CONFIG_WIFI_DISPLAY */
151 
152 #endif /* DBUS_NEW_HANDLERS_P2P_H */
153