xref: /freebsd/contrib/wpa/src/ap/ieee802_11_auth.h (revision 780fb4a2fa9a9aee5ac48a60b790f567c0dc13e9)
1e28a4053SRui Paulo /*
2e28a4053SRui Paulo  * hostapd / IEEE 802.11 authentication (ACL)
3e28a4053SRui Paulo  * Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi>
4e28a4053SRui Paulo  *
5f05cddf9SRui Paulo  * This software may be distributed under the terms of the BSD license.
6f05cddf9SRui Paulo  * See README for more details.
7e28a4053SRui Paulo  */
8e28a4053SRui Paulo 
9e28a4053SRui Paulo #ifndef IEEE802_11_AUTH_H
10e28a4053SRui Paulo #define IEEE802_11_AUTH_H
11e28a4053SRui Paulo 
12e28a4053SRui Paulo enum {
13e28a4053SRui Paulo 	HOSTAPD_ACL_REJECT = 0,
14e28a4053SRui Paulo 	HOSTAPD_ACL_ACCEPT = 1,
15e28a4053SRui Paulo 	HOSTAPD_ACL_PENDING = 2,
16e28a4053SRui Paulo 	HOSTAPD_ACL_ACCEPT_TIMEOUT = 3
17e28a4053SRui Paulo };
18e28a4053SRui Paulo 
19*780fb4a2SCy Schubert int hostapd_check_acl(struct hostapd_data *hapd, const u8 *addr,
20*780fb4a2SCy Schubert 		      struct vlan_description *vlan_id);
21e28a4053SRui Paulo int hostapd_allowed_address(struct hostapd_data *hapd, const u8 *addr,
22e28a4053SRui Paulo 			    const u8 *msg, size_t len, u32 *session_timeout,
23*780fb4a2SCy Schubert 			    u32 *acct_interim_interval,
24*780fb4a2SCy Schubert 			    struct vlan_description *vlan_id,
25f05cddf9SRui Paulo 			    struct hostapd_sta_wpa_psk_short **psk,
26f05cddf9SRui Paulo 			    char **identity, char **radius_cui);
27e28a4053SRui Paulo int hostapd_acl_init(struct hostapd_data *hapd);
28e28a4053SRui Paulo void hostapd_acl_deinit(struct hostapd_data *hapd);
29f05cddf9SRui Paulo void hostapd_free_psk_list(struct hostapd_sta_wpa_psk_short *psk);
30325151a3SRui Paulo void hostapd_acl_expire(struct hostapd_data *hapd);
31e28a4053SRui Paulo 
32e28a4053SRui Paulo #endif /* IEEE802_11_AUTH_H */
33