示例#1
0
tZGReturnStatus
ZGLibScan(tDispatchRequest appPrepareCallback, tDispatchComplete  appDoneCallback, tZGVoidInput *appOpaquePtr)
{
   /* Check if just starting scan, then init some values */
   if (!IS_SCAN_INPROGRESS(APPCXT.scanStatus)) {
#if defined (ZG_CONFIG_CONSOLE)
#if defined (EZ_CONFIG_SCAN)
       if (!IS_USER_SCAN_INPROGRESS(APPCXT.scanStatus))
#endif
       {
           sprintf( (char *) g_ConsoleContext.txBuf,
               "Scan ... for ssid \"%s\"\n\r", ZG_GET_SSID() );

           ZG_PUTSUART( (char *) g_ConsoleContext.txBuf );
       }
#endif
#if defined (EZ_CONFIG_SCAN)
       APPCXT.scanListCount = 0; /* Clean scan list */
#endif /* EZ_CONFIG_SCAN */
       APPCXT.scanCurrentChanIdx = 0;
       SET_SCAN_INPROGRESS(APPCXT.scanStatus);     
   }
  
   return ZGLibQAdd( kZGScanReqSZ, kZGMSGScan, 0,
                     appPrepareCallback, appDoneCallback, appOpaquePtr );
}
示例#2
0
文件: ZGAdhocMgrII.c 项目: bend/PIC
tZGU8
adHocConnRequest( void * const ptrRequest, tZGVoidInput *appOpaquePtr)
{
    tZGAdhocConnectReqPtr ptrConn = (tZGAdhocConnectReqPtr)ptrRequest;

    ptrConn->timeout = HSTOZGS( (tZGU16) 50);            /* *10 msec */
    ptrConn->beaconPrd = HSTOZGS( (tZGU16) 100);
    ptrConn->channel = APPCXT.bssDesc.channel;           /* Use the channel found in scan */
    memcpy( (void *) ptrConn->bssid, (const void *) APPCXT.bssDesc.bssid, kZGMACAddrLen);

    ptrConn->ssidLen = ZG_SSID_LEN();
    memcpy( (void *) ptrConn->ssid, (const void *) ZG_GET_SSID(), ptrConn->ssidLen);

    ZG_PUTRSUART("Connect ...\n\r");

    return ( sizeof(tZGAdhocConnectReq) );
}
示例#3
0
文件: ZGAdhocMgrII.c 项目: bend/PIC
tZGU8
adHocStartRequest( void * const ptrRequest, tZGVoidInput *appOpaquePtr)
{
    tZGAdhocStartReqPtr ptrStart = (tZGAdhocStartReqPtr)ptrRequest;

    /* choose the first channel in ordered list for network start */
    if ( ZG_GET_ACTIVE_CHANNELS() == 0u )
    {
        ZGSYS_MODULE_ASSERT(1, (ROM FAR char *)"Adhoc StartReq: empty channel list\n\r");
    }
    else
        ptrStart->channel = ZG_CHANNEL(0);

    ptrStart->beaconPrd = HSTOZGS( (tZGU16) 100);
    ptrStart->capInfo[0] = kZGAdhocMgrCapBitIbss; /* was | kZGAdhocMgrCapBitShortPreamble;  0x22 */

    /* If in WEP mode, set the corresponding bit. */
    if ( ZG_GET_ENC_TYPE() == (tZGU8)kKeyTypeWep )
    {
        ptrStart->capInfo[0] = ptrStart->capInfo[0] | kZGAdhocMgrCapBitPrivacy;
    }

    ptrStart->capInfo[1] = 0;
    ptrStart->ssidLen = ZG_SSID_LEN();
    memcpy( (void *) ptrStart->ssid, (const void*) ZG_GET_SSID(), ptrStart->ssidLen);

    /* These values are part of the adhoc network beacon */
    /* and are part of the "basic rate" set, not to be */
    /* confused with supported rate set */
    ptrStart->dataRateLen = 2;
    ptrStart->dataRates[0] = 0x82; /* 1Mbps */
    ptrStart->dataRates[1] = 0x84; /* 2Mbps */

    ZG_PUTRSUART("Start ...\n\r");

    return ( sizeof(tZGAdhocStartReq) );
}
/*****************************************************************************
* FUNCTION: IwconfigDisplayStatus
*
* RETURNS: None
*
* PARAMS:    None
*
* NOTES:   Responds to the user invoking ifconfig with no parameters
*****************************************************************************/
static tZGVoidReturn IwprivDisplayStatus(tZGVoidInput)
{

    tZGU8 i, j;
    tZGU8Ptr ptrTemp;

    sprintf( (char *) g_ConsoleContext.txBuf,

#if defined( __18CXX)
        "\nEncryption: %HS\n\r",
#else
        "\nEncryption: %s\n\r",
#endif
        (ROM FAR char*) ZG_GET_CUR_ENC_STR() );

    ZG_PUTSUART( (char *) g_ConsoleContext.txBuf );

    switch ( ZG_GET_ENC_TYPE() )
    {

    case kKeyTypeWep:

        sprintf( (char *) g_ConsoleContext.txBuf,
#if defined( __18CXX)
            "  Auth: %HS\n\r",
#else
            "  Auth: %s\n\r",
#endif
            (ROM FAR char*) ZG_GET_CUR_AUTH_STR());
        ZG_PUTSUART( (char *) g_ConsoleContext.txBuf );

        for( j=0; j < (tZGU8)kZGNumDefWepKeys; j++)
        {

            if ( j == ZG_GET_WEP_ACTIVE_INDEX() )
                ZG_PUTRSUART("* ");
            else
                ZG_PUTRSUART("  ");

            sprintf( (char *) g_ConsoleContext.txBuf,
                "Wep key[%d]:  0x",j+1);
            ZG_PUTSUART( (char *) g_ConsoleContext.txBuf );

            ptrTemp = ZG_GET_WEPKEY(j);

            for ( i=0; i < ZG_GET_WEP_KEY_LEN(); i++ )
            {
                sprintf( (char *) g_ConsoleContext.txBuf,
                    "%.2x", ptrTemp[i]);
                ZG_PUTSUART( (char *) g_ConsoleContext.txBuf );
            }

            ZG_PUTRSUART("\n\r");

        }

        break;

    case kKeyTypePsk:

        ZG_PUTRSUART("  PSK:  0x");

        ptrTemp = ZG_GET_WPAPSK();

        for ( i=0; i <  (tZGU8)kZGMaxPmkLen; i++ )
        {
            sprintf( (char *) g_ConsoleContext.txBuf,
                "%.2x", ptrTemp[i]);
            ZG_PUTSUART( (char *) g_ConsoleContext.txBuf );

        }

        ZG_PUTRSUART("\n\r");
        break;

    case kKeyTypeCalcPsk:

        /* if no pass phrase show a user friendly string */
        if ( ZG_GET_PASSPHRASE_LEN() == 0u )
        {
            sprintf( (char *) g_ConsoleContext.txBuf,
#if defined( __18CXX)
                "  Phrase:  \"%HS\"\n\r",
#else
                "  Phrase:  \"%s\"\n\r",
#endif
                (ROM FAR char*)  kZGNone);
        }
        else
        {
            sprintf( (char *) g_ConsoleContext.txBuf,
                "  Phrase:  \"%s\"\n\r",
                ZG_GET_WPA_PASSPHRASE() );
        }
        ZG_PUTSUART( (char *) g_ConsoleContext.txBuf );


        sprintf( (char *) g_ConsoleContext.txBuf,
            "  SSID:    %s\n\r", ZG_GET_SSID());
        ZG_PUTSUART( (char *) g_ConsoleContext.txBuf );

        break;

    }


}