xref: /freebsd/contrib/wpa/wpa_supplicant/ap.h (revision f05cddf940dbfc5b657f5e9beb9de2c31e509e5b)
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