1214501Srpaulo/* 2214501Srpaulo * hostapd / WPS integration 3252726Srpaulo * Copyright (c) 2008-2012, Jouni Malinen <j@w1.fi> 4214501Srpaulo * 5252726Srpaulo * This software may be distributed under the terms of the BSD license. 6252726Srpaulo * See README for more details. 7214501Srpaulo */ 8214501Srpaulo 9214501Srpaulo#ifndef WPS_HOSTAPD_H 10214501Srpaulo#define WPS_HOSTAPD_H 11214501Srpaulo 12214501Srpaulo#ifdef CONFIG_WPS 13214501Srpaulo 14214501Srpauloint hostapd_init_wps(struct hostapd_data *hapd, 15214501Srpaulo struct hostapd_bss_config *conf); 16252726Srpauloint hostapd_init_wps_complete(struct hostapd_data *hapd); 17214501Srpaulovoid hostapd_deinit_wps(struct hostapd_data *hapd); 18214501Srpaulovoid hostapd_update_wps(struct hostapd_data *hapd); 19252726Srpauloint hostapd_wps_add_pin(struct hostapd_data *hapd, const u8 *addr, 20252726Srpaulo const char *uuid, const char *pin, int timeout); 21252726Srpauloint hostapd_wps_button_pushed(struct hostapd_data *hapd, 22252726Srpaulo const u8 *p2p_dev_addr); 23252726Srpauloint hostapd_wps_cancel(struct hostapd_data *hapd); 24214501Srpauloint hostapd_wps_get_mib_sta(struct hostapd_data *hapd, const u8 *addr, 25214501Srpaulo char *buf, size_t buflen); 26214501Srpaulovoid hostapd_wps_ap_pin_disable(struct hostapd_data *hapd); 27214501Srpauloconst char * hostapd_wps_ap_pin_random(struct hostapd_data *hapd, int timeout); 28214501Srpauloconst char * hostapd_wps_ap_pin_get(struct hostapd_data *hapd); 29214501Srpauloint hostapd_wps_ap_pin_set(struct hostapd_data *hapd, const char *pin, 30214501Srpaulo int timeout); 31252726Srpaulovoid hostapd_wps_update_ie(struct hostapd_data *hapd); 32252726Srpauloint hostapd_wps_config_ap(struct hostapd_data *hapd, const char *ssid, 33252726Srpaulo const char *auth, const char *encr, const char *key); 34252726Srpauloint hostapd_wps_nfc_tag_read(struct hostapd_data *hapd, 35252726Srpaulo const struct wpabuf *data); 36252726Srpaulostruct wpabuf * hostapd_wps_nfc_config_token(struct hostapd_data *hapd, 37252726Srpaulo int ndef); 38252726Srpaulostruct wpabuf * hostapd_wps_nfc_token_gen(struct hostapd_data *hapd, int ndef); 39252726Srpauloint hostapd_wps_nfc_token_enable(struct hostapd_data *hapd); 40252726Srpaulovoid hostapd_wps_nfc_token_disable(struct hostapd_data *hapd); 41214501Srpaulo 42214501Srpaulo#else /* CONFIG_WPS */ 43214501Srpaulo 44214501Srpaulostatic inline int hostapd_init_wps(struct hostapd_data *hapd, 45214501Srpaulo struct hostapd_bss_config *conf) 46214501Srpaulo{ 47214501Srpaulo return 0; 48214501Srpaulo} 49214501Srpaulo 50214501Srpaulostatic inline void hostapd_deinit_wps(struct hostapd_data *hapd) 51214501Srpaulo{ 52214501Srpaulo} 53214501Srpaulo 54252726Srpaulostatic inline int hostapd_init_wps_complete(struct hostapd_data *hapd) 55252726Srpaulo{ 56252726Srpaulo return 0; 57252726Srpaulo} 58252726Srpaulo 59214501Srpaulostatic inline void hostapd_update_wps(struct hostapd_data *hapd) 60214501Srpaulo{ 61214501Srpaulo} 62214501Srpaulo 63214501Srpaulostatic inline int hostapd_wps_get_mib_sta(struct hostapd_data *hapd, 64214501Srpaulo const u8 *addr, 65214501Srpaulo char *buf, size_t buflen) 66214501Srpaulo{ 67214501Srpaulo return 0; 68214501Srpaulo} 69214501Srpaulo 70252726Srpaulostatic inline int hostapd_wps_button_pushed(struct hostapd_data *hapd, 71252726Srpaulo const u8 *p2p_dev_addr) 72214501Srpaulo{ 73214501Srpaulo return 0; 74214501Srpaulo} 75214501Srpaulo 76252726Srpaulostatic inline int hostapd_wps_cancel(struct hostapd_data *hapd) 77252726Srpaulo{ 78252726Srpaulo return 0; 79252726Srpaulo} 80252726Srpaulo 81214501Srpaulo#endif /* CONFIG_WPS */ 82214501Srpaulo 83214501Srpaulo#endif /* WPS_HOSTAPD_H */ 84