Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1 | /* |
| 2 | * hostapd / IEEE 802.11 Management |
| 3 | * Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi> |
| 4 | * |
Dmitry Shmidt | c5ec7f5 | 2012-03-06 16:33:24 -0800 | [diff] [blame^] | 5 | * This software may be distributed under the terms of the BSD license. |
| 6 | * See README for more details. |
Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 7 | */ |
| 8 | |
| 9 | #ifndef IEEE802_11_H |
| 10 | #define IEEE802_11_H |
| 11 | |
| 12 | struct hostapd_iface; |
| 13 | struct hostapd_data; |
| 14 | struct sta_info; |
| 15 | struct hostapd_frame_info; |
| 16 | struct ieee80211_ht_capabilities; |
| 17 | |
| 18 | void ieee802_11_mgmt(struct hostapd_data *hapd, const u8 *buf, size_t len, |
| 19 | struct hostapd_frame_info *fi); |
| 20 | void ieee802_11_mgmt_cb(struct hostapd_data *hapd, const u8 *buf, size_t len, |
| 21 | u16 stype, int ok); |
| 22 | void ieee802_11_print_ssid(char *buf, const u8 *ssid, u8 len); |
| 23 | #ifdef NEED_AP_MLME |
| 24 | int ieee802_11_get_mib(struct hostapd_data *hapd, char *buf, size_t buflen); |
| 25 | int ieee802_11_get_mib_sta(struct hostapd_data *hapd, struct sta_info *sta, |
| 26 | char *buf, size_t buflen); |
| 27 | #else /* NEED_AP_MLME */ |
| 28 | static inline int ieee802_11_get_mib(struct hostapd_data *hapd, char *buf, |
| 29 | size_t buflen) |
| 30 | { |
| 31 | return 0; |
| 32 | } |
| 33 | |
| 34 | static inline int ieee802_11_get_mib_sta(struct hostapd_data *hapd, |
| 35 | struct sta_info *sta, |
| 36 | char *buf, size_t buflen) |
| 37 | { |
| 38 | return 0; |
| 39 | } |
| 40 | #endif /* NEED_AP_MLME */ |
| 41 | u16 hostapd_own_capab_info(struct hostapd_data *hapd, struct sta_info *sta, |
| 42 | int probe); |
| 43 | u8 * hostapd_eid_ext_capab(struct hostapd_data *hapd, u8 *eid); |
| 44 | u8 * hostapd_eid_supp_rates(struct hostapd_data *hapd, u8 *eid); |
| 45 | u8 * hostapd_eid_ext_supp_rates(struct hostapd_data *hapd, u8 *eid); |
| 46 | u8 * hostapd_eid_ht_capabilities(struct hostapd_data *hapd, u8 *eid); |
| 47 | u8 * hostapd_eid_ht_operation(struct hostapd_data *hapd, u8 *eid); |
| 48 | int hostapd_ht_operation_update(struct hostapd_iface *iface); |
| 49 | void ieee802_11_send_sa_query_req(struct hostapd_data *hapd, |
| 50 | const u8 *addr, const u8 *trans_id); |
| 51 | void hostapd_get_ht_capab(struct hostapd_data *hapd, |
| 52 | struct ieee80211_ht_capabilities *ht_cap, |
| 53 | struct ieee80211_ht_capabilities *neg_ht_cap); |
| 54 | u16 copy_sta_ht_capab(struct hostapd_data *hapd, struct sta_info *sta, |
| 55 | const u8 *ht_capab, size_t ht_capab_len); |
| 56 | void update_ht_state(struct hostapd_data *hapd, struct sta_info *sta); |
| 57 | void hostapd_tx_status(struct hostapd_data *hapd, const u8 *addr, |
| 58 | const u8 *buf, size_t len, int ack); |
Dmitry Shmidt | 1f69aa5 | 2012-01-24 16:10:04 -0800 | [diff] [blame] | 59 | void hostapd_eapol_tx_status(struct hostapd_data *hapd, const u8 *dst, |
| 60 | const u8 *data, size_t len, int ack); |
Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 61 | void ieee802_11_rx_from_unknown(struct hostapd_data *hapd, const u8 *src, |
| 62 | int wds); |
Dmitry Shmidt | 1f69aa5 | 2012-01-24 16:10:04 -0800 | [diff] [blame] | 63 | u8 * hostapd_eid_assoc_comeback_time(struct hostapd_data *hapd, |
| 64 | struct sta_info *sta, u8 *eid); |
| 65 | void ieee802_11_sa_query_action(struct hostapd_data *hapd, |
| 66 | const u8 *sa, const u8 action_type, |
| 67 | const u8 *trans_id); |
| 68 | u8 * hostapd_eid_interworking(struct hostapd_data *hapd, u8 *eid); |
| 69 | u8 * hostapd_eid_adv_proto(struct hostapd_data *hapd, u8 *eid); |
| 70 | u8 * hostapd_eid_roaming_consortium(struct hostapd_data *hapd, u8 *eid); |
| 71 | u8 * hostapd_eid_time_adv(struct hostapd_data *hapd, u8 *eid); |
| 72 | u8 * hostapd_eid_time_zone(struct hostapd_data *hapd, u8 *eid); |
| 73 | int hostapd_update_time_adv(struct hostapd_data *hapd); |
| 74 | void hostapd_client_poll_ok(struct hostapd_data *hapd, const u8 *addr); |
Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 75 | |
| 76 | #endif /* IEEE802_11_H */ |