Browse Source

Define struct wpa_ssid::mode as an enum with more readable values

Jouni Malinen 15 years ago
parent
commit
d7dcba70bc

+ 11 - 1
wpa_supplicant/ap.c

@@ -155,7 +155,17 @@ int wpa_supplicant_create_ap(struct wpa_supplicant *wpa_s,
 	os_memset(&params, 0, sizeof(params));
 	params.ssid = ssid->ssid;
 	params.ssid_len = ssid->ssid_len;
-	params.mode = ssid->mode;
+	switch (ssid->mode) {
+	case WPAS_MODE_INFRA:
+		params.mode = IEEE80211_MODE_INFRA;
+		break;
+	case WPAS_MODE_IBSS:
+		params.mode = IEEE80211_MODE_IBSS;
+		break;
+	case WPAS_MODE_AP:
+		params.mode = IEEE80211_MODE_AP;
+		break;
+	}
 	params.freq = ssid->frequency;
 
 	if (wpa_drv_associate(wpa_s, &params) < 0) {

+ 5 - 1
wpa_supplicant/config_ssid.h

@@ -280,7 +280,11 @@ struct wpa_ssid {
 	 * pairwise=NONE, group=TKIP (or CCMP, but not both), and psk must also
 	 * be set (either directly or using ASCII passphrase).
 	 */
-	int mode;
+	enum wpas_mode {
+		WPAS_MODE_INFRA = 0,
+		WPAS_MODE_IBSS = 1,
+		WPAS_MODE_AP = 2,
+	} mode;
 
 	/**
 	 * disabled - Whether this network is currently disabled

+ 3 - 3
wpa_supplicant/ctrl_iface.c

@@ -476,15 +476,15 @@ static int wpa_supplicant_ctrl_iface_status(struct wpa_supplicant *wpa_s,
 			}
 
 			switch (ssid->mode) {
-			case 0:
+			case WPAS_MODE_INFRA:
 				ret = os_snprintf(pos, end - pos,
 						  "mode=station\n");
 				break;
-			case 1:
+			case WPAS_MODE_IBSS:
 				ret = os_snprintf(pos, end - pos,
 						  "mode=IBSS\n");
 				break;
-			case 2:
+			case WPAS_MODE_AP:
 				ret = os_snprintf(pos, end - pos,
 						  "mode=AP\n");
 				break;

+ 4 - 4
wpa_supplicant/mlme.c

@@ -754,7 +754,7 @@ static void ieee80211_rx_mgmt_auth(struct wpa_supplicant *wpa_s,
 	u16 auth_alg, auth_transaction, status_code;
 	int adhoc;
 
-	adhoc = ssid && ssid->mode == 1;
+	adhoc = ssid && ssid->mode == WPAS_MODE_IBSS;
 
 	if (wpa_s->mlme.state != IEEE80211_AUTHENTICATE && !adhoc) {
 		wpa_printf(MSG_DEBUG, "MLME: authentication frame received "
@@ -1685,7 +1685,7 @@ static void ieee80211_rx_mgmt_probe_req(struct wpa_supplicant *wpa_s,
 	u8 *pos, *end;
 	struct wpa_ssid *ssid = wpa_s->current_ssid;
 
-	adhoc = ssid && ssid->mode == 1;
+	adhoc = ssid && ssid->mode == WPAS_MODE_IBSS;
 
 	if (!adhoc || wpa_s->mlme.state != IEEE80211_IBSS_JOINED ||
 	    len < 24 + 2 || wpa_s->mlme.probe_resp == NULL)
@@ -2193,7 +2193,7 @@ static void ieee80211_sta_timer(void *eloop_ctx, void *timeout_ctx)
 static void ieee80211_sta_new_auth(struct wpa_supplicant *wpa_s)
 {
 	struct wpa_ssid *ssid = wpa_s->current_ssid;
-	if (ssid && ssid->mode != 0)
+	if (ssid && ssid->mode != WPAS_MODE_INFRA)
 		return;
 
 #if 0 /* FIX */
@@ -2665,7 +2665,7 @@ int ieee80211_sta_associate(struct wpa_supplicant *wpa_s,
 	ieee80211_sta_set_channel(wpa_s, wpa_s->mlme.phymode,
 				  wpa_s->mlme.channel, wpa_s->mlme.freq);
 
-	if (params->mode == 1 && !wpa_s->mlme.bssid_set) {
+	if (params->mode == WPAS_MODE_IBSS && !wpa_s->mlme.bssid_set) {
 		os_get_time(&wpa_s->mlme.ibss_join_req);
 		wpa_s->mlme.state = IEEE80211_IBSS_SEARCH;
 		return ieee80211_sta_find_ibss(wpa_s);

+ 9 - 8
wpa_supplicant/wpa_supplicant.c

@@ -150,7 +150,7 @@ static int wpa_supplicant_set_wpa_none_key(struct wpa_supplicant *wpa_s,
 	/* IBSS/WPA-None uses only one key (Group) for both receiving and
 	 * sending unicast and multicast packets. */
 
-	if (ssid->mode != IEEE80211_MODE_IBSS) {
+	if (ssid->mode != WPAS_MODE_IBSS) {
 		wpa_printf(MSG_INFO, "WPA: Invalid mode %d (not IBSS/ad-hoc) "
 			   "for WPA-None", ssid->mode);
 		return -1;
@@ -257,7 +257,7 @@ void wpa_supplicant_initiate_eapol(struct wpa_supplicant *wpa_s)
 	struct wpa_ssid *ssid = wpa_s->current_ssid;
 
 #ifdef CONFIG_IBSS_RSN
-	if (ssid->mode == IEEE80211_MODE_IBSS &&
+	if (ssid->mode == WPAS_MODE_IBSS &&
 	    wpa_s->key_mgmt != WPA_KEY_MGMT_NONE &&
 	    wpa_s->key_mgmt != WPA_KEY_MGMT_WPA_NONE) {
 		/*
@@ -990,7 +990,7 @@ void wpa_supplicant_associate(struct wpa_supplicant *wpa_s,
 	int assoc_failed = 0;
 	struct wpa_ssid *old_ssid;
 
-	if (ssid->mode == IEEE80211_MODE_AP) {
+	if (ssid->mode == WPAS_MODE_AP) {
 #ifdef CONFIG_AP
 		if (!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_AP)) {
 			wpa_printf(MSG_INFO, "Driver does not support AP "
@@ -1180,7 +1180,8 @@ void wpa_supplicant_associate(struct wpa_supplicant *wpa_s,
 		params.ssid = ssid->ssid;
 		params.ssid_len = ssid->ssid_len;
 	}
-	if (ssid->mode == 1 && ssid->frequency > 0 && params.freq == 0)
+	if (ssid->mode == WPAS_MODE_IBSS && ssid->frequency > 0 &&
+	    params.freq == 0)
 		params.freq = ssid->frequency; /* Initial channel for IBSS */
 	params.wpa_ie = wpa_ie;
 	params.wpa_ie_len = wpa_ie_len;
@@ -1253,7 +1254,7 @@ void wpa_supplicant_associate(struct wpa_supplicant *wpa_s,
 		wpa_supplicant_cancel_auth_timeout(wpa_s);
 		wpa_supplicant_set_state(wpa_s, WPA_COMPLETED);
 #ifdef CONFIG_IBSS_RSN
-	} else if (ssid->mode == IEEE80211_MODE_IBSS &&
+	} else if (ssid->mode == WPAS_MODE_IBSS &&
 		   wpa_s->key_mgmt != WPA_KEY_MGMT_NONE &&
 		   wpa_s->key_mgmt != WPA_KEY_MGMT_WPA_NONE) {
 		ibss_rsn_set_psk(wpa_s->ibss_rsn, ssid->psk);
@@ -1269,10 +1270,10 @@ void wpa_supplicant_associate(struct wpa_supplicant *wpa_s,
 
 		if (assoc_failed) {
 			/* give IBSS a bit more time */
- 			timeout = ssid->mode ? 10 : 5;
+			timeout = ssid->mode == WPAS_MODE_IBSS ? 10 : 5;
 		} else if (wpa_s->conf->ap_scan == 1) {
 			/* give IBSS a bit more time */
- 			timeout = ssid->mode ? 20 : 10;
+			timeout = ssid->mode == WPAS_MODE_IBSS ? 20 : 10;
 		}
 		wpa_supplicant_req_auth_timeout(wpa_s, timeout, 0);
 	}
@@ -1766,7 +1767,7 @@ void wpa_supplicant_rx_eapol(void *ctx, const u8 *src_addr,
 
 #ifdef CONFIG_IBSS_RSN
 	if (wpa_s->current_ssid &&
-	    wpa_s->current_ssid->mode == IEEE80211_MODE_IBSS) {
+	    wpa_s->current_ssid->mode == WPAS_MODE_IBSS) {
 		ibss_rsn_rx_eapol(wpa_s->ibss_rsn, src_addr, buf, len);
 		return;
 	}