1e28a4053SRui Paulo /* 2e28a4053SRui Paulo * WPA Supplicant - Basic AP mode support routines 3e28a4053SRui Paulo * Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi> 4e28a4053SRui Paulo * Copyright (c) 2009, Atheros Communications 5e28a4053SRui Paulo * 6*f05cddf9SRui Paulo * This software may be distributed under the terms of the BSD license. 7*f05cddf9SRui Paulo * See README for more details. 8e28a4053SRui Paulo */ 9e28a4053SRui Paulo 10e28a4053SRui Paulo #ifndef AP_H 11e28a4053SRui Paulo #define AP_H 12e28a4053SRui Paulo 13e28a4053SRui Paulo int wpa_supplicant_create_ap(struct wpa_supplicant *wpa_s, 14e28a4053SRui Paulo struct wpa_ssid *ssid); 15e28a4053SRui Paulo void wpa_supplicant_ap_deinit(struct wpa_supplicant *wpa_s); 16e28a4053SRui Paulo void wpa_supplicant_ap_rx_eapol(struct wpa_supplicant *wpa_s, 17e28a4053SRui Paulo const u8 *src_addr, const u8 *buf, size_t len); 18*f05cddf9SRui Paulo int wpa_supplicant_ap_wps_pbc(struct wpa_supplicant *wpa_s, const u8 *bssid, 19*f05cddf9SRui Paulo const u8 *p2p_dev_addr); 20e28a4053SRui Paulo int wpa_supplicant_ap_wps_pin(struct wpa_supplicant *wpa_s, const u8 *bssid, 21*f05cddf9SRui Paulo const char *pin, char *buf, size_t buflen, 22*f05cddf9SRui Paulo int timeout); 23*f05cddf9SRui Paulo int wpa_supplicant_ap_wps_cancel(struct wpa_supplicant *wpa_s); 24*f05cddf9SRui Paulo void wpas_wps_ap_pin_disable(struct wpa_supplicant *wpa_s); 25*f05cddf9SRui Paulo const char * wpas_wps_ap_pin_random(struct wpa_supplicant *wpa_s, int timeout); 26*f05cddf9SRui Paulo const char * wpas_wps_ap_pin_get(struct wpa_supplicant *wpa_s); 27*f05cddf9SRui Paulo int wpas_wps_ap_pin_set(struct wpa_supplicant *wpa_s, const char *pin, 28*f05cddf9SRui Paulo int timeout); 29e28a4053SRui Paulo int ap_ctrl_iface_sta_first(struct wpa_supplicant *wpa_s, 30e28a4053SRui Paulo char *buf, size_t buflen); 31e28a4053SRui Paulo int ap_ctrl_iface_sta(struct wpa_supplicant *wpa_s, const char *txtaddr, 32e28a4053SRui Paulo char *buf, size_t buflen); 33e28a4053SRui Paulo int ap_ctrl_iface_sta_next(struct wpa_supplicant *wpa_s, const char *txtaddr, 34e28a4053SRui Paulo char *buf, size_t buflen); 35*f05cddf9SRui Paulo int ap_ctrl_iface_sta_deauthenticate(struct wpa_supplicant *wpa_s, 36*f05cddf9SRui Paulo const char *txtaddr); 37*f05cddf9SRui Paulo int ap_ctrl_iface_sta_disassociate(struct wpa_supplicant *wpa_s, 38*f05cddf9SRui Paulo const char *txtaddr); 39e28a4053SRui Paulo int ap_ctrl_iface_wpa_get_status(struct wpa_supplicant *wpa_s, char *buf, 40e28a4053SRui Paulo size_t buflen, int verbose); 41e28a4053SRui Paulo void ap_tx_status(void *ctx, const u8 *addr, 42e28a4053SRui Paulo const u8 *buf, size_t len, int ack); 43*f05cddf9SRui Paulo void ap_eapol_tx_status(void *ctx, const u8 *dst, 44*f05cddf9SRui Paulo const u8 *data, size_t len, int ack); 45*f05cddf9SRui Paulo void ap_client_poll_ok(void *ctx, const u8 *addr); 46*f05cddf9SRui Paulo void ap_rx_from_unknown_sta(void *ctx, const u8 *addr, int wds); 47e28a4053SRui Paulo void ap_mgmt_rx(void *ctx, struct rx_mgmt *rx_mgmt); 48e28a4053SRui Paulo void ap_mgmt_tx_cb(void *ctx, const u8 *buf, size_t len, u16 stype, int ok); 49*f05cddf9SRui Paulo int wpa_supplicant_ap_update_beacon(struct wpa_supplicant *wpa_s); 50e28a4053SRui Paulo int wpa_supplicant_ap_mac_addr_filter(struct wpa_supplicant *wpa_s, 51e28a4053SRui Paulo const u8 *addr); 52*f05cddf9SRui Paulo void wpa_supplicant_ap_pwd_auth_fail(struct wpa_supplicant *wpa_s); 53*f05cddf9SRui Paulo void wpas_ap_ch_switch(struct wpa_supplicant *wpa_s, int freq, int ht, 54*f05cddf9SRui Paulo int offset); 55e28a4053SRui Paulo 56e28a4053SRui Paulo #endif /* AP_H */ 57