AP: Add explicit EAPOL TX status event
[mech_eap.git] / wpa_supplicant / ap.h
1 /*
2  * WPA Supplicant - Basic AP mode support routines
3  * Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi>
4  * Copyright (c) 2009, Atheros Communications
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  * Alternatively, this software may be distributed under the terms of BSD
11  * license.
12  *
13  * See README and COPYING for more details.
14  */
15
16 #ifndef AP_H
17 #define AP_H
18
19 int wpa_supplicant_create_ap(struct wpa_supplicant *wpa_s,
20                              struct wpa_ssid *ssid);
21 void wpa_supplicant_ap_deinit(struct wpa_supplicant *wpa_s);
22 void wpa_supplicant_ap_rx_eapol(struct wpa_supplicant *wpa_s,
23                                 const u8 *src_addr, const u8 *buf, size_t len);
24 int wpa_supplicant_ap_wps_pbc(struct wpa_supplicant *wpa_s, const u8 *bssid,
25                               const u8 *p2p_dev_addr);
26 int wpa_supplicant_ap_wps_pin(struct wpa_supplicant *wpa_s, const u8 *bssid,
27                               const char *pin, char *buf, size_t buflen);
28 int wpa_supplicant_ap_wps_cancel(struct wpa_supplicant *wpa_s);
29 void wpas_wps_ap_pin_disable(struct wpa_supplicant *wpa_s);
30 const char * wpas_wps_ap_pin_random(struct wpa_supplicant *wpa_s, int timeout);
31 const char * wpas_wps_ap_pin_get(struct wpa_supplicant *wpa_s);
32 int wpas_wps_ap_pin_set(struct wpa_supplicant *wpa_s, const char *pin,
33                         int timeout);
34 int ap_ctrl_iface_sta_first(struct wpa_supplicant *wpa_s,
35                             char *buf, size_t buflen);
36 int ap_ctrl_iface_sta(struct wpa_supplicant *wpa_s, const char *txtaddr,
37                       char *buf, size_t buflen);
38 int ap_ctrl_iface_sta_next(struct wpa_supplicant *wpa_s, const char *txtaddr,
39                            char *buf, size_t buflen);
40 int ap_ctrl_iface_wpa_get_status(struct wpa_supplicant *wpa_s, char *buf,
41                                  size_t buflen, int verbose);
42 void ap_tx_status(void *ctx, const u8 *addr,
43                   const u8 *buf, size_t len, int ack);
44 void ap_eapol_tx_status(void *ctx, const u8 *dst,
45                         const u8 *data, size_t len, int ack);
46 void ap_client_poll_ok(void *ctx, const u8 *addr);
47 void ap_rx_from_unknown_sta(void *ctx, const u8 *addr, int wds);
48 void ap_mgmt_rx(void *ctx, struct rx_mgmt *rx_mgmt);
49 void ap_mgmt_tx_cb(void *ctx, const u8 *buf, size_t len, u16 stype, int ok);
50 int wpa_supplicant_ap_update_beacon(struct wpa_supplicant *wpa_s);
51 int wpa_supplicant_ap_mac_addr_filter(struct wpa_supplicant *wpa_s,
52                                       const u8 *addr);
53 void wpa_supplicant_ap_pwd_auth_fail(struct wpa_supplicant *wpa_s);
54
55 #endif /* AP_H */