X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=hostapd%2Fdriver_i.h;h=d513502262595653fb215b0a1ba8e6f480ce861e;hb=92f475b4d871c56d336df963fa7169f2e38d5980;hp=ce1259dd6e96ddbae5d0a511b08c58423b2f503c;hpb=989f52c639ffc602ab7b514db2e19c34ce269292;p=wpasupplicant diff --git a/hostapd/driver_i.h b/hostapd/driver_i.h index ce1259d..d513502 100644 --- a/hostapd/driver_i.h +++ b/hostapd/driver_i.h @@ -20,19 +20,37 @@ #include "config.h" static inline void * -hostapd_driver_init(struct hostapd_data *hapd) +hostapd_driver_init(struct hostapd_data *hapd, const u8 *bssid) { + struct wpa_init_params params; + void *ret; + size_t i; + if (hapd->driver == NULL || hapd->driver->hapd_init == NULL) return NULL; - return hapd->driver->hapd_init(hapd); -} -static inline void * -hostapd_driver_init_bssid(struct hostapd_data *hapd, const u8 *bssid) -{ - if (hapd->driver == NULL || hapd->driver->init_bssid == NULL) + os_memset(¶ms, 0, sizeof(params)); + params.bssid = bssid; + params.ifname = hapd->conf->iface; + params.ssid = (const u8 *) hapd->conf->ssid.ssid; + params.ssid_len = hapd->conf->ssid.ssid_len; + params.test_socket = hapd->conf->test_socket; + params.use_pae_group_addr = hapd->conf->use_pae_group_addr; + params.ht_40mhz_scan = hapd->iconf->secondary_channel != 0; + + params.num_bridge = hapd->iface->num_bss; + params.bridge = os_zalloc(hapd->iface->num_bss * sizeof(char *)); + if (params.bridge == NULL) return NULL; - return hapd->driver->init_bssid(hapd, bssid); + for (i = 0; i < hapd->iface->num_bss; i++) { + struct hostapd_data *bss = hapd->iface->bss[i]; + if (bss->conf->bridge[0]) + params.bridge[i] = bss->conf->bridge; + } + ret = hapd->driver->hapd_init(hapd, ¶ms); + os_free(params.bridge); + + return ret; } static inline void