You Are Here:

Community: Wiki

This page was last modified on 31 March 2009, at 00:34.

How to retrieve the SSID and BSSID using WLAN INFO API

From Forum Nokia Wiki

Some of you might want to retrieve the BSSID of the network using WLAN Info API. Others just want to retrieve the SSID so they can use the RConnectionMonitor. But sometimes you need both information for available WLANs.

In the following code I show how to retrieve both SSID and BSSID for all available WLANs. I am presenting a static version with the code that you can just use in a function.

Contents

CODE EXAMPLE

Header files:

#include <wlanmgmtclient.h>

Libraries:

//You must install the WLAN Info API plug-in

Capabilities Required:

CAPABILITY NetworkServices ReadUserData WriteUserData ReadDeviceData


GetSSID

/**
* Function that retrieves SSID of current scaned network
*
* The SSID is the Information Element with ID = 0
* The SSID can be at most 34 bytes, so the aSSID should have the capacity for 34 bytes
*
* Returns KErrNone if successful or the type of error ocurred
*/

TInt GetSSID(CWlanScanInfo *scanInfo, TDes8 &aSSID)
{
TInt error;
TUint8 ie;
TUint8 length;
TUint8 vdata[40];
const TUint8 *data = &vdata[0];
 
if(scanInfo == NULL)
return KErrNullPointerPassed;
 
if(aSSID.MaxLength() < 34)
return KErrNoMemory;
 
 
if((error = scanInfo->FirstIE(ie, length, &data)) == KErrNone)
{
if(ie == 0)
{
aSSID.Copy(data, length);
return KErrNone;
}
}
else
return error;
 
while((error = scanInfo->NextIE(ie, length, &data)) == KErrNone)
{
if(ie == 0)
{
aSSID.Copy(data, length);
return KErrNone;
}
}
 
return error;
}

GetWLANAPIInfoL

/**
* This function is used to list WLAN Info with WLAN Info API
*
* @infoBuff - when function returns it holds the WLAN Information
*/

void GetWLANAPIInfoL(TDes &infoBuff)
{
CWlanScanInfo iScanInfo;
CWlanMgmtClient iWLANMgmtClient;
 
iWLANMgmtClient.GetScanResults(iScanInfo);
 
TInt i=1, k;
TBuf<36> bss;
 
_LIT(KNetwork, "Network ");
_LIT(KNEWLine, "\n");
_LIT(KSeparator, " - ");
_LIT(KBSSIDFormat, "%02X:");
_LIT(KSSIDUnknown, "SSID Unknown");
 
infoBuff.Zero();
for(iScanInfo.First(); !iScanInfo.IsDone(); iScanInfo.Next() )
{
infoBuff.Append(KNetwork);
infoBuff.AppendNum(i);
infoBuff.Append(KSeparator);
i++;
 
//Retrieve BSSID
TWlanBssid bssid;
iScanInfo.Bssid( bssid );
bss.Zero();
for(k = 0; k < bssid.Length(); k++)
bss.AppendFormat(KBSSIDFormat, bssid[k]);
//remove last :
bss.Delete(bss.Length()-1, 1);
infoBuff.Append(bss);
infoBuff.Append(KSeparator);
 
//Get transmision level
TInt8 rxLevel = iScanInfo->RXLevel();
infoBuff.AppendNum(rxLevel);
infoBuff.Append(KSeparator);
 
//Get SSID
TBuf8<36> ssid;
TInt err;
err = GetSSID(&iScanInfo, ssid);
if(err== KErrNone)
{
bss.Zero();
bss.Copy(ssid);
infoBuff.Append(bss);
}
else
infoBuff.Append(KSSIDUnknown);
 
infoBuff.Append(KNEWLine);
}
}


Related links:

Related Wiki Articles

No related wiki articles found

Rate This

 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia 
