/*
* hostapd / Configuration file
- * Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi>
- * Copyright (c) 2007-2008, Intel Corporation
+ * Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi>
*
* 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
#ifndef CONFIG_H
#define CONFIG_H
-#include "defs.h"
+#include "common/defs.h"
#include "ip_addr.h"
-#include "wpa_common.h"
-
-#ifndef IFNAMSIZ
-#define IFNAMSIZ 16
-#endif
+#include "common/wpa_common.h"
typedef u8 macaddr[ETH_ALEN];
int configured;
};
-struct hostapd_wme_ac_params {
+struct hostapd_wmm_ac_params {
int cwmin;
int cwmax;
int aifs;
- int txopLimit; /* in units of 32us */
+ int txop_limit; /* in units of 32us */
int admission_control_mandatory;
};
struct hostapd_ip_addr own_ip_addr;
char *nas_identifier;
struct hostapd_radius_servers *radius;
+ int acct_interim_interval;
struct hostapd_ssid ssid;
int wpa; /* bitfield of WPA_PROTO_WPA, WPA_PROTO_RSN */
int wpa_key_mgmt;
#ifdef CONFIG_IEEE80211W
- enum {
- NO_IEEE80211W = 0,
- IEEE80211W_OPTIONAL = 1,
- IEEE80211W_REQUIRED = 2
- } ieee80211w;
- /* dot11AssociationPingResponseTimeout (in TU) */
- unsigned int assoc_ping_timeout;
- /* dot11AssociationMaximumPingAttempts */
- int assoc_ping_attempts;
+ enum mfp_options ieee80211w;
+ /* dot11AssociationSAQueryMaximumTimeout (in TUs) */
+ unsigned int assoc_sa_query_max_timeout;
+ /* dot11AssociationSAQueryRetryTimeout (in TUs) */
+ int assoc_sa_query_retry_timeout;
#endif /* CONFIG_IEEE80211W */
int wpa_pairwise;
int wpa_group;
int ap_max_inactivity;
int ignore_broadcast_ssid;
- int wme_enabled;
+ int wmm_enabled;
struct hostapd_vlan *vlan, *vlan_tail;
char *config_methods;
u8 os_version[4];
char *ap_pin;
+ int skip_cred_build;
+ u8 *extra_cred;
+ size_t extra_cred_len;
+ int wps_cred_processing;
+ u8 *ap_settings;
+ size_t ap_settings_len;
+ char *upnp_iface;
+ char *friendly_name;
+ char *manufacturer_url;
+ char *model_description;
+ char *model_url;
+ char *upc;
#endif /* CONFIG_WPS */
};
-typedef enum {
- HOSTAPD_MODE_IEEE80211B,
- HOSTAPD_MODE_IEEE80211G,
- HOSTAPD_MODE_IEEE80211A,
- NUM_HOSTAPD_MODES
-} hostapd_hw_mode;
-
-
/**
* struct hostapd_config - Per-radio interface configuration
*/
struct hostapd_config {
struct hostapd_bss_config *bss, *last_bss;
- struct hostapd_radius_servers *radius;
size_t num_bss;
u16 beacon_int;
const struct wpa_driver_ops *driver;
- int passive_scan_interval; /* seconds, 0 = disabled */
- int passive_scan_listen; /* usec */
- int passive_scan_mode;
int ap_table_max_size;
int ap_table_expiration_time;
struct hostapd_tx_queue_params tx_queue[NUM_TX_QUEUES];
/*
- * WME AC parameters, in same order as 802.1D, i.e.
+ * WMM AC parameters, in same order as 802.1D, i.e.
* 0 = BE (best effort)
* 1 = BK (background)
* 2 = VI (video)
* 3 = VO (voice)
*/
- struct hostapd_wme_ac_params wme_ac_params[4];
+ struct hostapd_wmm_ac_params wmm_ac_params[4];
- enum {
- INTERNAL_BRIDGE_DO_NOT_CONTROL = -1,
- INTERNAL_BRIDGE_DISABLED = 0,
- INTERNAL_BRIDGE_ENABLED = 1
- } bridge_packets;
-
-#ifdef CONFIG_IEEE80211N
- int ieee80211n;
int ht_op_mode_fixed;
u16 ht_capab;
+ int ieee80211n;
int secondary_channel;
-#endif /* CONFIG_IEEE80211N */
};
int hostapd_mac_comp(const void *a, const void *b);
int hostapd_mac_comp_empty(const void *a);
+struct hostapd_config * hostapd_config_defaults(void);
struct hostapd_config * hostapd_config_read(const char *fname);
void hostapd_config_free(struct hostapd_config *conf);
int hostapd_maclist_found(struct mac_acl_entry *list, int num_entries,