⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ospf_mib_utilities.c

📁 vxworks下ospf协议栈
💻 C
📖 第 1 页 / 共 5 页
字号:
    switch( exception )    {        case MAPI_NO_EXCEPTION:                    pExcStr = "no exception";            break;        case MAPI_NO_SUCH_OBJECT:                    pExcStr = "no such object";            break;        case MAPI_NO_SUCH_INSTANCE:                    pExcStr = "no such instance";            break;        case MAPI_END_OF_MIB_VIEW:                    pExcStr = "end of mib view";            break;        case MAPI_BUFFER_TOO_SHORT:                    pExcStr = "buffer too short";            break;        default:            return;    }    printf("1. %s.%s [%s] %s\n", pObjInfo->objectName, pOidStr, pExcStr, pExcStr);    return;}/***************************************************************************************** ospf_mApi_getError - get the error string** This routine converts the MIB API Error Code to printable ascii string.** RETURNS: Error String** NOMANUAL*/LOCAL char *ospf_mApi_getError( mApiError_t error, BOOL tag ){    char *pErrorStr;    switch( error )    {        case MAPI_NO_ERROR:                        if ( tag == TRUE )                pErrorStr = "noError";            else                 pErrorStr = "No Error";            break;                case MAPI_ERROR_TOO_BIG:                    if ( tag == TRUE )                pErrorStr = "errorTooBig";            else                 pErrorStr = "Error Too Big";            break;                                                            case MAPI_GEN_ERROR:                    if ( tag == TRUE )                pErrorStr = "generalError";            else                pErrorStr = "General Error";            break;        case MAPI_NO_ACCESS:                    if ( tag == TRUE )                pErrorStr = "noAccess";            else                pErrorStr = "No Access";            break;        case MAPI_WRONG_TYPE:                    if ( tag == TRUE )                pErrorStr = "wrongType";            else                pErrorStr = "Wrong Type";            break;        case MAPI_WRONG_LENGTH:                    if ( tag == TRUE )                pErrorStr = "wrongLength";            else                pErrorStr = "Wrong Length";            break;        case MAPI_WRONG_ENCODING:                    if ( tag == TRUE )                pErrorStr = "wrongEncoding";            else                pErrorStr = "Wrong Encoding";            break;        case MAPI_WRONG_VALUE:                    if ( tag == TRUE )                pErrorStr = "wrongValue";            else                pErrorStr = "Wrong Value";            break;        case MAPI_NO_CREATION:                    if ( tag == TRUE )                pErrorStr = "nocreation";            else                pErrorStr = "No Creation";            break;        case MAPI_INCONSIST_VALUE:                    if ( tag == TRUE )                pErrorStr = "inconsistentValue";            else                pErrorStr = "Inconsistent Value";            break;        case MAPI_RESOURCE_UNAVAILABLE:                    if ( tag == TRUE )                pErrorStr = "resourceUnavailable";            else                pErrorStr = "Resource Unavailable";            break;        case MAPI_COMMIT_FAILED:                    if ( tag == TRUE )                pErrorStr = "commitFailed";            else                pErrorStr = "Commit Failed";            break;        case MAPI_UNDO_FAILED:                    if ( tag == TRUE )                pErrorStr = "undoFailed";            else                pErrorStr = "Undo Failed";            break;        case MAPI_AUTHORIZATION_ERROR:                    if ( tag == TRUE )                pErrorStr = "authorizationError";            else                pErrorStr = "Authorization Error";            break;        case MAPI_NOT_WRITABLE:                    if ( tag == TRUE )                pErrorStr = "notWritable";            else                pErrorStr = "Not Writable";            break;        case MAPI_INCONSIST_NAME:                    if ( tag == TRUE )                pErrorStr = "inconsistentName";            else                pErrorStr = "Inconsistent Name";            break;        default:                    if ( tag == TRUE )                pErrorStr = "unknownError";            else                pErrorStr = "Unknown Error";            break;    }    return pErrorStr;}/***************************************************************************************** ospf_mApi_printError - print the error message** This routine print the error for the Get, Get Next, Test and Commit operations.** RETURNS: N/A** NOMANUAL*/LOCAL void ospf_mApi_printError( ospfMibList_t *pObjInfo, char *pOidStr,                                  mApiError_t error ){         printf("Response Binding:\n");    switch( pObjInfo->objectTag )    {        case ospfMibTag_ipaddress:                            printf("1. %s.%s [%s] %s\n", pObjInfo->objectName, pOidStr,                    ospf_mApi_getError(error, TRUE), ospf_mApi_getError(error, FALSE));             break;        case ospfMibTag_integer:        case ospfMibTag_counter:        case ospfMibTag_counter32:        case ospfMibTag_gauge:        case ospfMibTag_gauge32:                        printf("1. %s.%s [%s] %s\n", pObjInfo->objectName, pOidStr,                    ospf_mApi_getError(error, TRUE), ospf_mApi_getError(error, FALSE));            break;        case ospfMibTag_octetString:            break;        default:            break;    }    return;}/***************************************************************************************** ospf_mApi_printResult - print the query result** This routine print the query result for the Get, Get Next, Test and Commit operations.** RETURNS: N/A** NOMANUAL*/LOCAL void ospf_mApi_printResult( ospfMibList_t *pObjInfo, char *pOidStr,                                   ulong_t *pValueBuf ){    ulong_t  valueBuf;    printf("Response Binding:\n");    valueBuf = *(ulong_t *)pValueBuf;    switch( pObjInfo->objectTag )    {        case ospfMibTag_ipaddress:                  {                uchar_t  ipIndex[4];                valueBuf = ntohl(valueBuf);                ospf_mApi_ipAddr2OctetString( valueBuf, ipIndex );                printf("1. %s.%s [%s] %i.%i.%i.%i\n", pObjInfo->objectName, pOidStr,                        ospfMibTagStr[pObjInfo->objectTag], ipIndex[0], ipIndex[1],                        ipIndex[2], ipIndex[3]);            }            break;        case ospfMibTag_integer:        case ospfMibTag_counter:        case ospfMibTag_counter32:        case ospfMibTag_gauge:        case ospfMibTag_gauge32:                        if ( pObjInfo->objectAltTag == ospfMibAltTag_none )             {                printf("1. %s.%s [%s] %ld\n", pObjInfo->objectName, pOidStr,                        ospfMibTagStr[pObjInfo->objectTag], valueBuf );            }            else if ( pObjInfo->objectAltTag == ospfMibAltTag_octetString )             {                /* TODO: need to print octet string in hex... */            }            else            {                   char altStr[32];                memset( altStr, 0, sizeof(altStr) );                ospf_mApi_getAltTagStr( pObjInfo->objectAltTag, altStr, valueBuf );                printf("1. %s.%s [%s] %s(%ld)\n", pObjInfo->objectName, pOidStr,                        ospfMibTagStr[pObjInfo->objectTag], altStr, valueBuf );            }            break;        case ospfMibTag_octetString:            break;        default:            break;    }    return;}/***************************************************************************************** ospf_mApi_oidValidate - validate the instance OID length** This routine validate the instance OID length.** RETURNS: OK or ERROR** NOMANUAL*/LOCAL STATUS ospf_mApi_oidValidate( int oidLen, mApiReqType_t reqType, int actualOidLen ){    STATUS  rc;    rc = OK;    switch( reqType )    {        case MAPI_GET:        case MAPI_TEST:        case MAPI_COMMIT:        case MAPI_COMPLETE:        case MAPI_UNDO:            if ( oidLen != actualOidLen )             {                printf("Invalid OidLen\n");                rc = MAPI_WRONG_OID_LEN;            }            break;        case MAPI_GET_NEXT:                    /* for MAPI_GET_NEXT, it is acceptable to have oidLen of zero. In that case,              * the GET_NEXT operation will return the very first instance found             */            if ( (oidLen != 0) && (oidLen != actualOidLen) )            {                printf("Invalid OidLen\n");                rc = MAPI_WRONG_OID_LEN;            }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -