int hostapd_wps_add_pin(struct hostapd_data *hapd, const u8 *addr, const char *uuid, const char *pin, int timeout) { u8 u[UUID_LEN]; struct wps_add_pin_data data; data.addr = addr; data.uuid = u; data.pin = (const u8 *) pin; data.pin_len = os_strlen(pin); data.timeout = timeout; data.added = 0; if (os_strcmp(uuid, "any") == 0) data.uuid = NULL; else { if (uuid_str2bin(uuid, u)) return -1; data.uuid = u; } if (hostapd_wps_for_each(hapd, wps_add_pin, &data) < 0) return -1; return data.added ? 0 : -1; }
static void hostapd_wps_ap_pin_success(struct hostapd_data *hapd) { hostapd_wps_for_each(hapd, wps_ap_pin_success, NULL); }
static void hostapd_pwd_auth_fail(struct hostapd_data *hapd, struct wps_event_pwd_auth_fail *data) { hostapd_wps_for_each(hapd, wps_pwd_auth_fail, data); }
static int hostapd_wps_cred_cb(void *ctx, const struct wps_credential *cred) { struct hostapd_data *hapd = ctx; return hostapd_wps_for_each(hapd, hapd_wps_cred_cb, (void *) cred); }
void hostapd_wps_update_ie(struct hostapd_data *hapd) { hostapd_wps_for_each(hapd, wps_update_ie, NULL); }
void hostapd_wps_ap_pin_disable(struct hostapd_data *hapd) { wpa_printf(MSG_DEBUG, "WPS: Disabling AP PIN"); hostapd_wps_for_each(hapd, wps_ap_pin_disable, NULL); }
int hostapd_wps_cancel(struct hostapd_data *hapd) { return hostapd_wps_for_each(hapd, wps_cancel, NULL); }
int hostapd_wps_button_pushed(struct hostapd_data *hapd, const u8 *p2p_dev_addr) { return hostapd_wps_for_each(hapd, wps_button_pushed, (void *) p2p_dev_addr); }
int hostapd_wps_button_pushed(struct hostapd_data *hapd) { return hostapd_wps_for_each(hapd, wps_button_pushed, NULL); }