19 struct full_dynamic_vlan;
30 struct hostapd_config * (*config_read_cb)(
const char *config_fname);
35 void *ctx),
void *ctx);
41 char *global_iface_path;
42 char *global_iface_name;
43 #ifndef CONFIG_NATIVE_WINDOWS
44 gid_t ctrl_iface_group;
48 size_t terminate_on_error;
49 #ifndef CONFIG_NO_VLAN
50 struct dynamic_iface *vlan_priv;
54 enum hostapd_chan_status {
55 HOSTAPD_CHAN_VALID = 0,
56 HOSTAPD_CHAN_INVALID = 1,
61 int (*cb)(
void *ctx,
const u8 *sa,
const u8 *da,
const u8 *bssid,
62 const u8 *ie,
size_t ie_len,
int ssi_signal);
66 #define HOSTAPD_RATE_BASIC 0x00000001
80 WPS_STATUS_SUCCESS = 1,
85 WPS_PBC_STATUS_DISABLE,
86 WPS_PBC_STATUS_ACTIVE,
87 WPS_PBC_STATUS_TIMEOUT,
88 WPS_PBC_STATUS_OVERLAP
92 enum wps_status status;
93 enum wps_error_indication failure_reason;
94 enum pbc_status pbc_status;
95 u8 peer_addr[ETH_ALEN];
108 unsigned int started:1;
109 unsigned int disabled:1;
110 unsigned int reenable_beacon:1;
112 u8 own_addr[ETH_ALEN];
116 #define STA_HASH_SIZE 256
117 #define STA_HASH(sta) (sta[5])
118 struct sta_info *sta_hash[STA_HASH_SIZE];
125 #define AID_WORDS ((2008 + 31) / 32)
126 u32 sta_aid[AID_WORDS];
135 void *msg_ctx_parent;
138 u32 acct_session_id_hi, acct_session_id_lo;
149 struct rsn_preauth_interface *preauth_iface;
151 int michael_mic_failures;
152 int tkip_countermeasures;
158 void *eap_sim_db_priv;
162 int parameter_set_count;
165 u8 time_update_counter;
168 #ifdef CONFIG_FULL_DYNAMIC_VLAN
169 struct full_dynamic_vlan *full_dynamic_vlan;
176 struct wpabuf *wps_beacon_ie;
177 struct wpabuf *wps_probe_resp_ie;
179 unsigned int ap_pin_failures;
180 unsigned int ap_pin_failures_consecutive;
182 unsigned int ap_pin_lockout_time;
188 size_t num_probereq_cb;
190 void (*public_action_cb)(
void *ctx,
const u8 *buf,
size_t len,
192 void *public_action_cb_ctx;
193 void (*public_action_cb2)(
void *ctx,
const u8 *buf,
size_t len,
195 void *public_action_cb2_ctx;
197 int (*vendor_action_cb)(
void *ctx,
const u8 *buf,
size_t len,
199 void *vendor_action_cb_ctx;
201 void (*wps_reg_success_cb)(
void *ctx,
const u8 *mac_addr,
203 void *wps_reg_success_cb_ctx;
205 void (*wps_event_cb)(
void *ctx,
enum wps_event event,
207 void *wps_event_cb_ctx;
209 void (*sta_authorized_cb)(
void *ctx,
const u8 *mac_addr,
210 int authorized,
const u8 *p2p_dev_addr);
211 void *sta_authorized_cb_ctx;
213 void (*setup_complete_cb)(
void *ctx);
214 void *setup_complete_cb_ctx;
216 void (*new_psk_cb)(
void *ctx,
const u8 *mac_addr,
217 const u8 *p2p_dev_addr,
const u8 *psk,
219 void *new_psk_cb_ctx;
225 unsigned int cs_c_off_beacon;
226 unsigned int cs_c_off_proberesp;
230 unsigned int bss_load_update_timeout;
235 struct wpabuf *p2p_beacon_ie;
236 struct wpabuf *p2p_probe_resp_ie;
246 #ifdef CONFIG_INTERWORKING
247 size_t gas_frag_limit;
249 #ifdef CONFIG_PROXYARP
256 void (*mesh_sta_free_cb)(
struct sta_info *sta);
257 struct wpabuf *mesh_pending_auth;
269 int dot11RSNASAERetransPeriod;
272 #ifdef CONFIG_TESTING_OPTIONS
273 unsigned int ext_mgmt_frame_handling:1;
274 unsigned int ext_eapol_frame_io:1;
298 enum hostapd_iface_state {
299 HAPD_IFACE_UNINITIALIZED,
301 HAPD_IFACE_COUNTRY_UPDATE,
315 unsigned int wait_channel_update:1;
316 unsigned int cac_started:1;
318 struct fst_iface *fst;
319 const struct wpabuf *fst_ies;
326 unsigned int driver_ap_teardown:1;
330 struct ap_info *ap_hash[STA_HASH_SIZE];
335 unsigned int smps_modes;
341 unsigned int probe_resp_offloads;
344 const u8 *extended_capa, *extended_capa_mask;
345 unsigned int extended_capa_len;
347 unsigned int drv_max_acl_mac_addrs;
366 int num_sta_no_short_slot_time;
369 int num_sta_no_short_preamble;
374 int num_sta_ht_no_gf;
380 int num_sta_ht_20mhz;
383 int num_sta_ht40_intolerant;
393 unsigned int chans_surveyed;
399 u64 last_channel_time;
400 u64 last_channel_time_busy;
401 u8 channel_utilization;
403 unsigned int dfs_cac_ms;
411 unsigned int acs_num_completed_scans;
415 int num_ht40_scan_tries;
418 unsigned int num_sta_seen;
424 void *ctx),
void *ctx);
435 const char *config_file);
438 const char *config_fname,
int debug);
441 void hostapd_interface_deinit_free(
struct hostapd_iface *iface);
447 void hostapd_channel_list_updated(
struct hostapd_iface *iface,
int initiator);
448 void hostapd_set_state(
struct hostapd_iface *iface,
enum hostapd_iface_state s);
449 const char * hostapd_state_text(
enum hostapd_iface_state s);
455 void hostapd_cleanup_cs_params(
struct hostapd_data *hapd);
459 int hostapd_register_probereq_cb(
struct hostapd_data *hapd,
460 int (*cb)(
void *ctx,
const u8 *sa,
461 const u8 *da,
const u8 *bssid,
462 const u8 *ie,
size_t ie_len,
468 int hostapd_notif_assoc(
struct hostapd_data *hapd,
const u8 *addr,
469 const u8 *ie,
size_t ielen,
int reassoc);
470 void hostapd_notif_disassoc(
struct hostapd_data *hapd,
const u8 *addr);
471 void hostapd_event_sta_low_ack(
struct hostapd_data *hapd,
const u8 *addr);
472 void hostapd_event_connect_failed_reason(
struct hostapd_data *hapd,
473 const u8 *addr,
int reason_code);
474 int hostapd_probe_req_rx(
struct hostapd_data *hapd,
const u8 *sa,
const u8 *da,
475 const u8 *bssid,
const u8 *ie,
size_t ie_len,
477 void hostapd_event_ch_switch(
struct hostapd_data *hapd,
int freq,
int ht,
478 int offset,
int width,
int cf1,
int cf2);
481 hostapd_get_eap_user(
struct hostapd_data *hapd,
const u8 *identity,
482 size_t identity_len,
int phase2);
488 void fst_hostapd_fill_iface_obj(
struct hostapd_data *hapd,
489 struct fst_wpa_obj *iface_obj);
wps_event
WPS event types.
Definition: wps.h:416
Settings for channel switch command.
Definition: driver.h:1661
Definition: sta_info.h:44
int num_rates
Number of entries in the rates array.
Definition: driver.h:155
Definition: ieee802_11_auth.c:41
hostapd per-interface data structure
Definition: hostapd.h:291
Definition: radius_das.c:15
Driver interface definition.
WPA Supplicant - Common definitions.
Definition: wps_upnp_i.h:123
Definition: ieee802_11_defs.h:634
struct hostapd_iface * hostapd_interface_init_bss(struct hapd_interfaces *interfaces, const char *phy, const char *config_fname, int debug)
Read configuration file and init BSS data.
Definition: hostapd.c:1930
hostapd / Configuration definitions and helpers functions
int hostapd_setup_interface_complete(struct hostapd_iface *iface, int err)
Complete interface setup.
Definition: hostapd.c:1517
Definition: l2_packet_freebsd.c:32
union wps_event_data - WPS event data
Definition: wps.h:511
P2P module data (internal to P2P module)
Definition: p2p_i.h:177
Definition: ieee802_11_auth.c:27
Supported hardware mode information.
Definition: driver.h:132
Doubly-linked list.
Definition: list.h:12
Internal RADIUS server data.
Definition: radius_server.c:117
Driver interface API definition.
Definition: driver.h:1746
struct hostapd_iface * hostapd_init(struct hapd_interfaces *interfaces, const char *config_file)
Allocate and initialize per-interface data.
Definition: hostapd.c:1846
Definition: hostapd.h:281
Definition: wpa_auth_i.h:176
Per-BSS configuration.
Definition: ap_config.h:209
void hostapd_prune_associations(struct hostapd_data *hapd, const u8 *addr)
Remove extraneous associations.
Definition: utils.c:83
Channel parameters.
Definition: driver.h:510
local MBSS state and settings
Definition: ap_config.h:20
Internal RADIUS client data.
Definition: radius_client.c:171
Definition: ap_config.h:137
Internal data structure of control interface clients.
Definition: ctrl_iface.c:50
Internal P2P module per-group data.
Definition: p2p_group.c:31
struct hostapd_data * hostapd_alloc_bss_data(struct hostapd_iface *hapd_iface, struct hostapd_config *conf, struct hostapd_bss_config *bss)
Allocate and initialize per-BSS data.
Definition: hostapd.c:1762
int hostapd_setup_interface(struct hostapd_iface *iface)
Setup of an interface.
Definition: hostapd.c:1735
Definition: dbus_new_introspect.c:16
void hostapd_new_assoc_sta(struct hostapd_data *hapd, struct sta_info *sta, int reassoc)
Notify that a new station associated with the AP.
Definition: hostapd.c:2548
hostapd per-BSS data structure
Definition: hostapd.h:103
Global EAPOL authenticator data.
Definition: eapol_auth_sm_i.h:24
Long term WPS context data.
Definition: wps.h:623
Per-radio interface configuration.
Definition: ap_config.h:565