* static_wep_only - Whether the BSS supports only static WEP
*/
int static_wep_only;
+
+ /**
+ * dualband - Whether this is a concurrent dualband AP
+ */
+ int dualband;
};
*/
struct wps_event_fail {
int msg;
+ u16 config_error;
} fail;
struct wps_event_pwd_auth_fail {
const u8 *uuid, const u8 *pin, size_t pin_len,
int timeout);
int wps_registrar_invalidate_pin(struct wps_registrar *reg, const u8 *uuid);
+int wps_registrar_wps_cancel(struct wps_registrar *reg);
int wps_registrar_unlock_pin(struct wps_registrar *reg, const u8 *uuid);
int wps_registrar_button_pushed(struct wps_registrar *reg);
void wps_registrar_probe_req_rx(struct wps_registrar *reg, const u8 *addr,
#ifdef CONFIG_WPS_STRICT
int wps_validate_beacon(const struct wpabuf *wps_ie);
-int wps_validate_beacon_probe_resp(const struct wpabuf *wps_ie, int probe);
-int wps_validate_probe_req(const struct wpabuf *wps_ie);
+int wps_validate_beacon_probe_resp(const struct wpabuf *wps_ie, int probe,
+ const u8 *addr);
+int wps_validate_probe_req(const struct wpabuf *wps_ie, const u8 *addr);
int wps_validate_assoc_req(const struct wpabuf *wps_ie);
int wps_validate_assoc_resp(const struct wpabuf *wps_ie);
int wps_validate_m1(const struct wpabuf *tlvs);
int wps_validate_m2d(const struct wpabuf *tlvs);
int wps_validate_m3(const struct wpabuf *tlvs);
int wps_validate_m4(const struct wpabuf *tlvs);
-int wps_validate_m4_encr(const struct wpabuf *tlvs);
+int wps_validate_m4_encr(const struct wpabuf *tlvs, int wps2);
int wps_validate_m5(const struct wpabuf *tlvs);
-int wps_validate_m5_encr(const struct wpabuf *tlvs);
+int wps_validate_m5_encr(const struct wpabuf *tlvs, int wps2);
int wps_validate_m6(const struct wpabuf *tlvs);
-int wps_validate_m6_encr(const struct wpabuf *tlvs);
+int wps_validate_m6_encr(const struct wpabuf *tlvs, int wps2);
int wps_validate_m7(const struct wpabuf *tlvs);
-int wps_validate_m7_encr(const struct wpabuf *tlvs, int ap);
+int wps_validate_m7_encr(const struct wpabuf *tlvs, int ap, int wps2);
int wps_validate_m8(const struct wpabuf *tlvs);
-int wps_validate_m8_encr(const struct wpabuf *tlvs, int ap);
+int wps_validate_m8_encr(const struct wpabuf *tlvs, int ap, int wps2);
int wps_validate_wsc_ack(const struct wpabuf *tlvs);
int wps_validate_wsc_nack(const struct wpabuf *tlvs);
int wps_validate_wsc_done(const struct wpabuf *tlvs);
}
static inline int wps_validate_beacon_probe_resp(const struct wpabuf *wps_ie,
- int probe)
+ int probe, const u8 *addr)
{
return 0;
}
-static inline int wps_validate_probe_req(const struct wpabuf *wps_ie)
+static inline int wps_validate_probe_req(const struct wpabuf *wps_ie,
+ const u8 *addr)
{
return 0;
}
return 0;
}
-static inline int wps_validate_m4_encr(const struct wpabuf *tlvs)
+static inline int wps_validate_m4_encr(const struct wpabuf *tlvs, int wps2)
{
return 0;
}
return 0;
}
-static inline int wps_validate_m5_encr(const struct wpabuf *tlvs)
+static inline int wps_validate_m5_encr(const struct wpabuf *tlvs, int wps2)
{
return 0;
}
return 0;
}
-static inline int wps_validate_m6_encr(const struct wpabuf *tlvs)
+static inline int wps_validate_m6_encr(const struct wpabuf *tlvs, int wps2)
{
return 0;
}
return 0;
}
-static inline int wps_validate_m7_encr(const struct wpabuf *tlvs, int ap)
+static inline int wps_validate_m7_encr(const struct wpabuf *tlvs, int ap,
+ int wps2)
{
return 0;
}
return 0;
}
-static inline int wps_validate_m8_encr(const struct wpabuf *tlvs, int ap)
+static inline int wps_validate_m8_encr(const struct wpabuf *tlvs, int ap,
+ int wps2)
{
return 0;
}