P2P: Add Device Password ID to GO Neg Request RX event
[mech_eap.git] / src / p2p / p2p.h
index e108172..a5e7ac1 100644 (file)
@@ -398,6 +398,7 @@ struct p2p_config {
         * go_neg_req_rx - Notification of a receive GO Negotiation Request
         * @ctx: Callback context from cb_ctx
         * @src: Source address of the message triggering this notification
+        * @dev_passwd_id: WPS Device Password ID
         *
         * This callback is used to notify that a P2P Device is requesting
         * group owner negotiation with us, but we do not have all the
@@ -406,7 +407,7 @@ struct p2p_config {
         * PIN or PBC button press. This information can be provided with a
         * call to p2p_connect().
         */
-       void (*go_neg_req_rx)(void *ctx, const u8 *src);
+       void (*go_neg_req_rx)(void *ctx, const u8 *src, u16 dev_passwd_id);
 
        /**
         * go_neg_completed - Notification of GO Negotiation results
@@ -1171,6 +1172,13 @@ int p2p_go_params(struct p2p_data *p2p, struct p2p_go_neg_results *params);
 u8 p2p_get_group_capab(const struct wpabuf *p2p_ie);
 
 /**
+ * p2p_get_cross_connect_disallowed - Does WLAN AP disallows cross connection
+ * @p2p_ie: P2P IE(s) contents
+ * Returns: 0 if cross connection is allow, 1 if not
+ */
+int p2p_get_cross_connect_disallowed(const struct wpabuf *p2p_ie);
+
+/**
  * p2p_get_go_dev_addr - Get P2P Device Address from P2P IE data
  * @p2p_ie: P2P IE(s) contents
  * Returns: Pointer to P2P Device Address or %NULL if not included
@@ -1213,7 +1221,16 @@ int p2p_set_ssid_postfix(struct p2p_data *p2p, const u8 *postfix, size_t len);
 
 int p2p_get_interface_addr(struct p2p_data *p2p, const u8 *dev_addr,
                           u8 *iface_addr);
+int p2p_get_dev_addr(struct p2p_data *p2p, const u8 *iface_addr,
+                          u8 *dev_addr);
 
 void p2p_set_peer_filter(struct p2p_data *p2p, const u8 *addr);
 
+/**
+ * p2p_set_cross_connect - Set cross connection capability
+ * @p2p: P2P module context from p2p_init()
+ * @enabled: Whether cross connection will be enabled
+ */
+void p2p_set_cross_connect(struct p2p_data *p2p, int enabled);
+
 #endif /* P2P_H */