⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hostapd.h

📁 最新的Host AP 新添加了许多pcmcia 的驱动
💻 H
字号:
/* * hostapd / Initialization and configuration * Host AP kernel driver * Copyright (c) 2002-2008, Jouni Malinen <j@w1.fi> * Copyright (c) 2007-2008, Intel Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * Alternatively, this software may be distributed under the terms of BSD * license. * * See README and COPYING for more details. */#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#ifndef ETH_P_PAE#define ETH_P_PAE 0x888E /* Port Access Entity (IEEE 802.1X) */#endif /* ETH_P_PAE */#ifndef ETH_P_EAPOL#define ETH_P_EAPOL ETH_P_PAE#endif /* ETH_P_EAPOL */#ifndef ETH_P_RRB#define ETH_P_RRB 0x890D#endif /* ETH_P_RRB */#include "config.h"#ifdef _MSC_VER#pragma pack(push, 1)#endif /* _MSC_VER */#define MAX_VLAN_ID 4094struct ieee8023_hdr {	u8 dest[6];	u8 src[6];	u16 ethertype;} STRUCT_PACKED;struct ieee80211_hdr {	le16 frame_control;	le16 duration_id;	u8 addr1[6];	u8 addr2[6];	u8 addr3[6];	le16 seq_ctrl;	/* followed by 'u8 addr4[6];' if ToDS and FromDS is set in data frame	 */} STRUCT_PACKED;#ifdef _MSC_VER#pragma pack(pop)#endif /* _MSC_VER */#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];struct hostap_sta_driver_data {	unsigned long rx_packets, tx_packets, rx_bytes, tx_bytes;	unsigned long current_tx_rate;	unsigned long inactive_msec;	unsigned long flags;	unsigned long num_ps_buf_frames;	unsigned long tx_retry_failed;	unsigned long tx_retry_count;	int last_rssi;	int last_ack_rssi;};struct wpa_driver_ops;struct wpa_ctrl_dst;struct radius_server_data;struct upnp_wps_device_sm;#ifdef CONFIG_FULL_DYNAMIC_VLANstruct full_dynamic_vlan;#endif /* CONFIG_FULL_DYNAMIC_VLAN *//** * struct hostapd_data - hostapd per-BSS data structure */struct hostapd_data {	struct hostapd_iface *iface;	struct hostapd_config *iconf;	struct hostapd_bss_config *conf;	int interface_added; /* virtual interface added for this BSS */	u8 own_addr[ETH_ALEN];	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];	const struct wpa_driver_ops *driver;	void *drv_priv;	u8 *default_wep_key;	u8 default_wep_key_idx;	struct radius_client_data *radius;	int radius_client_reconfigured;	u32 acct_session_id_hi, acct_session_id_lo;	struct iapp_data *iapp;	struct hostapd_cached_radius_acl *acl_cache;	struct hostapd_acl_query_data *acl_queries;	struct wpa_authenticator *wpa_auth;	struct eapol_authenticator *eapol_auth;	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;	int parameter_set_count;#ifdef CONFIG_FULL_DYNAMIC_VLAN	struct full_dynamic_vlan *full_dynamic_vlan;#endif /* CONFIG_FULL_DYNAMIC_VLAN */	struct l2_packet_data *l2;	struct wps_context *wps;#ifdef CONFIG_WPS	u8 *wps_beacon_ie;	size_t wps_beacon_ie_len;	u8 *wps_probe_resp_ie;	size_t wps_probe_resp_ie_len;	unsigned int ap_pin_failures;	struct upnp_wps_device_sm *wps_upnp;#endif /* CONFIG_WPS */};/** * struct hostapd_iface - hostapd per-interface data structure */struct hostapd_iface {	char *config_fname;	struct hostapd_config *conf;	size_t num_bss;	struct hostapd_data **bss;	int num_ap; /* number of entries in ap_list */	struct ap_info *ap_list; /* AP info list head */	struct ap_info *ap_hash[STA_HASH_SIZE];	struct ap_info *ap_iter_list;	struct hostapd_hw_modes *hw_features;	int num_hw_features;	struct hostapd_hw_modes *current_mode;	/* Rates that are currently used (i.e., filtered copy of	 * current_mode->channels */	int num_rates;	struct hostapd_rate_data *current_rates;	u16 hw_flags;	/* Number of associated Non-ERP stations (i.e., stations using 802.11b	 * in 802.11g BSS) */	int num_sta_non_erp;	/* Number of associated stations that do not support Short Slot Time */	int num_sta_no_short_slot_time;	/* Number of associated stations that do not support Short Preamble */	int num_sta_no_short_preamble;	int olbc; /* Overlapping Legacy BSS Condition */	/* Number of HT associated stations that do not support greenfield */	int num_sta_ht_no_gf;	/* Number of associated non-HT stations */	int num_sta_no_ht;	/* Number of HT associated stations 20 MHz */	int num_sta_ht_20mhz;	/* Overlapping BSS information */	int olbc_ht;#ifdef CONFIG_IEEE80211N	u16 ht_op_mode;#endif /* CONFIG_IEEE80211N */};void hostapd_new_assoc_sta(struct hostapd_data *hapd, struct sta_info *sta,			   int reassoc);int hostapd_reload_config(struct hostapd_iface *iface);#endif /* HOSTAPD_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -