Ejemplo n.º 1
0
static int p80211wext_siwessid(netdevice_t *dev,
			       struct iw_request_info *info,
			       struct iw_point *data, char *essid)
{
	wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
	p80211msg_dot11req_mibset_t     msg;
	p80211item_pstr32_t             pstr;

	int result;
	int err = 0;

	DBFENTER;

	if (!wlan_wext_write) {
		err = (-EOPNOTSUPP);
		goto exit;
	}

	memset(&msg, 0, sizeof(msg));
	memset(&pstr, 0, sizeof(pstr));  
	msg.msgcode = DIDmsg_dot11req_mibset;

#warning "Get rid of p2mib here!"

	if (wlandev->macmode == WLAN_MACMODE_ESS_AP)
		pstr.did = DIDmib_p2_p2Static_p2CnfOwnSSID;
	else
		pstr.did = DIDmib_dot11smt_dot11StationConfigTable_dot11DesiredSSID;

	pstr.data.len = data->length;
	memcpy(pstr.data.data, essid, data->length);

	memcpy(&msg.mibattribute.data, &pstr, sizeof(pstr));
	result = p80211req_dorequest(wlandev, (UINT8*)&msg);

	if (result) {
		err = -EFAULT;
		goto exit;
	}

	/* Auto Join */
	err = p80211wext_autojoin(wlandev); 

 exit:
	DBFEXIT;
	return err;
}
Ejemplo n.º 2
0
static int p80211wext_siwcommit(netdevice_t *dev,
				struct iw_request_info *info,
				struct iw_point *data, char *essid)
{
	wlandevice_t *wlandev = dev->ml_priv;
	int err = 0;

	if (!wlan_wext_write) {
		err = (-EOPNOTSUPP);
		goto exit;
	}

	/* Auto Join */
	err = p80211wext_autojoin(wlandev);

exit:
	return err;
}