P2P: Send AP mode WPS-FAIL event to parent interface
[libeap.git] / src / ap / hostapd.h
index 281eade..a4ae8dc 100644 (file)
@@ -27,6 +27,8 @@ struct sta_info;
 struct hostap_sta_driver_data;
 struct ieee80211_ht_capabilities;
 struct full_dynamic_vlan;
+enum wps_event;
+union wps_event_data;
 
 struct hostapd_probereq_cb {
        int (*cb)(void *ctx, const u8 *sa, const u8 *ie, size_t ie_len);
@@ -162,19 +164,47 @@ struct hostapd_data {
        struct l2_packet_data *l2;
        struct wps_context *wps;
 
-#ifdef CONFIG_WPS
        struct wpabuf *wps_beacon_ie;
        struct wpabuf *wps_probe_resp_ie;
+#ifdef CONFIG_WPS
        unsigned int ap_pin_failures;
        struct upnp_wps_device_sm *wps_upnp;
+       unsigned int ap_pin_lockout_time;
 #endif /* CONFIG_WPS */
 
        struct hostapd_probereq_cb *probereq_cb;
        size_t num_probereq_cb;
 
+       void (*public_action_cb)(void *ctx, const u8 *buf, size_t len,
+                                int freq);
+       void *public_action_cb_ctx;
+
+       int (*vendor_action_cb)(void *ctx, const u8 *buf, size_t len,
+                               int freq);
+       void *vendor_action_cb_ctx;
+
        void (*wps_reg_success_cb)(void *ctx, const u8 *mac_addr,
                                   const u8 *uuid_e);
        void *wps_reg_success_cb_ctx;
+
+       void (*wps_event_cb)(void *ctx, enum wps_event event,
+                            union wps_event_data *data);
+       void *wps_event_cb_ctx;
+
+#ifdef CONFIG_P2P
+       struct p2p_data *p2p;
+       struct p2p_group *p2p_group;
+       struct wpabuf *p2p_beacon_ie;
+       struct wpabuf *p2p_probe_resp_ie;
+
+       /* Number of non-P2P association stations */
+       int num_sta_no_p2p;
+
+       /* Periodic NoA (used only when no non-P2P clients in the group) */
+       int noa_enabled;
+       int noa_start;
+       int noa_duration;
+#endif /* CONFIG_P2P */
 };
 
 
@@ -204,6 +234,7 @@ struct hostapd_iface {
         * current_mode->channels */
        int num_rates;
        struct hostapd_rate_data *current_rates;
+       int freq;
 
        u16 hw_flags;