RDF Facets: qdcZdescriptionQSxEa0E20WikiE20javaE20symbianE5fosE20s60E20maemoE20cE2bE2bE20WikiE20HomeE20WikiE20HelpE20OverviewE20GlossaryE20CreateE20PageE20ProposeE20anE20ArticleE20SpotlightE20TopicE20E2dE20WE52TE20WidgetsE20ProgrammingE20E4canguageE20E2dE20SymbianE20CE2bE2bE20E2dE20OpenE20CE2fCE2bE2bE20E2dE20JavaE20E2dE20FlashE20E4citeE20E2dE20PythonE20WebE20TechnologiesE20E2dE20WE52TE20WidgetsE20E2dE20WidSetsE20ToolsE20andE20SE44KE20CodeE20E45E78amplesE20KnowledgeE20BaseE20TechnologyE20AreasE20SoftwareE20PlatformsE20E44evelopmentE20ProcessE20E3fE3fWikiE20ChineseE20E3fE3fE3fWikiE20JapaneseE20PortugueseE2fBrazilianE20E52ussianE20WhatE20linksE20hereE20UploadE20fileE20SpecialE20pagesE20PrintableE20versionE44ownloadE20asE20PE44FE20GoE20ToE20E2eE2eE2eX qdcZidentifierQSxhttpE3aE2fE2fwikiE2eforumE2enokiaE2ecomE2findeE78E2ephpE2fHowE5ftoE5fretrieveE5ftheE5fSSIE44E5fandE5fBSSIE44E5fusingE5fWE4cANE5fINFOE5fAPIX qdcZpublisherQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fidE2fc764fd1cE2d8b06E2d499aE2d9a6aE2d17c3903d5a65E2fforumE5fnokiaE5fcrawlerE5fagentX qdcZtitleQSxHowE20toE20retrieveE20theE20SSIE44E20andE20BSSIE44E20usingE20WE4cANE20INFOE20APIE20E2dE20ForumE20NokiaE20WikiX qdcZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qdcZtypeQUqfntypeZCommunityContentQ qdcZtypeQUqfntypeZE52esourceQ qdcZtypeQUqfntypeZWebpageQ qdcZtypeQUqfntypeZWikiContentQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qrssZdescriptionQSxEa0E20WikiE20javaE20symbianE5fosE20s60E20maemoE20cE2bE2bE20WikiE20HomeE20WikiE20HelpE20OverviewE20GlossaryE20CreateE20PageE20ProposeE20anE20ArticleE20SpotlightE20TopicE20E2dE20WE52TE20WidgetsE20ProgrammingE20E4canguageE20E2dE20SymbianE20CE2bE2bE20E2dE20OpenE20CE2fCE2bE2bE20E2dE20JavaE20E2dE20FlashE20E4citeE20E2dE20PythonE20WebE20TechnologiesE20E2dE20WE52TE20WidgetsE20E2dE20WidSetsE20ToolsE20andE20SE44KE20CodeE20E45E78amplesE20KnowledgeE20BaseE20TechnologyE20AreasE20SoftwareE20PlatformsE20E44evelopmentE20ProcessE20E3fE3fWikiE20ChineseE20E3fE3fE3fWikiE20JapaneseE20PortugueseE2fBrazilianE20E52ussianE20WhatE20linksE20hereE20UploadE20fileE20SpecialE20pagesE20PrintableE20versionE44ownloadE20asE20PE44FE20GoE20ToE20E2eE2eE2eX qfnZdistributionQUxhttpE3aE2fE2fwikiE2eforumE2enokiaE2ecomE2fX qfnZtopicQUqfnTopicZconnectivityQRqmarsZrelevanceQNx100X qfnZtopicQUqfnTopicZwlanQRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx100X qfnZtypeQUqfntypeZCommunityContentQ qfnZtypeQUqfntypeZE52esourceQ qfnZtypeQUqfntypeZWebpageQ qfnZtypeQUqfntypeZWikiContentQ qfnZupdatedQDx2008E2d10E2d02X qfnZuserE5ftagQSxconnectivityX qfnZuserE5ftagQSxwlanX qmarsZdescriptionQSxEa0E20WikiE20javaE20symbianE5fosE20s60E20maemoE20cE2bE2bE20WikiE20HomeE20WikiE20HelpE20OverviewE20GlossaryE20CreateE20PageE20ProposeE20anE20ArticleE20SpotlightE20TopicE20E2dE20WE52TE20WidgetsE20ProgrammingE20E4canguageE20E2dE20SymbianE20CE2bE2bE20E2dE20OpenE20CE2fCE2bE2bE20E2dE20JavaE20E2dE20FlashE20E4citeE20E2dE20PythonE20WebE20TechnologiesE20E2dE20WE52TE20WidgetsE20E2dE20WidSetsE20ToolsE20andE20SE44KE20CodeE20E45E78amplesE20KnowledgeE20BaseE20TechnologyE20AreasE20SoftwareE20PlatformsE20E44evelopmentE20ProcessE20E3fE3fWikiE20ChineseE20E3fE3fE3fWikiE20JapaneseE20PortugueseE2fBrazilianE20E52ussianE20WhatE20linksE20hereE20UploadE20fileE20SpecialE20pagesE20PrintableE20versionE44ownloadE20asE20PE44FE20GoE20ToE20E2eE2eE2eX qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qrdfZtypeQUqfntypeZCommunityContentQ qrdfZtypeQUqfntypeZE52esourceQ qrdfZtypeQUqfntypeZWebpageQ qrdfZtypeQUqfntypeZWikiContentQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ
User Rating: qfnZuserE5FratingQNx5E2E0000X