亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dot11lib.c

?? PNE 3.3 wlan source code, running at more than vxworks6.x version
?? C
?? 第 1 頁 / 共 5 頁
字號:
    DOT11_FW * pDot11 = (DOT11_FW *)pEnd;        int i;    DOT11_LOG(DOT11_DEBUG_INFO, DOT11_AREA_INIT,              ("dot11EndStop: Stopping.\n",                0, 0, 0, 0, 0, 0));    if (pEnd == NULL)        {        return ERROR;        }    END_FLAGS_CLR (pEnd, (IFF_UP | IFF_RUNNING));    /* Stop the old SME mode */    if (pDot11->dot11Mode != DOT11_MODE_NONE)        {        for (i=0; i<DOT11_BSS_MAX; i++)            {            pDot11->sme->bss[i].linkStatus = DOT11_LINK_DOWN;            }        /* If there is an SME mode free function registered */        if (pDot11->sme->modeFree != NULL)            {            pDot11->sme->modeFree(pDot11);            }        /* Stop the HDD */        pDot11->hdd->stop(pDot11);                pDot11->dot11Mode = DOT11_MODE_NONE;        }        dot11TimerDel(pDot11->oneSecTimer);    dot11TimerDel(pDot11->sixteenSecTimer);    /* Zero out the statistics */    bzero((char *)&pDot11->stats, sizeof(DOT11_STATS));        return OK;    }/****************************************************************************** dot11EndUnload - END unload function** This function de-initializes the driver, freeing all memory allocated by* the mux LOAD routine.n  After completion of this function, it is as if* the driver never existed.  The hardware is stopped or shut down if possible.** RETURNS: OK or ERROR** ERRNO: N/A*/LOCAL STATUS dot11EndUnload    (    END_OBJ * pEnd        /* wireless END device to Unload*/    )    {    DOT11_FW * pDot11 = (DOT11_FW *)pEnd;    STATUS status = OK;    DOT11_LOG(DOT11_DEBUG_INFO, DOT11_AREA_INIT,              ("dot11EndUnload: Unloading.\n",                0, 0, 0, 0, 0, 0));    if (pEnd == NULL)        {        return ERROR;        }    if (pDot11->dot11Mode != DOT11_MODE_NONE)        {        status = dot11EndStop(pEnd);        }    END_OBJECT_UNLOAD (pEnd);    /* Some versions of Tornado have a bug where the txSem is not freed on    unload.  Check if this is the case and do it here if it was not freed. */    if (pEnd->txSem != NULL)        {        semDelete (pEnd->txSem);        pEnd->txSem = NULL;        }        /* De-initialize and free the children */    status |= pDot11->hdd->free(pDot11);    status |= pDot11->sme->free(pDot11);    status |= pDot11->dpe->free(pDot11);    /* Free the network cluster pool */    status |= dot11MemFree(pDot11);        status |= dot11TimerDestroy();    /* Free the DMA buffer that was allocated by sysDot11EndLoad() */    if (dot11BspFuncs.dmaMemFree != NULL)        {        dot11BspFuncs.dmaMemFree(pDot11->unitNum);         }    else        {        DOT11_LOG(DOT11_DEBUG_INFO, DOT11_AREA_INIT,                  ("dot11EndUnload: dmaMemFree not implemented.\n",                    0, 0, 0, 0, 0, 0));        }        /* We don't need to free the root object itself, since muxDevUnload()    should do this for us */       return status;    }#ifdef DOT11_DEBUG_GLOBAL/****************************************************************************** dot11DebugLevelGet - Returns the current debug level for the specified area** This function returns the debug level for the specified area.  Note that* DOT11_AREA_ALL is not a valid option.  This function can only be called * from the kernel.** RETURNS: The debug level of the current area.  See DESCRIPTION.** ERRNO: N/A** \IFSET KERNEL**/INT32 dot11DebugLevelGet    (    int area              /* Debug area to get level for */    )    {    return    dot11DebugArray[area];    }/****************************************************************************** dot11DebugLevelSet - Sets the debug level for the specified area.** This function sets the debug level for the specified area.  DOT11_AREA_ALL * is a valid area, and will set the debug level of all AREAs to the specified* value. This function can only be called from the kernel.** RETURNS: OK or ERROR** ERRNO: N/A** \IFSET KERNEL**/STATUS dot11DebugLevelSet    (    int area,             /* Debug area to get level for */    int level             /* Debug level to set */    )    {    int i;    if (area == DOT11_AREA_ALL)        {        for (i=1; i<DOT11_MAX_DEBUG_AREAS; i++)            {            dot11DebugArray[i] = level;            }        }    else if (area >= DOT11_MAX_DEBUG_AREAS)        {        return ERROR;        }    else        {        dot11DebugArray[area] = level;        }        return OK;    }#endif/******************************************************************************* dot11Parse - Parses the initString and fills in the device structure** This function parses the init string, which is colon delimited. ** RETURNS: OK or ERROR** ERRNO: N/A*/LOCAL STATUS dot11Parse     (    DOT11_FW *  pDot11,            /* Pointer to device structure */    char *       initString         /* Initialization string to parse */    )    {    char *	tok;    char *	holder = NULL;        /* Unit number. */    tok = strtok_r (initString, ":", &holder);    if (tok == NULL)        return ERROR;    pDot11->unitNum = atoi (tok);    /* Address of BSP COntrol structure  (in hex) */    tok = strtok_r (NULL, ":", &holder);    if (tok == NULL)        {        return ERROR;        }    pDot11->pBsp = (DOT11_BSP_INFO *)strtoul (tok, NULL, 16);        /* Ensure that we have the correct pointer */    if ((pDot11->pBsp == NULL) || (pDot11->pBsp->magicNum != DOT11_BSP_INFO_VER_0))        {        DOT11_LOG(DOT11_DEBUG_FATAL, DOT11_AREA_INIT,                   ("dot11Parse: pBsp or magic number not found!\n",                   0,0,0,0,0,0));        return ERROR;        }        /* This is the most critical addr.  Make sure it's valid */    if ((pDot11->baseAddr = (UINT32)pDot11->pBsp->memBaseAddr) == (UINT32)NULL)        {        return ERROR;        }    DOT11_LOG(DOT11_DEBUG_INFO, DOT11_AREA_INIT,               ("dot11Parse: memBaseAddr = %08x\n",               pDot11->baseAddr,0,0,0,0,0));    /* Copy the entries over one by one.  We don't want to use the original    structure in place for forward compatability reasons */    pDot11->dmaBufAddr = pDot11->pBsp->dmaBuffAddr;    DOT11_LOG(DOT11_DEBUG_INFO, DOT11_AREA_INIT,               ("dot11Parse: dmaBufAddr = %08x\n",               pDot11->dmaBufAddr,0,0,0,0,0));    pDot11->dmaBufSize = pDot11->pBsp->dmaBufSize;    pDot11->dmaBufUsed = 0;    DOT11_LOG(DOT11_DEBUG_INFO, DOT11_AREA_INIT,               ("dot11Parse: dmaBufSize = %08x\n",               pDot11->dmaBufSize,0,0,0,0,0));    if ((pDot11->dmaBufAddr == 0) || (pDot11->dmaBufAddr == 0xffffffff) ||        (pDot11->dmaBufSize == 0))        {        DOT11_LOG(DOT11_DEBUG_FATAL, DOT11_AREA_INIT,                   ("dot11Parse: DMA buffer not provided!\n",                   0,0,0,0,0,0));        return ERROR;        }    pDot11->intVector = pDot11->pBsp->ivec;    pDot11->intLevel = pDot11->pBsp->ilevel;    DOT11_LOG(DOT11_DEBUG_INFO, DOT11_AREA_INIT,               ("dot11Parse: ivec/level = %d/%d\n",               pDot11->intVector,pDot11->intLevel,0,0,0,0));    pDot11->cacheLineSize = pDot11->pBsp->cacheLineSz;    DOT11_LOG(DOT11_DEBUG_INFO, DOT11_AREA_INIT,               ("dot11Parse: CacheLineSize = %d\n",               pDot11->cacheLineSize,0,0,0,0,0));    pDot11->pciVendorId = pDot11->pBsp->pciVendorId;    DOT11_LOG(DOT11_DEBUG_INFO, DOT11_AREA_INIT,               ("dot11Parse: Vendor ID = %04x\n",               pDot11->pciVendorId,0,0,0,0,0));    pDot11->pciDeviceId = pDot11->pBsp->pciDeviceId;    DOT11_LOG(DOT11_DEBUG_INFO, DOT11_AREA_INIT,               ("dot11Parse: Device ID = %04x\n",               pDot11->pciDeviceId,0,0,0,0,0));    pDot11->pciSubDeviceId = pDot11->pBsp->pciSubDeviceId;    pDot11->pciSubVendorId = pDot11->pBsp->pciSubVendorId;    pDot11->pciChipRevId = pDot11->pBsp->pciChipSetRev;    /* Bind in all of the required BSP support functions */    dot11BspFuncs.cacheFlush       = pDot11->pBsp->binding->sysCacheFlush;    dot11BspFuncs.cacheInval       = pDot11->pBsp->binding->sysCacheInvalidate;    dot11BspFuncs.physToVirt       = pDot11->pBsp->binding->sysPhysToVirt;    dot11BspFuncs.virtToPhys       = pDot11->pBsp->binding->sysVirtToPhys;    dot11BspFuncs.sysUsDelay       = pDot11->pBsp->binding->sysUsDelay;    dot11BspFuncs.sysIntConnect    = pDot11->pBsp->binding->sysIntConnect;    dot11BspFuncs.sysIntDisconnect = pDot11->pBsp->binding->sysIntDisconnect;    dot11BspFuncs.sysIntEnable     = pDot11->pBsp->binding->sysIntEnable;    dot11BspFuncs.sysIntDisable    = pDot11->pBsp->binding->sysIntDisable;    dot11BspFuncs.essInit          = pDot11->pBsp->binding->essInit;    dot11BspFuncs.ibssInit         = pDot11->pBsp->binding->ibssInit;    dot11BspFuncs.apInit           = pDot11->pBsp->binding->apInit;    dot11BspFuncs.rsnInit          = pDot11->pBsp->binding->rsnInit;    dot11BspFuncs.dmaMemFree       = pDot11->pBsp->binding->sysDmaMemFree;    /* If there are compile-time initialization items present, then 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一级电影视频| 国产大陆精品国产| 国产大片一区二区| 欧美三级电影一区| 久久精品在线观看| 日本v片在线高清不卡在线观看| 国产aⅴ精品一区二区三区色成熟| 欧美在线观看你懂的| 久久综合色鬼综合色| 一区二区三区成人| 99国产精品99久久久久久| 日韩久久久久久| 香蕉成人伊视频在线观看| 国产91在线看| 久久综合国产精品| 奇米色一区二区三区四区| 色综合久久中文综合久久97| 久久综合久久综合久久| 美女一区二区视频| 欧美色区777第一页| 亚洲免费色视频| 国产91在线观看丝袜| 亚洲精品一线二线三线无人区| 亚洲国产精品久久一线不卡| 91老师片黄在线观看| 国产精品久久久久精k8| 国产99久久久国产精品潘金| 精品国内片67194| 精品一区二区三区在线播放| 日韩一区二区高清| 蜜桃一区二区三区四区| 欧美日本在线播放| 亚州成人在线电影| 欧美日韩精品是欧美日韩精品| 一区二区三区鲁丝不卡| 一本一道波多野结衣一区二区| 中文字幕一区二区三区在线观看| 国产高清亚洲一区| 国产亚洲污的网站| 国产福利精品导航| 国产精品久久久久久一区二区三区 | 91污片在线观看| 中文字幕一区二区视频| 日本91福利区| 精品久久久久久无| 国产美女视频91| 久久精品在线观看| aa级大片欧美| 亚洲精品欧美激情| 欧美日韩一区在线观看| 日韩精彩视频在线观看| 欧美成人a视频| 国产乱国产乱300精品| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 国产精一区二区三区| 久久亚洲精品国产精品紫薇| 懂色av一区二区三区免费看| 国产精品福利一区| 欧美精品高清视频| 国产一区二区三区免费在线观看| 欧美国产精品一区二区| 欧美亚洲综合网| 久久精品国产99| 国产精品视频在线看| 欧美性猛片xxxx免费看久爱| 免费观看在线色综合| 国产欧美精品一区aⅴ影院| 一本一道综合狠狠老| 美女视频黄 久久| 中文字幕亚洲不卡| 欧美疯狂性受xxxxx喷水图片| 国产麻豆91精品| 一级日本不卡的影视| 亚洲精品一区二区三区福利| av在线不卡网| 久久精品国产99国产| 亚洲人成网站在线| 精品久久久久一区二区国产| 97久久精品人人做人人爽50路| 日日摸夜夜添夜夜添精品视频 | 国产一区二区三区电影在线观看| 亚洲欧美日韩小说| 欧美电视剧免费全集观看| 成人av电影在线| 狠狠色丁香久久婷婷综合_中| 亚洲欧美激情小说另类| 久久亚洲综合色| 欧洲国内综合视频| 国产成人精品一区二区三区网站观看| 亚洲韩国一区二区三区| 国产午夜一区二区三区| 欧美一区二区不卡视频| 91理论电影在线观看| 国产成人精品一区二| 免费成人在线影院| 亚洲精品日韩专区silk| 久久久99精品久久| 日韩免费观看高清完整版| 日本道免费精品一区二区三区| 国产成人日日夜夜| 精品一区二区三区免费观看 | 亚洲人成人一区二区在线观看 | 亚洲成人动漫在线观看| 亚洲人妖av一区二区| 日本一区二区三区在线观看| 欧美tickle裸体挠脚心vk| 欧美日韩国产综合视频在线观看| 97久久超碰精品国产| 成人激情综合网站| 国产不卡在线一区| 国产91精品久久久久久久网曝门 | 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 综合久久一区二区三区| 中文字幕一区二区三区色视频| 日本一区免费视频| 久久中文字幕电影| 久久精品亚洲精品国产欧美| 久久久久九九视频| 国产色产综合色产在线视频| 久久综合中文字幕| 国产视频一区在线观看| 欧美经典一区二区| 国产精品动漫网站| 亚洲三级理论片| 亚洲日本免费电影| 亚洲一卡二卡三卡四卡无卡久久| 亚洲国产精品久久久久婷婷884| 一区二区三区在线免费| 亚洲h在线观看| 美女网站色91| 国产一区二区日韩精品| 国产精品一区二区在线观看网站| 国产综合成人久久大片91| 国产裸体歌舞团一区二区| 国产成+人+日韩+欧美+亚洲| 成人午夜碰碰视频| 色狠狠综合天天综合综合| 欧美日韩国产综合一区二区| 欧美一级片免费看| 久久久久久久久久看片| 1024国产精品| 性做久久久久久| 国产一区在线观看视频| 成人免费看黄yyy456| 在线观看亚洲精品| 91精品国产福利在线观看 | 高清不卡在线观看| 日本丰满少妇一区二区三区| 欧美一区二区播放| 国产欧美日韩亚州综合| 亚洲国产精品人人做人人爽| 国产精品一区二区不卡| 色综合久久六月婷婷中文字幕| 6080午夜不卡| 欧美激情艳妇裸体舞| 日韩av一区二区在线影视| 国产suv精品一区二区883| 欧美撒尿777hd撒尿| 欧美韩日一区二区三区四区| 亚洲成人www| www.欧美日韩| 精品免费日韩av| 亚洲亚洲精品在线观看| 成人性视频网站| 91精品一区二区三区在线观看| 久久精品水蜜桃av综合天堂| 亚洲国产精品欧美一二99| 蜜桃久久久久久| 欧美网站大全在线观看| 精品对白一区国产伦| 成人欧美一区二区三区在线播放| 日韩avvvv在线播放| 成人免费av网站| 欧美日韩免费一区二区三区视频| 欧美一区二区三区影视| 欧美国产视频在线| 五月天久久比比资源色| 国产91精品在线观看| 欧美va日韩va| 夜夜操天天操亚洲| 国产在线麻豆精品观看| 欧美日韩精品一区二区三区蜜桃 | 欧美欧美欧美欧美首页| 最近日韩中文字幕| 韩国精品免费视频| 欧美性淫爽ww久久久久无| 欧美变态tickling挠脚心| 亚洲午夜成aⅴ人片| 国产一区二区日韩精品| 在线中文字幕不卡| 国产女主播在线一区二区| 免费精品视频最新在线| 色88888久久久久久影院按摩 | 国产亚洲一区二区在线观看| 午夜私人影院久久久久| 在线观看一区二区精品视频| 国产日产欧美一区| 麻豆精品国产91久久久久久| 色婷婷av一区二区三区gif | 久久综合五月天婷婷伊人|