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; }
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; }