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

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

?? ospf_mib_envoy_api.c

?? vxworks下ospf協議棧
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* ospf_mib_envoy_api.c *//* Copyright 1998-2003 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------02f,04jun03,asr Changed back to use system memory instead of OSPF memory partition02e,02jun03,agi Added #include "ospf.h"02d,02jun03,ram Changed native memory usage to OSPF memory partition02c,21may03,kc  Modified ospf_envoy_processScalarGetResp() and                 ospf_envoy_processGetResp() to invoke nextproc_no_next()                 if received MAPI_NO_SUCH_OBJECT or MAPI_NO_SUCH_INSTANCE                exception from OSPF MIB API.01c,07apr03,xli    remove the unnecessary file "install.h02b,19nov02,mwv Merge TMS code SPR 8428402a,08oct02,agi Fixed compiler warnings01j,21may02,kc  Fixed ospf_envoy_buildGetReq() to correctly check for the number                of octet string that has been processed.01i,21may02,kc  Modified ospf_envoy_mApiInit() to create an array of ulong_t for                object cookie. Modified ospf_envoy_mApiDestroy() to free up the                pointer to the array of object cookie. Explicitly zero out the                array of object cookie in ospf_envoy_clearBuffer(). Modified                 ospf_envoy_buildSetReq() to correctly set the object cookie                 indicating if the object processed is the last object in the                varbind list.01h,15apr02,kc  Modified ospf_envoy_buildSetReq() - rename pCookie to pReqCookie                due to mibApi.h update. Explicitly set pObjCookie to NULL.01g,04feb02,kc  Corrected debug statement for ospf_envoy_mApiInit().01f,10dec01,kc  Fixed callout to nextproc_next_instance() in                 ospf_envoy_processScalarGetResp().01e,25oct01,kc  Added ospf_envoy_setGenError(), ospf_envoy_setNoSuchNameError(),                ospf_envoy_processGetRespError() prototypes.01f,26oct01,kc  Added ospf_envoy_processScalarGetResp() to process MIB API response                for scalar objects.01e,25oct01,kc  Fixed ospf_envoy_buildSetReq() so that it will not retrieve the                pCookie from request message if tcount = 1.01d,24oct01,kc  Fixed ospf_envoy_processGetResp() to correctly process varbinds.01c,22oct01,kc  Added ospf_envoy_snmpdTreeAdd(), ospf_envoy_snmpdTreeRemove() and                ospf_envoy_oidStrToArray() functions.01b,16oct01,kc  Added ospf_envoy_buildGetReq() routine.01a,12oct01,kc  Initial file creation.*//*DESCRIPTIONThis module contains functions that are used to interpret Envoy SNMP varbindsand the MIB API request structures. The intention of this module is to provide an abstraction layer that provides the facility to manipulate the Envoy SNMP varbinds and the MIB API request data strucuture.*//* This include is here to get rid of the "empty file" compiler warning */#include <vxWorks.h>#if defined (__OSPF_MIB__)/* Envoy SNMP includes */#include <buffer.h>#include <snmpdefs.h>#include <auxfuncs.h>/* vxWorks standard includes */#include <stdio.h>#include <stdlib.h>#include <ctype.h>#include "semLib.h"#include "lstLib.h"/* ospf management interface includes */#include "mibApi.h"#include "ospf.h"#include "ospf_mib_envoy_api.h"/* OSPF OID will never exceed 128 */#define MAX_OSPF_OID_LEN       128/******************************************************************************** ospf_envoy_oidStrToArray - Convert oid in string form to oid component array** Convert an oid in string form <pOidStr> to an array of oid components,* <pOidArray> which is a user supplied array and must be of sufficient size.** RETURNS: 0 on failure else number of oid components in the array** NOMANUAL*/LOCAL int ospf_envoy_oidStrToArray( char *pOidStr, OIDC_T *pOidArray ){    int           oidLen = 0;    char *        pIx;    for (pIx = pOidStr; pIx != NULL; ++ pIx )    {        if ( !isdigit( (int)*pIx ))        {            /* Non digit char where we stop must be either '.' or EOS.             * Also when we stop at one of these it must not be the first             * char encountered. This could happen for example if we heve             * 2 consecutive '.' chars in the input or it starts with a '.'.             *             */            if ( (*pIx != '.' && *pIx != EOS) || pIx == pOidStr)            {                ospfEnvoyPrintf(("ospf_envoy_oidStrToArray:Invalid OID syntax\n"));                return (0);            }            pOidArray [oidLen ++] = atol (pOidStr);            if (*pIx == EOS)                break;            pOidStr = pIx + 1;        }    }    return (oidLen);}/******************************************************************************** ospf_envoy_getVbCount - Counts the number of varbinds** This routine count the number of varbinds in the list.** RETURNS: total varbinds in the list** NOMANUAL*/LOCAL int ospf_envoy_getVbCount( VB_T *vbp ){    VB_T *tvbp;    int cnt;    for (cnt = 0, tvbp = vbp; tvbp; tvbp = tvbp->vb_link, cnt++);    return cnt;}/***************************************************************************** getproc_nosuchobj - Set an exception on error in packet** Routine to tag a variable as either a nosuchobj exception in v2* or a nosuchname error in v1.** RETURNS: N/A** NOMANUAL*/LOCAL void getproc_nosuchobj( SNMP_PKT_T *pktp, VB_T *vbp ){    if (pktp->snmp_version == SNMP_VERSION_1)    {        pktp->pdu.std_pdu.error_status = NO_SUCH_NAME;        pktp->pdu.std_pdu.error_index = vbp_to_index(pktp, vbp) + 1;    }    else        vbp->vb_data_flags_n_type = VT_NOSUCHOBJ;    vbp->vb_flags |= VFLAG_GET_DONE;}/************************************************************************************* ospf_envoy_exceptionSet - Set an exception in packet** Routine to tag a variable as either a nosuchobj exception in v2* or a nosuchname error in v1** RETURNS: Envoy SNMP Error Status** NOMANUAL*/LOCAL void ospf_envoy_exceptionSet( SNMP_PKT_T *pktp, VB_T *vbp, mApiException_t exception ){    switch( exception )    {        case MAPI_NO_SUCH_OBJECT:            getproc_nosuchobj( pktp, vbp );            break;        case MAPI_NO_SUCH_INSTANCE:            getproc_nosuchins (pktp, vbp);            break;        case MAPI_NO_EXCEPTION:        case MAPI_END_OF_MIB_VIEW:        case MAPI_BUFFER_TOO_SHORT:            break;    }    return;}/**************************************************************************************** ospf_envoy_getValue - retrieve the values of the variables** This routine retrieve the values of the variables and write the values into the* varbind using the getproc_get_xxx routines. The getproc_get_xxx routine also* set a flag to indicate the varbind has been processed.** RETURNS: NO_ERROR or GEN_ERR** ERRNO: none** NOMANUAL*/LOCAL STATUS ospf_envoy_getValue( SNMP_PKT_T *pktp, VB_T *vbp, mApiObject_t *pObject,                                  envoyRequest_t *pEnvoyReq ){    OCTET_T data_type;    /* converts the mip api exception to snmp exception */    if ( pObject->exception != MAPI_NO_EXCEPTION )    {        ospf_envoy_exceptionSet( pktp, vbp, pObject->exception );        return OK;    }    data_type = vbp->vb_ml.ml_leaf->expected_tag;    switch( data_type )    {        case VT_IPADDRESS:            getproc_got_ip_address( pktp, vbp, *(UINT_32_T *)pObject->pValueBuf );            break;        case VT_COUNTER:        case VT_GAUGE:            getproc_got_uint32( pktp, vbp, *(bits32_t *)pObject->pValueBuf, data_type );            break;        case VT_NUMBER:            getproc_got_int32( pktp, vbp, *(bits32_t *)pObject->pValueBuf );            break;        case VT_STRING:        case VT_OPAQUE:            /* tell 'em that this is a dynamically allocated buffer using the             * SNMP_memory_alloc(). Envoy will free the buffer using the             * SNMP_memory_free() after the packet has been encoded             */            getproc_got_string(pktp, vbp, pObject->valueLen, pObject->pValueBuf,                               pEnvoyReq->dynamic, data_type );            break;        case VT_EMPTY:            getproc_got_empty(pktp, vbp);            break;        case VT_COUNTER64:        case VT_OBJECT:            /* this should never happen. */            getproc_error(pktp, vbp, GEN_ERR);            ospfEnvoyPrintf(("ospf_envoy_getValue:unknown object type\n"));            break;    }    ospfEnvoyPrintf(("ospf_envoy_getValue:completed\n"));    return OK;}/********** Public Method routines for OSPF-Envoy Management Facility **********//**************************************************************************************** copy_oids - copy object identifier** This routine copy the object identifier to the given <best_inst> OIDC_T array. This* routine must be invoked by the xxx_next routine before the varbinds can be processed.** RETURNS: N/A** ERRNO: N/A*/void copy_oids( OIDC_T *best_inst, OIDC_T *tlist, int tcount ){    int tmp = tcount;    OIDC_T *dst = best_inst, *src = tlist;    while( tmp-- )        *dst++ = *src++;    return;}/**************************************************************************************** mApi2EnvoyErrorGet - converts OSPF MIB API status code to envoy SNMP status code** This routine converts the OSPF MIB API status code to the status code defined by* the Envoy SNMP** RETURNS: Envoy status code** ERRNO: N/A*/ushort_t mApi2EnvoyErrorGet( ushort_t mApiError ){    ushort_t envoyError;    switch( mApiError )    {        case MAPI_NO_ERROR:            envoyError = (ushort_t)NO_ERROR;            break;        case MAPI_ERROR_TOO_BIG:            envoyError = (ushort_t)TOO_BIG;            break;        case MAPI_GEN_ERROR:            envoyError = (ushort_t)GEN_ERR;            break;        case MAPI_NO_ACCESS:            envoyError = (ushort_t)NO_ACCESS;            break;        case MAPI_WRONG_TYPE:            envoyError = (ushort_t)WRONG_TYPE;            break;        case MAPI_WRONG_LENGTH:            envoyError = (ushort_t)WRONG_LENGTH;            break;        case MAPI_WRONG_ENCODING:            envoyError = (ushort_t)WRONG_ENCODING;            break;        case MAPI_WRONG_VALUE:            envoyError = (ushort_t)WRONG_VALUE;            break;        case MAPI_NO_CREATION:            envoyError = (ushort_t)NO_CREATION;            break;        case MAPI_INCONSIST_VALUE:            envoyError = (ushort_t)INCONSISTENT_VALUE;            break;        case MAPI_RESOURCE_UNAVAILABLE:            envoyError = (ushort_t)RESOURCE_UNAVAILABLE;            break;        case MAPI_COMMIT_FAILED:            envoyError = (ushort_t)COMMIT_FAILED;            break;        case MAPI_UNDO_FAILED:            envoyError = (ushort_t)UNDO_FAILED;            break;        case MAPI_AUTHORIZATION_ERROR:            envoyError = (ushort_t)AUTHORIZATION_ERROR;            break;        case MAPI_NOT_WRITABLE:            envoyError = (ushort_t)NOT_WRITABLE;            break;        case MAPI_INCONSIST_NAME:            envoyError = (ushort_t)INCONSISTENT_NAME;            break;        default:            envoyError = (ushort_t)GEN_ERR;            break;    }    return envoyError;}/************************************************************************************** ospf_envoy_snmpdTreeRemove - dynamically remove part of the SNMP agent MIB tree** This routine dynamically eletes part of the SNMP agent MIB tree at runtime.** RETURNS: N/A*/void ospf_envoy_snmpdTreeRemove( char *pTreeOidStr, SEM_ID ospf_envoyBSem ){    OBJ_ID_T  treeOid;    OIDC_T    oidArray [MAX_OSPF_OID_LEN];    treeOid.num_components = ospf_envoy_oidStrToArray( pTreeOidStr, oidArray );    if ( treeOid.num_components > 0 )    {        treeOid.component_list = oidArray;        semTake( ospf_envoyBSem, WAIT_FOREVER );        if ( Remove_Node_From_Root (NULL, &treeOid) == NULL )            ospfEnvoyPrintf(("ospf_envoy_snmpdTreeRemove:bogus pointer\n"));        semGive( ospf_envoyBSem );    }    return;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一二三四区不卡| 久久先锋影音av鲁色资源网| 日韩免费视频线观看| 国产精品水嫩水嫩| 青椒成人免费视频| 91黄色免费网站| 国产精品久久毛片| 中文字幕在线观看一区二区| 国产精品丝袜久久久久久app| 图片区日韩欧美亚洲| 成人va在线观看| 99久久伊人精品| 日韩欧美一区二区免费| 久久一留热品黄| 蜜臀91精品一区二区三区| 欧美日韩一区二区不卡| 欧美一区二区三区性视频| 亚洲裸体在线观看| 国产成人在线观看免费网站| 色婷婷综合久久久中文字幕| 日韩精品影音先锋| 久久亚洲捆绑美女| 久久www免费人成看片高清| 欧美午夜精品久久久久久孕妇 | 欧美日韩国产小视频在线观看| 久久久.com| 亚洲日本欧美天堂| 成人自拍视频在线观看| 久久久精品国产免费观看同学| 蜜乳av一区二区| 日韩一区二区视频| 日本vs亚洲vs韩国一区三区 | 国产精品网站在线播放| 综合电影一区二区三区| 视频一区免费在线观看| 欧美日韩一区二区三区在线| 天天综合天天综合色| 国产乱人伦偷精品视频不卡| 26uuu亚洲| 国产专区综合网| 欧美性受xxxx黑人xyx性爽| 欧美成人女星排行榜| 1区2区3区欧美| 蜜臀av国产精品久久久久 | 精品亚洲欧美一区| 久久天堂av综合合色蜜桃网| 成人精品gif动图一区| 亚洲人成伊人成综合网小说| 极品尤物av久久免费看| 久久精品在线观看| 日韩中文字幕麻豆| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 成人高清av在线| 亚洲另类在线制服丝袜| 欧美理论片在线| 极品少妇一区二区三区精品视频| 一本久久精品一区二区| 亚洲国产精品精华液网站| 成人黄色av电影| 亚洲精品国产精华液| 日韩欧美视频一区| aa级大片欧美| 国产无遮挡一区二区三区毛片日本| 丁香一区二区三区| 石原莉奈一区二区三区在线观看 | 欧美精品久久99| 国产一区91精品张津瑜| 日韩一区二区免费高清| 亚洲午夜国产一区99re久久| 95精品视频在线| 中文字幕一区在线观看| 欧美日韩国产精品成人| 国产精品69毛片高清亚洲| 日韩一区二区三区在线| 99免费精品在线观看| 欧美激情一二三区| 国产一区二区视频在线播放| 亚洲三级小视频| 久久综合久久99| 欧美日韩色一区| 亚洲丶国产丶欧美一区二区三区| 久久麻豆一区二区| 欧美日韩中字一区| 成人激情小说网站| 国产一区亚洲一区| 国产婷婷色一区二区三区在线| 久久精品国产亚洲aⅴ| 欧美一区二区三区不卡| 94-欧美-setu| 成人午夜大片免费观看| 美国精品在线观看| 视频在线观看一区| 亚洲黄色小视频| 欧美老人xxxx18| 日本韩国欧美一区二区三区| 亚洲va欧美va人人爽午夜| 中文字幕精品在线不卡| 日韩你懂的电影在线观看| 日本sm残虐另类| 麻豆成人久久精品二区三区红| 久久91精品国产91久久小草| 欧美成人三级电影在线| 91精品国产福利| 日产国产高清一区二区三区 | 欧美自拍偷拍一区| 亚洲成av人片www| 日韩精品一区在线观看| 丁香网亚洲国际| 国产精品一区二区久久精品爱涩| 日本一区免费视频| 久久久久久电影| 99视频精品全部免费在线| 国产乱子伦视频一区二区三区| 中文av字幕一区| 国产欧美视频一区二区| 久久先锋影音av鲁色资源| 久久亚洲综合色一区二区三区| 欧美成人精品高清在线播放| a在线欧美一区| 成人va在线观看| 日韩国产在线观看一区| 性感美女极品91精品| 午夜天堂影视香蕉久久| 日韩精品色哟哟| 美腿丝袜一区二区三区| 日韩一区在线免费观看| 樱花影视一区二区| 亚洲韩国精品一区| 国产午夜久久久久| 国产日韩av一区| 亚洲天堂免费看| 一区二区三区四区国产精品| 久久久亚洲欧洲日产国码αv| 国产亚洲精品久| 欧美精选在线播放| 日韩视频中午一区| 国产色产综合产在线视频| 这里只有精品电影| 国产精品久久久久久久裸模| 最新欧美精品一区二区三区| 亚洲国产欧美日韩另类综合| 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美一级淫片007| 91在线视频观看| 国产精品综合网| 免费看欧美美女黄的网站| 国内偷窥港台综合视频在线播放| 亚洲成在线观看| 亚洲视频综合在线| 天天爽夜夜爽夜夜爽精品视频| 精品一区二区免费| 91看片淫黄大片一级| 成人三级在线视频| 欧美高清dvd| 国产精品久久网站| 男人操女人的视频在线观看欧美| 高清国产一区二区三区| 欧美日本一道本在线视频| 欧美日韩综合一区| 久久综合久久鬼色中文字| 日韩欧美一区二区视频| 777亚洲妇女| 欧美日韩不卡在线| 国产欧美一区二区三区在线老狼| 亚洲韩国精品一区| 手机精品视频在线观看| 日日夜夜一区二区| 丝袜诱惑制服诱惑色一区在线观看| 国产精品美女久久久久av爽李琼 | 91日韩精品一区| 欧美电影免费观看完整版| 亚洲精品va在线观看| 亚洲精品中文在线影院| 国产最新精品免费| 国产suv精品一区二区6| 91精品国产综合久久婷婷香蕉| 3atv一区二区三区| 夜夜夜精品看看| 亚洲第一久久影院| 日精品一区二区三区| 91免费国产在线| 国产精品美女一区二区在线观看| 国产精品视频免费| 国产精品自拍毛片| 欧美一区二区三区免费大片| 欧美电视剧免费全集观看| 亚洲成a人片在线不卡一二三区| 97成人超碰视| 欧美群妇大交群中文字幕| 7777精品伊人久久久大香线蕉超级流畅 | 欧美激情一区二区三区全黄| 日本欧美一区二区三区| 在线观看亚洲a| 亚洲免费视频中文字幕| 成人午夜激情影院| 国产精品无人区| 亚洲人精品午夜| av成人老司机| 国产亚洲欧美激情| 一区二区三区欧美视频|