hostapd.h
来自「hostapd无线AP工具」· C头文件 代码 · 共 139 行
H
139 行
#ifndef HOSTAPD_H#define HOSTAPD_H#include "common.h"#include "ap.h"#ifndef ETH_ALEN#define ETH_ALEN 6#endif#ifndef IFNAMSIZ#define IFNAMSIZ 16#endif#ifndef ETH_P_ALL#define ETH_P_ALL 0x0003#endif#include "hostap_common.h"#include "config.h"struct ieee8023_hdr { u8 dest[6]; u8 src[6]; u16 ethertype;} __attribute__ ((packed));struct ieee80211_hdr { u16 frame_control; u16 duration_id; u8 addr1[6]; u8 addr2[6]; u8 addr3[6]; u16 seq_ctrl; /* followed by 'u8 addr4[6];' if ToDS and FromDS is set in data frame */} __attribute__ ((packed));#define IEEE80211_DA_FROMDS addr1#define IEEE80211_BSSID_FROMDS addr2#define IEEE80211_SA_FROMDS addr3#define IEEE80211_HDRLEN (sizeof(struct ieee80211_hdr))#define IEEE80211_FC(type, stype) host_to_le16((type << 2) | (stype << 4))/* MTU to be set for the wlan#ap device; this is mainly needed for IEEE 802.1X * frames that might be longer than normal default MTU and they are not * fragmented */#define HOSTAPD_MTU 2290extern unsigned char rfc1042_header[6];typedef struct hostapd_data hostapd;struct hostap_sta_driver_data { unsigned long rx_packets, tx_packets, rx_bytes, tx_bytes;};struct driver_ops;struct wpa_ctrl_dst;struct radius_server_data;struct hostapd_data { struct hostapd_config *conf; char *config_fname; u8 own_addr[6]; int num_sta; /* number of entries in sta_list */ struct sta_info *sta_list; /* STA info list head */ struct sta_info *sta_hash[STA_HASH_SIZE]; /* pointers to STA info; based on allocated AID or NULL if AID free * AID is in the range 1-2007, so sta_aid[0] corresponders to AID 1 * and so on */ struct sta_info *sta_aid[MAX_AID_TABLE_SIZE]; struct driver_ops *driver; u8 *default_wep_key; u8 default_wep_key_idx; struct radius_client_data *radius; u32 acct_session_id_hi, acct_session_id_lo; struct iapp_data *iapp; enum { DO_NOT_ASSOC = 0, WAIT_BEACON, AUTHENTICATE, ASSOCIATE, ASSOCIATED } assoc_ap_state; char assoc_ap_ssid[33]; int assoc_ap_ssid_len; u16 assoc_ap_aid; struct hostapd_cached_radius_acl *acl_cache; struct hostapd_acl_query_data *acl_queries; u8 *wpa_ie; size_t wpa_ie_len; struct wpa_authenticator *wpa_auth;#define PMKID_HASH_SIZE 128#define PMKID_HASH(pmkid) (unsigned int) ((pmkid)[0] & 0x7f) struct rsn_pmksa_cache *pmkid[PMKID_HASH_SIZE]; struct rsn_pmksa_cache *pmksa; int pmksa_count; struct rsn_preauth_interface *preauth_iface; time_t michael_mic_failure; int michael_mic_failures; int tkip_countermeasures; int ctrl_sock; struct wpa_ctrl_dst *ctrl_dst; void *ssl_ctx; void *eap_sim_db_priv; struct radius_server_data *radius_srv;};void hostapd_new_assoc_sta(hostapd *hapd, struct sta_info *sta);void hostapd_logger(struct hostapd_data *hapd, const u8 *addr, unsigned int module, int level, const char *fmt, ...) __attribute__ ((format (printf, 5, 6)));#define HOSTAPD_DEBUG(level, args...) \do { \ if (hapd->conf == NULL || hapd->conf->debug >= (level)) \ printf(args); \} while (0)#define HOSTAPD_DEBUG_COND(level) (hapd->conf->debug >= (level))const char * hostapd_ip_txt(const struct hostapd_ip_addr *addr, char *buf, size_t buflen);#endif /* HOSTAPD_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?