Browse Source

Replace deprecated add_sta() with add_sta2()

Jouni Malinen 16 years ago
parent
commit
fb86519d12
5 changed files with 35 additions and 48 deletions
  1. 2 6
      hostapd/driver.h
  2. 10 12
      hostapd/driver_hostap.c
  3. 13 19
      hostapd/driver_i.h
  4. 3 3
      hostapd/driver_nl80211.c
  5. 7 8
      hostapd/driver_test.c

+ 2 - 6
hostapd/driver.h

@@ -122,12 +122,8 @@ struct wpa_driver_ops {
 	int (*set_countermeasures)(void *priv, int enabled);
 	int (*send_mgmt_frame)(void *priv, const void *msg, size_t len,
 			       int flags);
-	/* note: sta_add() is deprecated; use sta_add2() instead */
-	int (*sta_add)(const char *ifname, void *priv, const u8 *addr, u16 aid,
-		       u16 capability, u8 *supp_rates, size_t supp_rates_len,
-		       int flags, u16 listen_interval);
-	int (*sta_add2)(const char *ifname, void *priv,
-			struct hostapd_sta_add_params *params);
+	int (*sta_add)(const char *ifname, void *priv,
+		       struct hostapd_sta_add_params *params);
 	int (*get_inact_sec)(void *priv, const u8 *addr);
 	int (*sta_clear_stats)(void *priv, const u8 *addr);
 

+ 10 - 12
hostapd/driver_hostap.c

@@ -641,10 +641,8 @@ static int hostap_read_sta_data(void *priv,
 }
 
 
-static int hostap_sta_add(const char *ifname, void *priv, const u8 *addr,
-			  u16 aid, u16 capability, u8 *supp_rates,
-			  size_t supp_rates_len, int flags,
-			  u16 listen_interval)
+static int hostap_sta_add(const char *ifname, void *priv,
+			  struct hostapd_sta_add_params *params)
 {
 	struct hostap_driver_data *drv = priv;
 	struct prism2_hostapd_param param;
@@ -656,22 +654,22 @@ static int hostap_sta_add(const char *ifname, void *priv, const u8 *addr,
 #define WLAN_RATE_5M5 BIT(2)
 #define WLAN_RATE_11M BIT(3)
 
-	for (i = 0; i < supp_rates_len; i++) {
-		if ((supp_rates[i] & 0x7f) == 2)
+	for (i = 0; i < params->supp_rates_len; i++) {
+		if ((params->supp_rates[i] & 0x7f) == 2)
 			tx_supp_rates |= WLAN_RATE_1M;
-		if ((supp_rates[i] & 0x7f) == 4)
+		if ((params->supp_rates[i] & 0x7f) == 4)
 			tx_supp_rates |= WLAN_RATE_2M;
-		if ((supp_rates[i] & 0x7f) == 11)
+		if ((params->supp_rates[i] & 0x7f) == 11)
 			tx_supp_rates |= WLAN_RATE_5M5;
-		if ((supp_rates[i] & 0x7f) == 22)
+		if ((params->supp_rates[i] & 0x7f) == 22)
 			tx_supp_rates |= WLAN_RATE_11M;
 	}
 
 	memset(&param, 0, sizeof(param));
 	param.cmd = PRISM2_HOSTAPD_ADD_STA;
-	memcpy(param.sta_addr, addr, ETH_ALEN);
-	param.u.add_sta.aid = aid;
-	param.u.add_sta.capability = capability;
+	memcpy(param.sta_addr, params->addr, ETH_ALEN);
+	param.u.add_sta.aid = params->aid;
+	param.u.add_sta.capability = params->capability;
 	param.u.add_sta.tx_supp_rates = tx_supp_rates;
 	return hostapd_ioctl(drv, &param, sizeof(param));
 }

+ 13 - 19
hostapd/driver_i.h

@@ -212,29 +212,23 @@ hostapd_sta_add(const char *ifname, struct hostapd_data *hapd, const u8 *addr,
 		size_t supp_rates_len, int flags, u16 listen_interval,
 		const struct ht_cap_ie *ht_capabilities)
 {
+	struct hostapd_sta_add_params params;
+
 	if (hapd->driver == NULL)
 		return 0;
-
-	if (hapd->driver->sta_add2) {
-		struct hostapd_sta_add_params params;
-		os_memset(&params, 0, sizeof(params));
-		params.addr = addr;
-		params.aid = aid;
-		params.capability = capability;
-		params.supp_rates = supp_rates;
-		params.supp_rates_len = supp_rates_len;
-		params.flags = flags;
-		params.listen_interval = listen_interval;
-		params.ht_capabilities = ht_capabilities;
-		return hapd->driver->sta_add2(ifname, hapd->drv_priv, &params);
-	}
-
 	if (hapd->driver->sta_add == NULL)
 		return 0;
-	return hapd->driver->sta_add(ifname, hapd->drv_priv, addr, aid,
-				     capability, (u8 *) supp_rates,
-				     supp_rates_len,
-				     flags, listen_interval);
+
+	os_memset(&params, 0, sizeof(params));
+	params.addr = addr;
+	params.aid = aid;
+	params.capability = capability;
+	params.supp_rates = supp_rates;
+	params.supp_rates_len = supp_rates_len;
+	params.flags = flags;
+	params.listen_interval = listen_interval;
+	params.ht_capabilities = ht_capabilities;
+	return hapd->driver->sta_add(ifname, hapd->drv_priv, &params);
 }
 
 static inline int

+ 3 - 3
hostapd/driver_nl80211.c

@@ -844,8 +844,8 @@ static int i802_send_eapol(void *priv, const u8 *addr, const u8 *data,
 }
 
 
-static int i802_sta_add2(const char *ifname, void *priv,
-			 struct hostapd_sta_add_params *params)
+static int i802_sta_add(const char *ifname, void *priv,
+			struct hostapd_sta_add_params *params)
 {
 	struct i802_driver_data *drv = priv;
 	struct nl_msg *msg;
@@ -3117,7 +3117,7 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
 	.sta_disassoc = i802_sta_disassoc,
 	.sta_remove = i802_sta_remove,
 	.send_mgmt_frame = i802_send_mgmt_frame,
-	.sta_add2 = i802_sta_add2,
+	.sta_add = i802_sta_add,
 	.get_inact_sec = i802_get_inact_sec,
 	.sta_clear_stats = i802_sta_clear_stats,
 	.set_freq = i802_set_freq,

+ 7 - 8
hostapd/driver_test.c

@@ -1029,10 +1029,8 @@ static int test_driver_set_sta_vlan(void *priv, const u8 *addr,
 }
 
 
-static int test_driver_sta_add(const char *ifname, void *priv, const u8 *addr,
-			       u16 aid, u16 capability, u8 *supp_rates,
-			       size_t supp_rates_len, int flags,
-			       u16 listen_interval)
+static int test_driver_sta_add(const char *ifname, void *priv,
+			       struct hostapd_sta_add_params *params)
 {
 	struct test_driver_data *drv = priv;
 	struct test_client_socket *cli;
@@ -1040,14 +1038,15 @@ static int test_driver_sta_add(const char *ifname, void *priv, const u8 *addr,
 
 	wpa_printf(MSG_DEBUG, "%s(ifname=%s addr=" MACSTR " aid=%d "
 		   "capability=0x%x flags=0x%x listen_interval=%d)",
-		   __func__, ifname, MAC2STR(addr), aid, capability, flags,
-		   listen_interval);
+		   __func__, ifname, MAC2STR(params->addr), params->aid,
+		   params->capability, params->flags,
+		   params->listen_interval);
 	wpa_hexdump(MSG_DEBUG, "test_driver_sta_add - supp_rates",
-		    supp_rates, supp_rates_len);
+		    params->supp_rates, params->supp_rates_len);
 
 	cli = drv->cli;
 	while (cli) {
-		if (memcmp(cli->addr, addr, ETH_ALEN) == 0)
+		if (os_memcmp(cli->addr, params->addr, ETH_ALEN) == 0)
 			break;
 		cli = cli->next;
 	}