aboutsummaryrefslogtreecommitdiffstats
path: root/src/p2p/p2p_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/p2p/p2p_i.h')
-rw-r--r--src/p2p/p2p_i.h31
1 files changed, 22 insertions, 9 deletions
diff --git a/src/p2p/p2p_i.h b/src/p2p/p2p_i.h
index afb891e..0dc33e7 100644
--- a/src/p2p/p2p_i.h
+++ b/src/p2p/p2p_i.h
@@ -18,8 +18,6 @@
#include "utils/list.h"
#include "p2p.h"
-/* TODO: add removal of expired P2P device entries */
-
enum p2p_go_state {
UNKNOWN_GO,
LOCAL_GO,
@@ -69,10 +67,18 @@ struct p2p_device {
size_t oper_ssid_len;
/**
- * req_config_methods - Pending provisioning discovery methods
+ * req_config_methods - Pending provision discovery methods
*/
u16 req_config_methods;
+ /**
+ * wps_prov_info - Stored provisioning WPS config method
+ *
+ * This is used to store pending WPS config method between Provisioning
+ * Discovery and connection to a running group.
+ */
+ u16 wps_prov_info;
+
#define P2P_DEV_PROBE_REQ_ONLY BIT(0)
#define P2P_DEV_REPORTED BIT(1)
#define P2P_DEV_NOT_YET_READY BIT(2)
@@ -89,6 +95,7 @@ struct p2p_device {
#define P2P_DEV_FORCE_FREQ BIT(13)
#define P2P_DEV_PD_FOR_JOIN BIT(14)
#define P2P_DEV_REPORTED_ONCE BIT(15)
+#define P2P_DEV_PREFER_PERSISTENT_RECONN BIT(16)
unsigned int flags;
int status; /* enum p2p_status_code */
@@ -200,6 +207,11 @@ struct p2p_data {
* P2P_INVITE_LISTEN - Listen during Invite
*/
P2P_INVITE_LISTEN,
+
+ /**
+ * P2P_SEARCH_WHEN_READY - Waiting to start Search
+ */
+ P2P_SEARCH_WHEN_READY,
} state;
/**
@@ -273,6 +285,11 @@ struct p2p_data {
size_t ssid_len;
/**
+ * ssid_set - Whether SSID is already set for GO Negotiation
+ */
+ int ssid_set;
+
+ /**
* Regulatory class for own operational channel
*/
u8 op_reg_class;
@@ -349,6 +366,7 @@ struct p2p_data {
int inv_persistent;
enum p2p_discovery_type find_type;
+ unsigned int last_p2p_find_timeout;
u8 last_prog_scan_class;
u8 last_prog_scan_chan;
int p2p_scan_running;
@@ -532,11 +550,6 @@ struct p2p_noa_desc {
/* p2p_group.c */
const u8 * p2p_group_get_interface_addr(struct p2p_group *group);
-
-#ifdef ANDROID_BRCM_P2P_PATCH
-void p2p_get_group_noa(struct p2p_group *group, u8 *noa, size_t* noa_len);
-#endif
-
u8 p2p_group_presence_req(struct p2p_group *group,
const u8 *client_interface_addr,
const u8 *noa, size_t noa_len);
@@ -606,7 +619,7 @@ void p2p_process_prov_disc_req(struct p2p_data *p2p, const u8 *sa,
void p2p_process_prov_disc_resp(struct p2p_data *p2p, const u8 *sa,
const u8 *data, size_t len);
int p2p_send_prov_disc_req(struct p2p_data *p2p, struct p2p_device *dev,
- int join);
+ int join, int force_freq);
void p2p_reset_pending_pd(struct p2p_data *p2p);
/* p2p_invitation.c */