wpa_supplicant / hostapd  2.5
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ap_config.h
Go to the documentation of this file.
1 
5 #ifndef HOSTAPD_CONFIG_H
6 #define HOSTAPD_CONFIG_H
7 
8 #include "common/defs.h"
9 #include "ip_addr.h"
10 #include "common/wpa_common.h"
11 #include "common/ieee802_11_defs.h"
13 #include "wps/wps.h"
14 #include "fst/fst.h"
15 
20 struct mesh_conf {
21  u8 meshid[32];
22  u8 meshid_len;
23  /* Active Path Selection Protocol Identifier */
24  u8 mesh_pp_id;
25  /* Active Path Selection Metric Identifier */
26  u8 mesh_pm_id;
27  /* Congestion Control Mode Identifier */
28  u8 mesh_cc_id;
29  /* Synchronization Protocol Identifier */
30  u8 mesh_sp_id;
31  /* Authentication Protocol Identifier */
32  u8 mesh_auth_id;
33  u8 *rsn_ie;
34  int rsn_ie_len;
35 #define MESH_CONF_SEC_NONE BIT(0)
36 #define MESH_CONF_SEC_AUTH BIT(1)
37 #define MESH_CONF_SEC_AMPE BIT(2)
38  unsigned int security;
39  int dot11MeshMaxRetries;
40  int dot11MeshRetryTimeout; /* msec */
41  int dot11MeshConfirmTimeout; /* msec */
42  int dot11MeshHoldingTimeout; /* msec */
43 };
44 
45 #define MAX_STA_COUNT 2007
46 #define MAX_VLAN_ID 4094
47 
48 typedef u8 macaddr[ETH_ALEN];
49 
50 struct mac_acl_entry {
51  macaddr addr;
52  int vlan_id;
53 };
54 
56 struct ft_remote_r0kh;
57 struct ft_remote_r1kh;
58 
59 #define NUM_WEP_KEYS 4
61  u8 idx;
62  u8 *key[NUM_WEP_KEYS];
63  size_t len[NUM_WEP_KEYS];
64  int keys_set;
65  size_t default_len; /* key length used for dynamic key generation */
66 };
67 
68 typedef enum hostap_security_policy {
69  SECURITY_PLAINTEXT = 0,
70  SECURITY_STATIC_WEP = 1,
71  SECURITY_IEEE_802_1X = 2,
72  SECURITY_WPA_PSK = 3,
73  SECURITY_WPA = 4,
74  SECURITY_OSEN = 5
75 } secpolicy;
76 
77 struct hostapd_ssid {
78  u8 ssid[SSID_MAX_LEN];
79  size_t ssid_len;
80  unsigned int ssid_set:1;
81  unsigned int utf8_ssid:1;
82  unsigned int wpa_passphrase_set:1;
83  unsigned int wpa_psk_set:1;
84 
85  char vlan[IFNAMSIZ + 1];
86  secpolicy security_policy;
87 
88  struct hostapd_wpa_psk *wpa_psk;
89  char *wpa_passphrase;
90  char *wpa_psk_file;
91 
92  struct hostapd_wep_keys wep;
93 
94 #define DYNAMIC_VLAN_DISABLED 0
95 #define DYNAMIC_VLAN_OPTIONAL 1
96 #define DYNAMIC_VLAN_REQUIRED 2
97  int dynamic_vlan;
98 #define DYNAMIC_VLAN_NAMING_WITHOUT_DEVICE 0
99 #define DYNAMIC_VLAN_NAMING_WITH_DEVICE 1
100 #define DYNAMIC_VLAN_NAMING_END 2
101  int vlan_naming;
102 #ifdef CONFIG_FULL_DYNAMIC_VLAN
103  char *vlan_tagged_interface;
104 #endif /* CONFIG_FULL_DYNAMIC_VLAN */
105 };
106 
107 
108 #define VLAN_ID_WILDCARD -1
109 
110 struct hostapd_vlan {
111  struct hostapd_vlan *next;
112  int vlan_id; /* VLAN ID or -1 (VLAN_ID_WILDCARD) for wildcard entry */
113  char ifname[IFNAMSIZ + 1];
114  int configured;
115  int dynamic_vlan;
116 #ifdef CONFIG_FULL_DYNAMIC_VLAN
117 
118 #define DVLAN_CLEAN_WLAN_PORT 0x8
119  int clean;
120 #endif /* CONFIG_FULL_DYNAMIC_VLAN */
121 };
122 
123 #define PMK_LEN 32
125  struct hostapd_sta_wpa_psk_short *next;
126  u8 psk[PMK_LEN];
127 };
128 
130  struct hostapd_wpa_psk *next;
131  int group;
132  u8 psk[PMK_LEN];
133  u8 addr[ETH_ALEN];
134  u8 p2p_dev_addr[ETH_ALEN];
135 };
136 
138  struct hostapd_eap_user *next;
139  u8 *identity;
140  size_t identity_len;
141  struct {
142  int vendor;
143  u32 method;
144  } methods[EAP_MAX_METHODS];
145  u8 *password;
146  size_t password_len;
147  int phase2;
148  int force_version;
149  unsigned int wildcard_prefix:1;
150  unsigned int password_hash:1; /* whether password is hashed with
151  * nt_password_hash() */
152  unsigned int remediation:1;
153  unsigned int macacl:1;
154  int ttls_auth; /* EAP_TTLS_AUTH_* bitfield */
155  struct hostapd_radius_attr *accept_attr;
156 };
157 
159  u8 type;
160  struct wpabuf *val;
161  struct hostapd_radius_attr *next;
162 };
163 
164 
165 #define NUM_TX_QUEUES 4
166 
168  int aifs;
169  int cwmin;
170  int cwmax;
171  int burst; /* maximum burst time in 0.1 ms, i.e., 10 = 1 ms */
172 };
173 
174 
175 #define MAX_ROAMING_CONSORTIUM_LEN 15
176 
178  u8 len;
179  u8 oi[MAX_ROAMING_CONSORTIUM_LEN];
180 };
181 
183  u8 lang[3];
184  u8 name_len;
185  u8 name[252];
186 };
187 
188 #define MAX_NAI_REALMS 10
189 #define MAX_NAI_REALMLEN 255
190 #define MAX_NAI_EAP_METHODS 5
191 #define MAX_NAI_AUTH_TYPES 4
193  u8 encoding;
194  char realm_buf[MAX_NAI_REALMLEN + 1];
195  char *realm[MAX_NAI_REALMS];
196  u8 eap_method_count;
198  u8 eap_method;
199  u8 num_auths;
200  u8 auth_id[MAX_NAI_AUTH_TYPES];
201  u8 auth_val[MAX_NAI_AUTH_TYPES];
202  } eap_method[MAX_NAI_EAP_METHODS];
203 };
204 
210  char iface[IFNAMSIZ + 1];
211  char bridge[IFNAMSIZ + 1];
212  char vlan_bridge[IFNAMSIZ + 1];
213  char wds_bridge[IFNAMSIZ + 1];
214 
215  enum hostapd_logger_level logger_syslog_level, logger_stdout_level;
216 
217  unsigned int logger_syslog; /* module bitfield */
218  unsigned int logger_stdout; /* module bitfield */
219 
220  int max_num_sta; /* maximum number of STAs in station table */
221 
222  int dtim_period;
223  int bss_load_update_period;
224 
225  int ieee802_1x; /* use IEEE 802.1X */
226  int eapol_version;
227  int eap_server; /* Use internal EAP server instead of external
228  * RADIUS server */
229  struct hostapd_eap_user *eap_user;
230  char *eap_user_sqlite;
231  char *eap_sim_db;
232  int eap_server_erp; /* Whether ERP is enabled on internal EAP server */
233  struct hostapd_ip_addr own_ip_addr;
234  char *nas_identifier;
235  struct hostapd_radius_servers *radius;
236  int acct_interim_interval;
237  int radius_request_cui;
238  struct hostapd_radius_attr *radius_auth_req_attr;
239  struct hostapd_radius_attr *radius_acct_req_attr;
240  int radius_das_port;
241  unsigned int radius_das_time_window;
242  int radius_das_require_event_timestamp;
243  struct hostapd_ip_addr radius_das_client_addr;
244  u8 *radius_das_shared_secret;
245  size_t radius_das_shared_secret_len;
246 
247  struct hostapd_ssid ssid;
248 
249  char *eap_req_id_text; /* optional displayable message sent with
250  * EAP Request-Identity */
251  size_t eap_req_id_text_len;
252  int eapol_key_index_workaround;
253 
254  size_t default_wep_key_len;
255  int individual_wep_key_len;
256  int wep_rekeying_period;
257  int broadcast_key_idx_min, broadcast_key_idx_max;
258  int eap_reauth_period;
259  int erp_send_reauth_start;
260  char *erp_domain;
261 
262  int ieee802_11f; /* use IEEE 802.11f (IAPP) */
263  char iapp_iface[IFNAMSIZ + 1]; /* interface used with IAPP broadcast
264  * frames */
265 
266  enum {
267  ACCEPT_UNLESS_DENIED = 0,
268  DENY_UNLESS_ACCEPTED = 1,
269  USE_EXTERNAL_RADIUS_AUTH = 2
270  } macaddr_acl;
271  struct mac_acl_entry *accept_mac;
272  int num_accept_mac;
273  struct mac_acl_entry *deny_mac;
274  int num_deny_mac;
275  int wds_sta;
276  int isolate;
277  int start_disabled;
278 
279  int auth_algs; /* bitfield of allowed IEEE 802.11 authentication
280  * algorithms, WPA_AUTH_ALG_{OPEN,SHARED,LEAP} */
281 
282  int wpa; /* bitfield of WPA_PROTO_WPA, WPA_PROTO_RSN */
283  int wpa_key_mgmt;
284 #ifdef CONFIG_IEEE80211W
285  enum mfp_options ieee80211w;
286  int group_mgmt_cipher;
287  /* dot11AssociationSAQueryMaximumTimeout (in TUs) */
288  unsigned int assoc_sa_query_max_timeout;
289  /* dot11AssociationSAQueryRetryTimeout (in TUs) */
290  int assoc_sa_query_retry_timeout;
291 #endif /* CONFIG_IEEE80211W */
292  enum {
293  PSK_RADIUS_IGNORED = 0,
294  PSK_RADIUS_ACCEPTED = 1,
295  PSK_RADIUS_REQUIRED = 2
296  } wpa_psk_radius;
297  int wpa_pairwise;
298  int wpa_group;
299  int wpa_group_rekey;
300  int wpa_strict_rekey;
301  int wpa_gmk_rekey;
302  int wpa_ptk_rekey;
303  int rsn_pairwise;
304  int rsn_preauth;
305  char *rsn_preauth_interfaces;
306  int peerkey;
307 
308 #ifdef CONFIG_IEEE80211R
309  /* IEEE 802.11r - Fast BSS Transition */
310  u8 mobility_domain[MOBILITY_DOMAIN_ID_LEN];
311  u8 r1_key_holder[FT_R1KH_ID_LEN];
312  u32 r0_key_lifetime;
313  u32 reassociation_deadline;
314  struct ft_remote_r0kh *r0kh_list;
315  struct ft_remote_r1kh *r1kh_list;
316  int pmk_r1_push;
317  int ft_over_ds;
318 #endif /* CONFIG_IEEE80211R */
319 
320  char *ctrl_interface; /* directory for UNIX domain sockets */
321 #ifndef CONFIG_NATIVE_WINDOWS
322  gid_t ctrl_interface_gid;
323 #endif /* CONFIG_NATIVE_WINDOWS */
324  int ctrl_interface_gid_set;
325 
326  char *ca_cert;
327  char *server_cert;
328  char *private_key;
329  char *private_key_passwd;
330  int check_crl;
331  unsigned int tls_session_lifetime;
332  char *ocsp_stapling_response;
333  char *dh_file;
334  char *openssl_ciphers;
335  u8 *pac_opaque_encr_key;
336  u8 *eap_fast_a_id;
337  size_t eap_fast_a_id_len;
338  char *eap_fast_a_id_info;
339  int eap_fast_prov;
340  int pac_key_lifetime;
341  int pac_key_refresh_time;
342  int eap_sim_aka_result_ind;
343  int tnc;
344  int fragment_size;
345  u16 pwd_group;
346 
347  char *radius_server_clients;
348  int radius_server_auth_port;
349  int radius_server_acct_port;
350  int radius_server_ipv6;
351 
352  int use_pae_group_addr; /* Whether to send EAPOL frames to PAE group
353  * address instead of individual address
354  * (for driver_wired.c).
355  */
356 
357  int ap_max_inactivity;
358  int ignore_broadcast_ssid;
359 
360  int wmm_enabled;
361  int wmm_uapsd;
362 
363  struct hostapd_vlan *vlan;
364 
365  macaddr bssid;
366 
367  /*
368  * Maximum listen interval that STAs can use when associating with this
369  * BSS. If a STA tries to use larger value, the association will be
370  * denied with status code 51.
371  */
372  u16 max_listen_interval;
373 
374  int disable_pmksa_caching;
375  int okc; /* Opportunistic Key Caching */
376 
377  int wps_state;
378 #ifdef CONFIG_WPS
379  int wps_independent;
380  int ap_setup_locked;
381  u8 uuid[16];
382  char *wps_pin_requests;
383  char *device_name;
384  char *manufacturer;
385  char *model_name;
386  char *model_number;
387  char *serial_number;
388  u8 device_type[WPS_DEV_TYPE_LEN];
389  char *config_methods;
390  u8 os_version[4];
391  char *ap_pin;
392  int skip_cred_build;
393  u8 *extra_cred;
394  size_t extra_cred_len;
395  int wps_cred_processing;
396  int force_per_enrollee_psk;
397  u8 *ap_settings;
398  size_t ap_settings_len;
399  char *upnp_iface;
400  char *friendly_name;
401  char *manufacturer_url;
402  char *model_description;
403  char *model_url;
404  char *upc;
405  struct wpabuf *wps_vendor_ext[MAX_WPS_VENDOR_EXTENSIONS];
406  int wps_nfc_pw_from_config;
407  int wps_nfc_dev_pw_id;
408  struct wpabuf *wps_nfc_dh_pubkey;
409  struct wpabuf *wps_nfc_dh_privkey;
410  struct wpabuf *wps_nfc_dev_pw;
411 #endif /* CONFIG_WPS */
412  int pbc_in_m1;
413  char *server_id;
414 
415 #define P2P_ENABLED BIT(0)
416 #define P2P_GROUP_OWNER BIT(1)
417 #define P2P_GROUP_FORMATION BIT(2)
418 #define P2P_MANAGE BIT(3)
419 #define P2P_ALLOW_CROSS_CONNECTION BIT(4)
420  int p2p;
421 #ifdef CONFIG_P2P
422  u8 ip_addr_go[4];
423  u8 ip_addr_mask[4];
424  u8 ip_addr_start[4];
425  u8 ip_addr_end[4];
426 #endif /* CONFIG_P2P */
427 
428  int disassoc_low_ack;
429  int skip_inactivity_poll;
430 
431 #define TDLS_PROHIBIT BIT(0)
432 #define TDLS_PROHIBIT_CHAN_SWITCH BIT(1)
433  int tdls;
434  int disable_11n;
435  int disable_11ac;
436 
437  /* IEEE 802.11v */
438  int time_advertisement;
439  char *time_zone;
440  int wnm_sleep_mode;
441  int bss_transition;
442 
443  /* IEEE 802.11u - Interworking */
444  int interworking;
445  int access_network_type;
446  int internet;
447  int asra;
448  int esr;
449  int uesa;
450  int venue_info_set;
451  u8 venue_group;
452  u8 venue_type;
453  u8 hessid[ETH_ALEN];
454 
455  /* IEEE 802.11u - Roaming Consortium list */
456  unsigned int roaming_consortium_count;
457  struct hostapd_roaming_consortium *roaming_consortium;
458 
459  /* IEEE 802.11u - Venue Name duples */
460  unsigned int venue_name_count;
461  struct hostapd_lang_string *venue_name;
462 
463  /* IEEE 802.11u - Network Authentication Type */
464  u8 *network_auth_type;
465  size_t network_auth_type_len;
466 
467  /* IEEE 802.11u - IP Address Type Availability */
468  u8 ipaddr_type_availability;
469  u8 ipaddr_type_configured;
470 
471  /* IEEE 802.11u - 3GPP Cellular Network */
472  u8 *anqp_3gpp_cell_net;
473  size_t anqp_3gpp_cell_net_len;
474 
475  /* IEEE 802.11u - Domain Name */
476  u8 *domain_name;
477  size_t domain_name_len;
478 
479  unsigned int nai_realm_count;
480  struct hostapd_nai_realm_data *nai_realm_data;
481 
482  u16 gas_comeback_delay;
483  int gas_frag_limit;
484 
485  u8 qos_map_set[16 + 2 * 21];
486  unsigned int qos_map_set_len;
487 
488  int osen;
489  int proxy_arp;
490  int na_mcast_to_ucast;
491 #ifdef CONFIG_HS20
492  int hs20;
493  int disable_dgaf;
494  u16 anqp_domain_id;
495  unsigned int hs20_oper_friendly_name_count;
496  struct hostapd_lang_string *hs20_oper_friendly_name;
497  u8 *hs20_wan_metrics;
498  u8 *hs20_connection_capability;
499  size_t hs20_connection_capability_len;
500  u8 *hs20_operating_class;
501  u8 hs20_operating_class_len;
502  struct hs20_icon {
503  u16 width;
504  u16 height;
505  char language[3];
506  char type[256];
507  char name[256];
508  char file[256];
509  } *hs20_icons;
510  size_t hs20_icons_count;
511  u8 osu_ssid[SSID_MAX_LEN];
512  size_t osu_ssid_len;
513  struct hs20_osu_provider {
514  unsigned int friendly_name_count;
515  struct hostapd_lang_string *friendly_name;
516  char *server_uri;
517  int *method_list;
518  char **icons;
519  size_t icons_count;
520  char *osu_nai;
521  unsigned int service_desc_count;
522  struct hostapd_lang_string *service_desc;
523  } *hs20_osu_providers, *last_osu;
524  size_t hs20_osu_providers_count;
525  unsigned int hs20_deauth_req_timeout;
526  char *subscr_remediation_url;
527  u8 subscr_remediation_method;
528 #endif /* CONFIG_HS20 */
529 
530  u8 wps_rf_bands; /* RF bands for WPS (WPS_RF_*) */
531 
532 #ifdef CONFIG_RADIUS_TEST
533  char *dump_msk_file;
534 #endif /* CONFIG_RADIUS_TEST */
535 
536  struct wpabuf *vendor_elements;
537 
538  unsigned int sae_anti_clogging_threshold;
539  int *sae_groups;
540 
541  char *wowlan_triggers; /* Wake-on-WLAN triggers */
542 
543 #ifdef CONFIG_TESTING_OPTIONS
544  u8 bss_load_test[5];
545  u8 bss_load_test_set;
546  struct wpabuf *own_ie_override;
547 #endif /* CONFIG_TESTING_OPTIONS */
548 
549 #define MESH_ENABLED BIT(0)
550  int mesh;
551 
552  int radio_measurements;
553 
554  int vendor_vht;
555 
556  char *no_probe_resp_if_seen_on;
557  char *no_auth_if_seen_on;
558 };
559 
560 
566  struct hostapd_bss_config **bss, *last_bss;
567  size_t num_bss;
568 
569  u16 beacon_int;
570  int rts_threshold;
571  int fragm_threshold;
572  u8 send_probe_response;
573  u8 channel;
574  u8 acs;
575  struct wpa_freq_range_list acs_ch_list;
576  enum hostapd_hw_mode hw_mode; /* HOSTAPD_MODE_IEEE80211A, .. */
577  enum {
578  LONG_PREAMBLE = 0,
579  SHORT_PREAMBLE = 1
580  } preamble;
581 
582  int *supported_rates;
583  int *basic_rates;
584 
585  const struct wpa_driver_ops *driver;
586  char *driver_params;
587 
588  int ap_table_max_size;
589  int ap_table_expiration_time;
590 
591  unsigned int track_sta_max_num;
592  unsigned int track_sta_max_age;
593 
594  char country[3]; /* first two octets: country code as described in
595  * ISO/IEC 3166-1. Third octet:
596  * ' ' (ascii 32): all environments
597  * 'O': Outdoor environemnt only
598  * 'I': Indoor environment only
599  */
600 
601  int ieee80211d;
602 
603  int ieee80211h; /* DFS */
604 
605  /*
606  * Local power constraint is an octet encoded as an unsigned integer in
607  * units of decibels. Invalid value -1 indicates that Power Constraint
608  * element will not be added.
609  */
610  int local_pwr_constraint;
611 
612  /* Control Spectrum Management bit */
613  int spectrum_mgmt_required;
614 
615  struct hostapd_tx_queue_params tx_queue[NUM_TX_QUEUES];
616 
617  /*
618  * WMM AC parameters, in same order as 802.1D, i.e.
619  * 0 = BE (best effort)
620  * 1 = BK (background)
621  * 2 = VI (video)
622  * 3 = VO (voice)
623  */
624  struct hostapd_wmm_ac_params wmm_ac_params[4];
625 
626  int ht_op_mode_fixed;
627  u16 ht_capab;
628  int ieee80211n;
629  int secondary_channel;
630  int no_pri_sec_switch;
631  int require_ht;
632  int obss_interval;
633  u32 vht_capab;
634  int ieee80211ac;
635  int require_vht;
636  u8 vht_oper_chwidth;
637  u8 vht_oper_centr_freq_seg0_idx;
638  u8 vht_oper_centr_freq_seg1_idx;
639 
640 #ifdef CONFIG_FST
641  struct fst_iface_cfg fst_cfg;
642 #endif /* CONFIG_FST */
643 
644 #ifdef CONFIG_P2P
645  u8 p2p_go_ctwindow;
646 #endif /* CONFIG_P2P */
647 
648 #ifdef CONFIG_TESTING_OPTIONS
649  double ignore_probe_probability;
650  double ignore_auth_probability;
651  double ignore_assoc_probability;
652  double ignore_reassoc_probability;
653  double corrupt_gtk_rekey_mic_probability;
654 #endif /* CONFIG_TESTING_OPTIONS */
655 
656 #ifdef CONFIG_ACS
657  unsigned int acs_num_scans;
658  struct acs_bias {
659  int channel;
660  double bias;
661  } *acs_chan_bias;
662  unsigned int num_acs_chan_bias;
663 #endif /* CONFIG_ACS */
664 };
665 
666 
667 int hostapd_mac_comp(const void *a, const void *b);
668 int hostapd_mac_comp_empty(const void *a);
669 struct hostapd_config * hostapd_config_defaults(void);
670 void hostapd_config_defaults_bss(struct hostapd_bss_config *bss);
671 void hostapd_config_free_eap_user(struct hostapd_eap_user *user);
672 void hostapd_config_clear_wpa_psk(struct hostapd_wpa_psk **p);
673 void hostapd_config_free_bss(struct hostapd_bss_config *conf);
674 void hostapd_config_free(struct hostapd_config *conf);
675 int hostapd_maclist_found(struct mac_acl_entry *list, int num_entries,
676  const u8 *addr, int *vlan_id);
677 int hostapd_rate_found(int *list, int rate);
678 const u8 * hostapd_get_psk(const struct hostapd_bss_config *conf,
679  const u8 *addr, const u8 *p2p_dev_addr,
680  const u8 *prev_psk);
681 int hostapd_setup_wpa_psk(struct hostapd_bss_config *conf);
682 int hostapd_vlan_id_valid(struct hostapd_vlan *vlan, int vlan_id);
683 const char * hostapd_get_vlan_id_ifname(struct hostapd_vlan *vlan,
684  int vlan_id);
685 struct hostapd_radius_attr *
686 hostapd_config_get_radius_attr(struct hostapd_radius_attr *attr, u8 type);
687 int hostapd_config_check(struct hostapd_config *conf, int full_config);
688 void hostapd_set_security_params(struct hostapd_bss_config *bss,
689  int full_config);
690 
691 #endif /* HOSTAPD_CONFIG_H */
Definition: ap_config.h:129
Definition: ap_config.h:192
RADIUS servers for RADIUS client.
Definition: radius_client.h:134
Definition: ip_addr.h:8
IEEE 802.11 Common routines.
void hostapd_config_free(struct hostapd_config *conf)
Free hostapd configuration.
Definition: ap_config.c:576
Definition: ap_config.h:60
Definition: ap_config.h:158
WPA Supplicant - Common definitions.
Definition: wpabuf.h:16
Definition: ap_config.h:110
Definition: eap.h:21
Definition: ap_config.h:124
Definition: common.h:501
Definition: ap_config.h:77
Definition: driver.h:909
Definition: wpa_auth.h:117
Definition: wpa_auth.h:108
hostapd_hw_mode
Hardware mode.
Definition: defs.h:302
Driver interface API definition.
Definition: driver.h:1746
Definition: ap_config.h:50
WPA definitions shared between hostapd and wpa_supplicant.
int hostapd_maclist_found(struct mac_acl_entry *list, int num_entries, const u8 *addr, int *vlan_id)
Find a MAC address from a list.
Definition: ap_config.c:608
Wi-Fi Protected Setup.
Per-BSS configuration.
Definition: ap_config.h:209
IEEE 802.11 Frame type definitions Copyright (c) 2007-2008 Intel Corporation.
Definition: ap_config.h:167
mfp_options
Management frame protection (IEEE 802.11w) options.
Definition: defs.h:291
Definition: ap_config.h:182
Definition: ieee802_11_common.h:101
Definition: ap_config.h:177
local MBSS state and settings
Definition: ap_config.h:20
Definition: ap_config.h:137
Definition: wpa_auth_i.h:140
IP address processing.
Per-radio interface configuration.
Definition: ap_config.h:565
EAP method interface This structure defines the EAP method interface. Each method will need to regist...
Definition: eap_i.h:65