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

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

?? ixethdbsearch.c

?? u-boot1.3.0的原碼,從配了網絡驅動和FLASH的驅動,并該用ESC竟如
?? C
字號:
/** * @file IxEthDBSearch.c *  * @par * IXP400 SW Release version 2.0 *  * -- Copyright Notice -- *  * @par * Copyright 2001-2005, Intel Corporation. * All rights reserved. *  * @par * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. Neither the name of the Intel Corporation nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. *  * @par * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *  * @par * -- End of Copyright Notice -- */#include "IxEthDB_p.h"extern HashTable dbHashtable;/** * @brief matches two database records based on their MAC addresses * * @param untypedReference record to match against * @param untypedEntry record to match * * @return TRUE if the match is successful or FALSE otherwise * * @internal */IX_ETH_DB_PUBLICBOOL ixEthDBAddressRecordMatch(void *untypedReference, void *untypedEntry){    MacDescriptor *entry     = (MacDescriptor *) untypedEntry;    MacDescriptor *reference = (MacDescriptor *) untypedReference;        /* check accepted record types */    if ((entry->type & reference->type) == 0) return FALSE;           return (ixEthDBAddressCompare((UINT8 *) entry->macAddress, (UINT8 *) reference->macAddress) == 0);}/** * @brief matches two database records based on their MAC addresses * and VLAN IDs * * @param untypedReference record to match against * @param untypedEntry record to match * * @return TRUE if the match is successful or FALSE otherwise * * @internal */IX_ETH_DB_PUBLICBOOL ixEthDBVlanRecordMatch(void *untypedReference, void *untypedEntry){    MacDescriptor *entry     = (MacDescriptor *) untypedEntry;    MacDescriptor *reference = (MacDescriptor *) untypedReference;        /* check accepted record types */    if ((entry->type & reference->type) == 0) return FALSE;        return (IX_ETH_DB_GET_VLAN_ID(entry->recordData.filteringVlanData.ieee802_1qTag) ==        IX_ETH_DB_GET_VLAN_ID(reference->recordData.filteringVlanData.ieee802_1qTag)) &&        (ixEthDBAddressCompare(entry->macAddress, reference->macAddress) == 0);}/** * @brief matches two database records based on their MAC addresses * and port IDs * * @param untypedReference record to match against * @param untypedEntry record to match * * @return TRUE if the match is successful or FALSE otherwise * * @internal */IX_ETH_DB_PUBLICBOOL ixEthDBPortRecordMatch(void *untypedReference, void *untypedEntry){    MacDescriptor *entry     = (MacDescriptor *) untypedEntry;    MacDescriptor *reference = (MacDescriptor *) untypedReference;        /* check accepted record types */    if ((entry->type & reference->type) == 0) return FALSE;        return (entry->portID == reference->portID) &&        (ixEthDBAddressCompare(entry->macAddress, reference->macAddress) == 0);}/** * @brief dummy matching function, registered for safety * * @param reference record to match against (unused) * @param entry record to match (unused) * * This function is registered in the matching functions * array on invalid types. Calling it will display an  * error message, indicating an error in the component logic. * * @return FALSE * * @internal */IX_ETH_DB_PUBLICBOOL ixEthDBNullMatch(void *reference, void *entry){    /* display an error message */    ixOsalLog(IX_OSAL_LOG_LVL_WARNING, IX_OSAL_LOG_DEV_STDOUT, "DB: (Search) The NullMatch function was called, wrong key type?\n", 0, 0, 0, 0, 0, 0);    return FALSE;}/** * @brief registers hash matching methods * * @param matchFunctions table of match functions to be populated * * This function registers the available record matching functions * by indexing them on record types into the given function array. *  * Note that it is compulsory to call this in ixEthDBInit(),  * otherwise hashtable searching and removal will not work * * @return number of registered functions * * @internal */IX_ETH_DB_PUBLICUINT32 ixEthDBMatchMethodsRegister(MatchFunction *matchFunctions){    UINT32 i;        /* safety first */    for ( i = 0 ; i < IX_ETH_DB_MAX_KEY_INDEX + 1 ; i++)    {        matchFunctions[i] = ixEthDBNullMatch;    }        /* register MAC search method */    matchFunctions[IX_ETH_DB_MAC_KEY] = ixEthDBAddressRecordMatch;        /* register MAC/PortID search method */    matchFunctions[IX_ETH_DB_MAC_PORT_KEY] = ixEthDBPortRecordMatch;        /* register MAC/VLAN ID search method */    matchFunctions[IX_ETH_DB_MAC_VLAN_KEY] = ixEthDBVlanRecordMatch;        return 3; /* three methods */}/** * @brief search a record in the Ethernet datbase * * @param macAddress MAC address to perform the search on * @param typeFilter type of records to consider for matching * * @warning if searching is successful an implicit write lock * to the search result is granted, therefore unlock the  * entry using @ref ixEthDBReleaseHashNode() as soon as possible. * * @see ixEthDBReleaseHashNode() * * @return the search result, or NULL if a record with the given * MAC address was not found * * @internal */IX_ETH_DB_PUBLICHashNode* ixEthDBSearch(IxEthDBMacAddr *macAddress, IxEthDBRecordType typeFilter){    HashNode *searchResult = NULL;    MacDescriptor reference;        TEST_FIXTURE_INCREMENT_DB_CORE_ACCESS_COUNTER;    if (macAddress == NULL)    {        return NULL;    }    /* fill search fields */    memcpy(reference.macAddress, macAddress, sizeof (IxEthDBMacAddr));        /* set acceptable record types */    reference.type = typeFilter;        BUSY_RETRY(ixEthDBSearchHashEntry(&dbHashtable, IX_ETH_DB_MAC_KEY, &reference, &searchResult));    return searchResult;}IX_ETH_DB_PUBLICIxEthDBStatus ixEthDBPeek(IxEthDBMacAddr *macAddress, IxEthDBRecordType typeFilter){    MacDescriptor reference;    IxEthDBStatus result;        TEST_FIXTURE_INCREMENT_DB_CORE_ACCESS_COUNTER;    if (macAddress == NULL)    {        return IX_ETH_DB_INVALID_ARG;    }    /* fill search fields */    memcpy(reference.macAddress, macAddress, sizeof (IxEthDBMacAddr));        /* set acceptable record types */    reference.type = typeFilter;        result = ixEthDBPeekHashEntry(&dbHashtable, IX_ETH_DB_MAC_KEY, &reference);    return result;}/** * @brief search a record in the Ethernet datbase * * @param macAddress MAC address to perform the search on * @param portID port ID to perform the search on * @param typeFilter type of records to consider for matching * * @warning if searching is successful an implicit write lock * to the search result is granted, therefore unlock the  * entry using @ref ixEthDBReleaseHashNode() as soon as possible. * * @see ixEthDBReleaseHashNode() * * @return the search result, or NULL if a record with the given * MAC address/port ID combination was not found * * @internal */IX_ETH_DB_PUBLICHashNode* ixEthDBPortSearch(IxEthDBMacAddr *macAddress, IxEthDBPortId portID, IxEthDBRecordType typeFilter){    HashNode *searchResult = NULL;    MacDescriptor reference;        if (macAddress == NULL)    {        return NULL;    }        /* fill search fields */    memcpy(reference.macAddress, macAddress, sizeof (IxEthDBMacAddr));    reference.portID = portID;        /* set acceptable record types */    reference.type = typeFilter;    BUSY_RETRY(ixEthDBSearchHashEntry(&dbHashtable, IX_ETH_DB_MAC_PORT_KEY, &reference, &searchResult));    return searchResult;}/** * @brief search a record in the Ethernet datbase * * @param macAddress MAC address to perform the search on * @param vlanID VLAN ID to perform the search on * @param typeFilter type of records to consider for matching * * @warning if searching is successful an implicit write lock * to the search result is granted, therefore unlock the  * entry using @ref ixEthDBReleaseHashNode() as soon as possible. * * @see ixEthDBReleaseHashNode() * * @return the search result, or NULL if a record with the given * MAC address/VLAN ID combination was not found * * @internal */IX_ETH_DB_PUBLICHashNode* ixEthDBVlanSearch(IxEthDBMacAddr *macAddress, IxEthDBVlanId vlanID, IxEthDBRecordType typeFilter){    HashNode *searchResult = NULL;    MacDescriptor reference;        if (macAddress == NULL)    {        return NULL;    }        /* fill search fields */    memcpy(reference.macAddress, macAddress, sizeof (IxEthDBMacAddr));    reference.recordData.filteringVlanData.ieee802_1qTag =             IX_ETH_DB_SET_VLAN_ID(reference.recordData.filteringVlanData.ieee802_1qTag, vlanID);        /* set acceptable record types */    reference.type = typeFilter;    BUSY_RETRY(ixEthDBSearchHashEntry(&dbHashtable, IX_ETH_DB_MAC_VLAN_KEY, &reference, &searchResult));    return searchResult;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区久久久久| 欧美亚洲另类激情小说| 99久久99久久综合| 日韩一区二区精品| 日韩一区在线免费观看| 久久成人精品无人区| 色噜噜狠狠色综合中国| 国产午夜一区二区三区| 日本在线观看不卡视频| 91同城在线观看| 久久精品人人爽人人爽| 日本中文一区二区三区| 欧美视频一区二区三区在线观看| 国产拍揄自揄精品视频麻豆 | 久久综合色之久久综合| 午夜私人影院久久久久| 97se亚洲国产综合自在线不卡| wwwwww.欧美系列| 日韩影院在线观看| 欧美日韩亚洲国产综合| 亚洲乱码国产乱码精品精可以看| 成人开心网精品视频| 日本一区二区三区久久久久久久久不| 美腿丝袜亚洲色图| 91精品欧美久久久久久动漫| 亚洲国产日韩精品| 欧美三级电影网| 亚洲国产美国国产综合一区二区| 91蜜桃视频在线| 中文字幕在线播放不卡一区| 成人小视频免费在线观看| 国产亚洲一区二区三区四区 | 精品成人免费观看| 久久99久久精品欧美| 日韩一区二区三区在线观看 | 欧美精选在线播放| 香蕉影视欧美成人| 在线播放中文一区| 日韩av网站免费在线| 精品久久久网站| 国产一区日韩二区欧美三区| 久久精品亚洲乱码伦伦中文| 国产福利一区二区三区在线视频| 国产精品三级久久久久三级| jlzzjlzz亚洲日本少妇| 亚洲色图欧洲色图| 欧美午夜片在线看| 日韩激情一二三区| 久久先锋影音av鲁色资源网| 国产成人在线观看免费网站| 国产精品欧美极品| 色婷婷精品久久二区二区蜜臀av| 亚洲伦理在线免费看| 欧美日韩国产首页| 久久国产乱子精品免费女| 国产日韩精品一区二区浪潮av| proumb性欧美在线观看| 天堂影院一区二区| 久久精品人人做| 欧美亚洲综合一区| 韩国av一区二区三区在线观看| 亚洲国产成人自拍| 在线电影一区二区三区| 国产精品乡下勾搭老头1| 亚洲精品老司机| 日韩欧美一区二区在线视频| 丁香亚洲综合激情啪啪综合| 亚洲黄色小视频| 精品对白一区国产伦| 97久久精品人人澡人人爽| 亚洲成a天堂v人片| 久久色视频免费观看| 日本韩国欧美一区二区三区| 琪琪久久久久日韩精品| 国产精品国产自产拍高清av | 日韩av电影免费观看高清完整版在线观看 | 久久久久久久久久久久久女国产乱 | 久久毛片高清国产| 欧美在线一二三| 国产成人免费av在线| 香蕉加勒比综合久久| 国产欧美在线观看一区| 欧美日韩aaaaa| 国产精品一二三四区| 性感美女极品91精品| 成人欧美一区二区三区| 日韩亚洲欧美在线| 在线视频一区二区免费| 国产精品456| 美腿丝袜一区二区三区| 亚洲国产日产av| 亚洲视频一区在线| 久久久久久夜精品精品免费| 欧美蜜桃一区二区三区| 97精品电影院| 成人毛片老司机大片| 久久99精品视频| 日韩**一区毛片| 午夜视频久久久久久| 亚洲日本va在线观看| 国产女人aaa级久久久级| 26uuu精品一区二区三区四区在线| 在线观看网站黄不卡| 91在线观看视频| 成人av中文字幕| 国产精品2024| 国产高清亚洲一区| 成人免费黄色大片| 丁香网亚洲国际| 成人手机电影网| 国产999精品久久| 成人激情视频网站| 成人免费视频播放| av电影天堂一区二区在线观看| 国产成人午夜电影网| 国产精品77777竹菊影视小说| 激情文学综合丁香| 精一区二区三区| 老司机精品视频线观看86| 蜜臀久久99精品久久久久宅男 | 国产乱对白刺激视频不卡| 狠狠v欧美v日韩v亚洲ⅴ| 久久精品久久久精品美女| 美女爽到高潮91| 狠狠v欧美v日韩v亚洲ⅴ| 国产一区二区在线观看免费| 国产精品一区二区果冻传媒| 国产一区二区剧情av在线| 国产99久久久久| a4yy欧美一区二区三区| 色悠久久久久综合欧美99| 欧美午夜精品理论片a级按摩| 欧美日本在线观看| 日韩欧美一区二区三区在线| 久久久欧美精品sm网站| 国产精品久久午夜| 亚洲一区二区三区不卡国产欧美| 偷拍一区二区三区四区| 捆绑变态av一区二区三区| 国产麻豆成人精品| 91亚洲国产成人精品一区二区三| 欧美色涩在线第一页| 日韩女优毛片在线| 日本一二三不卡| 亚洲成人激情社区| 国产精品一区一区三区| 一本色道综合亚洲| 日韩一区二区三区在线观看| 欧美国产一区二区| 亚洲成av人在线观看| 国产精品一区二区在线播放| 色先锋aa成人| 久久在线免费观看| 一区二区三区在线观看欧美| 蜜桃91丨九色丨蝌蚪91桃色| 成人福利视频在线| 日韩一区二区在线看| 亚洲视频香蕉人妖| 久久不见久久见中文字幕免费| 99国产精品国产精品久久| 日韩精品一区二区三区在线播放 | 欧美一级国产精品| 国产精品沙发午睡系列990531| 亚洲h在线观看| 成人a免费在线看| 欧美一区二区三区免费视频| 综合久久国产九一剧情麻豆| 久久er99精品| 欧美精品欧美精品系列| 自拍偷拍亚洲欧美日韩| 久久国产精品72免费观看| 欧美性色黄大片| 亚洲视频免费看| 国产aⅴ综合色| 久久久噜噜噜久噜久久综合| 日韩国产在线一| 在线观看亚洲专区| 欧美国产日韩精品免费观看| 麻豆国产一区二区| 欧美无砖专区一中文字| 亚洲日本成人在线观看| 成人性生交大片免费看在线播放| 欧美xxxx在线观看| 日韩经典一区二区| 欧美日本韩国一区| 一区二区三区在线免费播放| jlzzjlzz国产精品久久| 国产精品女主播在线观看| 韩日欧美一区二区三区| 欧美www视频| 久久丁香综合五月国产三级网站 | 麻豆91在线播放| 制服丝袜av成人在线看| 亚洲va中文字幕| 欧美乱妇一区二区三区不卡视频| 亚洲一区国产视频| 欧美色欧美亚洲另类二区| 一区2区3区在线看| 欧美日韩一区精品| 亚洲成av人片观看|