您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ snmp_set_var_typed_integer函数代码示例

51自学网 2021-06-03 08:04:16
  C++
这篇教程C++ snmp_set_var_typed_integer函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中snmp_set_var_typed_integer函数的典型用法代码示例。如果您正苦于以下问题:C++ snmp_set_var_typed_integer函数的具体用法?C++ snmp_set_var_typed_integer怎么用?C++ snmp_set_var_typed_integer使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了snmp_set_var_typed_integer函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: expErrorTable_handler

/** handles requests for the expExpressionErrorTable table */intexpErrorTable_handler(netsnmp_mib_handler *handler,                      netsnmp_handler_registration *reginfo,                      netsnmp_agent_request_info *reqinfo,                      netsnmp_request_info *requests){    netsnmp_request_info       *request;    netsnmp_table_request_info *tinfo;    struct expExpression       *entry;    DEBUGMSGTL(("disman:expr:mib", "Expression Error Table handler (%d)/n",                                    reqinfo->mode));    switch (reqinfo->mode) {        /*         * Read-support (also covers GetNext requests)         */    case MODE_GET:        for (request = requests; request; request = request->next) {            entry = (struct expExpression *)                    netsnmp_tdata_extract_entry(request);            tinfo = netsnmp_extract_table_info(request);            if (!entry || !(entry->flags & EXP_FLAG_VALID))                continue;            /*             * "Entries only appear in this table ... when there             *  has been an error for that [matching] expression"             */            if (entry->expErrorCount == 0)                continue;            switch (tinfo->colnum) {            case COLUMN_EXPERRORTIME:                snmp_set_var_typed_integer(request->requestvb, ASN_TIMETICKS,                                           entry->expErrorTime);                break;            case COLUMN_EXPERRORINDEX:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           entry->expErrorIndex);                break;            case COLUMN_EXPERRORCODE:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           entry->expErrorCode);                break;            case COLUMN_EXPERRORINSTANCE:                snmp_set_var_typed_value(request->requestvb, ASN_OBJECT_ID,                              (u_char *) entry->expErrorInstance,                                         entry->expErrorInst_len*sizeof(oid));                break;            }        }        break;    }    DEBUGMSGTL(("disman:expr:mib", "Expression Error handler - done /n"));    return SNMP_ERR_NOERROR;}
开发者ID:RasmusKoldsoe,项目名称:performand.k70.2,代码行数:59,


示例2: psu_status_handler__

static voidpsu_status_handler__(netsnmp_request_info *req,                     uint32_t index,                     onlp_snmp_sensor_t *ss ){    int value;    onlp_psu_info_t *pi = &ss->sensor_info.pi;    if (!ss->info_valid) {        return;    }    value = ONLP_SNMP_SENSOR_STATUS_MISSING;    if (pi->status & ONLP_PSU_STATUS_PRESENT) {        value = ONLP_SNMP_SENSOR_STATUS_GOOD;        /* failed or good is always reported */        if (pi->status & ONLP_PSU_STATUS_FAILED) {            value = ONLP_SNMP_SENSOR_STATUS_FAILED;        }        /* if additional unplugged status is reported */        if (pi->status & ONLP_PSU_STATUS_UNPLUGGED) {            value = ONLP_SNMP_SENSOR_STATUS_FAILED;        }    }    snmp_set_var_typed_integer(req->requestvb,                               ASN_INTEGER,                               value);}
开发者ID:Lewis-Kang,项目名称:OpenNetworkLinux,代码行数:32,


示例3: handle_autoRespawn

inthandle_autoRespawn(netsnmp_mib_handler *handler,                          netsnmp_handler_registration *reginfo,                          netsnmp_agent_request_info   *reqinfo,                          netsnmp_request_info         *requests){    /* We are never called for a GETNEXT if it's registered as a       "instance", as it's "magically" handled for us.  */    /* a instance handler also only hands us one request at a time, so       we don't need to loop over a list of requests; we'll only get one. */        switch(reqinfo->mode) {        case MODE_GET:            snmp_set_var_typed_integer(requests->requestvb, ASN_INTEGER,            		cm->getGlobal()->get<ConfigBoolean>("auto-respawn")->read());                        break;        default:            /* we should never get here, so this is a really bad error */            snmp_log(LOG_ERR, "unknown mode (%d) in handle_autoRespawn/n", reqinfo->mode );            return SNMP_ERR_GENERR;    }    return SNMP_ERR_NOERROR;}
开发者ID:BelledonneCommunications,项目名称:flexisip,代码行数:29,


示例4: delayed_response

//********************************************************************************//********************************************************************************static void delayed_response(unsigned int clientreg, void * clientarg){    syslog(LOG_DEBUG, "Enter: delayed_response, %s.", HANDLER_NAME);     netsnmp_delegated_cache *cache = (netsnmp_delegated_cache *) clientarg;    if(!netsnmp_handler_check_cache(cache))    {        syslog(LOG_ERR, "%s", "illegal call to return delayed response.");        return;    }    syslog(LOG_DEBUG, "delayed_instance, continuing delayed request, mode = %d.",        cache->reqinfo->mode);    cache->requests->delegated = 0;    switch(cache->reqinfo->mode)    {        case MODE_GET:        case MODE_GETNEXT:        int32_t redirect = redirect_count();        snmp_set_var_typed_integer(cache->requests->requestvb,            ASN_COUNTER, redirect);    }    netsnmp_free_delegated_cache(cache);    syslog(LOG_DEBUG, "Exit: delayed_response, %s.", HANDLER_NAME);     syslog(LOG_DEBUG,"%s",        "===============================================================");    return;}
开发者ID:BillTheBest,项目名称:laguna,代码行数:32,


示例5: misc_index_handler__

static voidmisc_index_handler__(netsnmp_request_info *req,                     uint32_t index,                     onlp_snmp_sensor_t *ss){    snmp_set_var_typed_integer(req->requestvb,                               ASN_INTEGER,                               index);}
开发者ID:Lewis-Kang,项目名称:OpenNetworkLinux,代码行数:9,


示例6: handle_sysUpTime

static inthandle_sysUpTime(netsnmp_mib_handler *handler,                   netsnmp_handler_registration *reginfo,                   netsnmp_agent_request_info *reqinfo,                   netsnmp_request_info *requests){    snmp_set_var_typed_integer(requests->requestvb, ASN_TIMETICKS,                               netsnmp_get_agent_uptime());    return SNMP_ERR_NOERROR;}
开发者ID:fenner,项目名称:net-snmp,代码行数:10,


示例7: neIeee8021BridgeBasePortTable_getNext

netsnmp_variable_list *neIeee8021BridgeBasePortTable_getNext (	void **my_loop_context, void **my_data_context,	netsnmp_variable_list *put_index_data, netsnmp_iterator_info *mydata){	ieee8021BridgeBasePortEntry_t *poEntry = NULL;	netsnmp_variable_list *idx = put_index_data;		if (*my_loop_context == NULL)	{		return NULL;	}	poEntry = xBTree_entry (*my_loop_context, ieee8021BridgeBasePortEntry_t, oBTreeNode);		snmp_set_var_typed_integer (idx, ASN_UNSIGNED, poEntry->u32ComponentId);	idx = idx->next_variable;	snmp_set_var_typed_integer (idx, ASN_UNSIGNED, poEntry->u32Port);	*my_data_context = (void*) poEntry;	*my_loop_context = (void*) xBTree_nodeGetNext (&poEntry->oBTreeNode, &oIeee8021BridgeBasePortTable_BTree);	return put_index_data;}
开发者ID:nes-repo,项目名称:NES-Open-Switch,代码行数:21,


示例8: sctpLookupRemPortTable_handler

/** handles requests for the sctpLookupRemPortTable table */intsctpLookupRemPortTable_handler(netsnmp_mib_handler *handler,                               netsnmp_handler_registration *reginfo,                               netsnmp_agent_request_info *reqinfo,                               netsnmp_request_info *requests){    netsnmp_request_info *request;    netsnmp_table_request_info *table_info;    sctpLookupRemPortTable_entry *table_entry;    switch (reqinfo->mode) {        /*         * Read-support (also covers GetNext requests)         */    case MODE_GET:        for (request = requests; request; request = request->next) {            if (request->processed)                continue;            table_entry = (sctpLookupRemPortTable_entry *)                netsnmp_container_table_extract_context(request);            table_info = netsnmp_extract_table_info(request);            if ((NULL == table_entry) || (NULL == table_info)) {                snmp_log(LOG_ERR,                         "could not extract table entry or info for sctpLookupRemPortTable/n");                snmp_set_var_typed_value(request->requestvb,                                         SNMP_ERR_GENERR, NULL, 0);                continue;            }            switch (table_info->colnum) {            case COLUMN_SCTPLOOKUPREMPORTSTARTTIME:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb,                                           ASN_TIMETICKS,                                           table_entry->sctpLookupRemPortStartTime);                break;            default:                netsnmp_set_request_error(reqinfo, request,                                          SNMP_NOSUCHOBJECT);                break;            }        }        break;    }    return SNMP_ERR_NOERROR;}
开发者ID:ClausKlein,项目名称:net-snmp,代码行数:53,


示例9: pgsqlPgAmopTable_get_next_data_point

netsnmp_variable_list *pgsqlPgAmopTable_get_next_data_point(void **my_loop_context,                          void **my_data_context,                          netsnmp_variable_list *put_index_data,                          netsnmp_iterator_info *mydata){    struct pgsqlPgAmopTable_entry *entry = (struct pgsqlPgAmopTable_entry *)*my_loop_context;    netsnmp_variable_list *idx = put_index_data;    snmp_log(LOG_INFO, "*** get_next called/n");    if ( entry ) {        snmp_set_var_value( idx, entry->pgsnmpdConnID, sizeof(entry->pgsnmpdConnID) );        idx = idx->next_variable;        snmp_set_var_typed_integer( idx, ASN_INTEGER, entry->rdbmsDbIndex );        idx = idx->next_variable;        snmp_set_var_typed_integer( idx, ASN_INTEGER, entry->pgsqlPgAmopEntryOID );        idx = idx->next_variable;        *my_data_context = (void *)entry;        *my_loop_context = (void *)entry->next;        return put_index_data;    } else {        return NULL;    }}
开发者ID:GunioRobot,项目名称:pgsnmpd,代码行数:24,


示例10: _mteEvent_fire_set

int _mteEvent_fire_set (struct mteEvent *entry,    /* The event to fire */                        struct mteTrigger *trigger,    /* Trigger that fired */                        oid * suffix, size_t sfx_len)    /* Matching instance */{    netsnmp_variable_list var;    oid set_oid[MAX_OID_LEN];    size_t set_len;    /*     * Set the basic assignment OID...     */    memset (set_oid, 0, sizeof (set_oid));    memcpy (set_oid, entry->mteSetOID, entry->mteSetOID_len * sizeof (oid));    set_len = entry->mteSetOID_len;    /*     * ... if the trigger value is wildcarded (sfx_len > 0),     *       *and* the SET event entry is wildcarded,     *        then add the supplied instance suffix...     */    if (sfx_len && entry->flags & MTE_SET_FLAG_OBJWILD)    {        memcpy (&set_oid[set_len], suffix, sfx_len * sizeof (oid));        set_len += sfx_len;    }    /*     * ... finally build the assignment varbind,     *        and pass it to be acted on.     *     * XXX: Need to handle (remote) targets and non-default contexts     */    memset (&var, 0, sizeof (var));    snmp_set_var_objid (&var, set_oid, set_len);    snmp_set_var_typed_integer (&var, ASN_INTEGER, entry->mteSetValue);    if (entry->session)        return netsnmp_query_set (&var, entry->session);    else        return netsnmp_query_set (&var, trigger->session);    /* XXX - Need to check result */}
开发者ID:274914765,项目名称:C,代码行数:44,


示例11: raidSetTable_get_next_data_point

netsnmp_variable_list *raidSetTable_get_next_data_point(void **my_loop_context,                          void **my_data_context,                          netsnmp_variable_list *put_index_data,                          netsnmp_iterator_info *mydata){    struct raidSetTable_entry *entry = (struct raidSetTable_entry *)*my_loop_context;    netsnmp_variable_list *idx = put_index_data;    if ( entry ) {        snmp_set_var_typed_integer( idx, ASN_INTEGER, entry->raidSetIndex );        idx = idx->next_variable;        *my_data_context = (void *)entry;        *my_loop_context = (void *)entry->next;        return put_index_data;    } else {        return NULL;    }}
开发者ID:Jaharmi,项目名称:Xsnmp,代码行数:19,


示例12: snmp_set_var_typed_integer

static netsnmp_variable_list *mib_ipRouteTable_get_next(void **my_loop_context,                                  void **my_data_context,                                  netsnmp_variable_list *put_index_data,                                  netsnmp_iterator_info *iinfo){    struct ipRouteTable_entry *entry = (struct ipRouteTable_entry *)*my_loop_context;    netsnmp_variable_list *idx = put_index_data;    if ( entry )    {        snmp_set_var_typed_integer( idx, ASN_IPADDRESS, entry->ipRouteDest );        idx = idx->next_variable;        *my_data_context = (void *)entry;        *my_loop_context = (void *)entry->next;        return put_index_data;    }    else    {        return NULL;    }}
开发者ID:millken,项目名称:zhuxianB30,代码行数:21,


示例13: snmp_set_var_typed_integer

/******************************************************************************* 函数名称  : mib_dot1qPortVlanTable_get_next 功能描述  : 输入参数  : 输出参数  : 返 回 值  : -------------------------------------------------------------------------------- 最近一次修改记录 : 修改作者   : 修改目的   : 修改日期   :*******************************************************************************/static netsnmp_variable_list *mib_dot1qPortVlanTable_get_next(void **my_loop_context,                                  void **my_data_context,                                  netsnmp_variable_list *put_index_data,                                  netsnmp_iterator_info *iinfo){    struct dot1qPortVlanTable_entry *entry = (struct dot1qPortVlanTable_entry *)*my_loop_context;    netsnmp_variable_list *idx = put_index_data;    if ( entry )    {        snmp_set_var_typed_integer( idx, ASN_INTEGER, entry->ifIndex );        idx = idx->next_variable;        *my_data_context = (void *)entry;        *my_loop_context = (void *)entry->next;        return put_index_data;    }    else    {        return NULL;    }}
开发者ID:millken,项目名称:zhuxianB30,代码行数:33,


示例14: fan_status_handler__

static voidfan_status_handler__(netsnmp_request_info *req,                     uint32_t index,                     onlp_snmp_sensor_t *ss){    int value;    onlp_fan_info_t *fi = &ss->sensor_info.fi;    if (!ss->info_valid) {        return;    }    value = ONLP_SNMP_SENSOR_STATUS_MISSING;    if (fi->status & ONLP_FAN_STATUS_PRESENT) {        value = ONLP_SNMP_SENSOR_STATUS_GOOD;        if (fi->status & ONLP_FAN_STATUS_FAILED) {            value = ONLP_SNMP_SENSOR_STATUS_FAILED;        }    }    snmp_set_var_typed_integer(req->requestvb,                               ASN_INTEGER,                               value);}
开发者ID:Lewis-Kang,项目名称:OpenNetworkLinux,代码行数:24,


示例15: mteEventTable_handler

/** handles requests for the mteEventTable table */intmteEventTable_handler(netsnmp_mib_handler *handler,                      netsnmp_handler_registration *reginfo,                      netsnmp_agent_request_info *reqinfo,                      netsnmp_request_info *requests){    netsnmp_request_info       *request;    netsnmp_table_request_info *tinfo;    netsnmp_tdata_row          *row;    struct mteEvent            *entry;    char mteOwner[MTE_STR1_LEN+1];    char mteEName[MTE_STR1_LEN+1];    long ret;    DEBUGMSGTL(("disman:event:mib", "Event Table handler (%d)/n",                                     reqinfo->mode));    switch (reqinfo->mode) {        /*         * Read-support (also covers GetNext requests)         */    case MODE_GET:        for (request = requests; request; request = request->next) {            if (request->processed)                continue;            entry = (struct mteEvent *) netsnmp_tdata_extract_entry(request);            tinfo = netsnmp_extract_table_info(request);            if (!entry || !(entry->flags & MTE_EVENT_FLAG_VALID))                continue;            switch (tinfo->colnum) {            case COLUMN_MTEEVENTCOMMENT:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                                         entry->mteEventComment,                                  strlen(entry->mteEventComment));                break;            case COLUMN_MTEEVENTACTIONS:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                                        &entry->mteEventActions, 1);                break;            case COLUMN_MTEEVENTENABLED:                ret = (entry->flags & MTE_EVENT_FLAG_ENABLED ) ?                           TV_TRUE : TV_FALSE;                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER, ret);                break;            case COLUMN_MTEEVENTENTRYSTATUS:                ret = (entry->flags & MTE_EVENT_FLAG_ACTIVE ) ?                           RS_ACTIVE : RS_NOTINSERVICE;                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER, ret);                break;            }        }        break;#ifndef NETSNMP_NO_WRITE_SUPPORT        /*         * Write-support         */    case MODE_SET_RESERVE1:        for (request = requests; request; request = request->next) {            if (request->processed)                continue;            entry = (struct mteEvent *) netsnmp_tdata_extract_entry(request);            tinfo = netsnmp_extract_table_info(request);            switch (tinfo->colnum) {            case COLUMN_MTEEVENTCOMMENT:                ret = netsnmp_check_vb_type_and_max_size(                          request->requestvb, ASN_OCTET_STR, MTE_STR1_LEN);                if (ret != SNMP_ERR_NOERROR) {                    netsnmp_set_request_error(reqinfo, request, ret);                    return SNMP_ERR_NOERROR;                }                /*                 * Can't modify the comment of an active row                 *   (No good reason for this, but that's what the MIB says!)                 */                if (entry &&                    entry->flags & MTE_EVENT_FLAG_ACTIVE ) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_ERR_INCONSISTENTVALUE);                    return SNMP_ERR_NOERROR;                }                break;            case COLUMN_MTEEVENTACTIONS:                ret = netsnmp_check_vb_type_and_size(                          request->requestvb, ASN_OCTET_STR, 1);                if (ret != SNMP_ERR_NOERROR) {                    netsnmp_set_request_error(reqinfo, request, ret);                    return SNMP_ERR_NOERROR;                }                /*                 * Can't modify the event types of an active row                 *   (A little more understandable perhaps,                 *    but still an unnecessary restriction IMO)//.........这里部分代码省略.........
开发者ID:ClausKlein,项目名称:net-snmp,代码行数:101,


示例16: neIeee8021QBridgeVlanCurrentTable_mapper

/* neIeee8021QBridgeVlanCurrentTable table mapper */intneIeee8021QBridgeVlanCurrentTable_mapper (	netsnmp_mib_handler *handler,	netsnmp_handler_registration *reginfo,	netsnmp_agent_request_info *reqinfo,	netsnmp_request_info *requests){	netsnmp_request_info *request;	netsnmp_table_request_info *table_info;	neIeee8021QBridgeVlanCurrentEntry_t *table_entry;	register ieee8021QBridgeVlanCurrentEntry_t *poEntry = NULL;	void *pvOldDdata = NULL;	int ret;		switch (reqinfo->mode)	{	/*	 * Read-support (also covers GetNext requests)	 */	case MODE_GET:		for (request = requests; request != NULL; request = request->next)		{			poEntry = (ieee8021QBridgeVlanCurrentEntry_t*) netsnmp_extract_iterator_context (request);			table_info = netsnmp_extract_table_info (request);			if (poEntry == NULL)			{				netsnmp_set_request_error (reqinfo, request, SNMP_NOSUCHINSTANCE);				continue;			}			table_entry = &poEntry->oNe;						switch (table_info->colnum)			{			case NEIEEE8021QBRIDGEVLANCURRENTADMINFLAGS:				snmp_set_var_typed_value (request->requestvb, ASN_OCTET_STR, (u_char*) table_entry->au8AdminFlags, table_entry->u16AdminFlags_len);				break;			case NEIEEE8021QBRIDGEVLANCURRENTOPERSTATE:				snmp_set_var_typed_integer (request->requestvb, ASN_INTEGER, table_entry->i32OperState);				break;			case NEIEEE8021QBRIDGEVLANCURRENTLEARNT:				snmp_set_var_typed_value (request->requestvb, ASN_OCTET_STR, (u_char*) table_entry->pu8Learnt, table_entry->u16Learnt_len);				break;			case NEIEEE8021QBRIDGEVLANCURRENTIFINDEX:				snmp_set_var_typed_integer (request->requestvb, ASN_INTEGER, table_entry->u32IfIndex);				break;							default:				netsnmp_set_request_error (reqinfo, request, SNMP_NOSUCHOBJECT);				break;			}		}		break;			/*	 * Write-support	 */	case MODE_SET_RESERVE1:		for (request = requests; request != NULL; request = request->next)		{			poEntry = (ieee8021QBridgeVlanCurrentEntry_t*) netsnmp_extract_iterator_context (request);			table_info = netsnmp_extract_table_info (request);			table_entry = &poEntry->oNe;						switch (table_info->colnum)			{			case NEIEEE8021QBRIDGEVLANCURRENTADMINFLAGS:				ret = netsnmp_check_vb_type_and_max_size (request->requestvb, ASN_OCTET_STR, sizeof (table_entry->au8AdminFlags));				if (ret != SNMP_ERR_NOERROR)				{					netsnmp_set_request_error (reqinfo, request, ret);					return SNMP_ERR_NOERROR;				}				break;							default:				netsnmp_set_request_error (reqinfo, request, SNMP_ERR_NOTWRITABLE);				return SNMP_ERR_NOERROR;			}		}		break;			case MODE_SET_RESERVE2:		for (request = requests; request != NULL; request = request->next)		{			poEntry = (ieee8021QBridgeVlanCurrentEntry_t*) netsnmp_extract_iterator_context (request);			table_info = netsnmp_extract_table_info (request);			if (poEntry == NULL)			{				netsnmp_set_request_error (reqinfo, request, SNMP_NOSUCHINSTANCE);				continue;			}			table_entry = &poEntry->oNe;						switch (table_info->colnum)			{			case NEIEEE8021QBRIDGEVLANCURRENTADMINFLAGS:				if (poEntry->u8RowStatus == xRowStatus_active_c || poEntry->u8RowStatus == xRowStatus_notReady_c)				{					netsnmp_set_request_error (reqinfo, request, SNMP_ERR_RESOURCEUNAVAILABLE);//.........这里部分代码省略.........
开发者ID:nes-repo,项目名称:NES-Open-Switch,代码行数:101,


示例17: cpqSasPhyDrvTable_handler

/** handles requests for the cpqSasPhyDrvTable table */intcpqSasPhyDrvTable_handler(netsnmp_mib_handler *handler,                          netsnmp_handler_registration *reginfo,                          netsnmp_agent_request_info *reqinfo,                          netsnmp_request_info *requests){    netsnmp_request_info *request;    netsnmp_table_request_info *table_info;    cpqSasPhyDrvTable_entry *table_entry;    DEBUGMSGTL(("cpqSasPhyDrvTable:handler", "Processing request (%d)/n",                reqinfo->mode));    switch (reqinfo->mode) {        /*         * Read-support (also covers GetNext requests)         */    case MODE_GET:        for (request = requests; request; request = request->next) {            if (request->processed)                continue;            table_entry = (cpqSasPhyDrvTable_entry *)                netsnmp_container_table_extract_context(request);            table_info = netsnmp_extract_table_info(request);            if ((NULL == table_entry) || (NULL == table_info)) {                snmp_log(LOG_ERR,                         "could not extract table entry or info for cpqSasPhyDrvTable/n");                snmp_set_var_typed_value(request->requestvb,                                         SNMP_ERR_GENERR, NULL, 0);                continue;            }            switch (table_info->colnum) {            case COLUMN_CPQSASPHYDRVHBAINDEX:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           table_entry->                                           cpqSasPhyDrvHbaIndex);                break;            case COLUMN_CPQSASPHYDRVINDEX:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           table_entry->cpqSasPhyDrvIndex);                break;            case COLUMN_CPQSASPHYDRVLOCATIONSTRING:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                                         table_entry->                                         cpqSasPhyDrvLocationString,                                         table_entry->                                         cpqSasPhyDrvLocationString_len);                break;            case COLUMN_CPQSASPHYDRVMODEL:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                                         table_entry->cpqSasPhyDrvModel,                                         table_entry->                                         cpqSasPhyDrvModel_len);                break;            case COLUMN_CPQSASPHYDRVSTATUS:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           table_entry->                                           cpqSasPhyDrvStatus);                break;            case COLUMN_CPQSASPHYDRVCONDITION:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           table_entry->                                           cpqSasPhyDrvCondition);                break;            case COLUMN_CPQSASPHYDRVFWREV:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,//.........这里部分代码省略.........
开发者ID:marker55,项目名称:hp-ams,代码行数:101,


示例18: hrSWRunTable_handler

/** handles requests for the hrSWRunTable table */inthrSWRunTable_handler(netsnmp_mib_handler *handler,                     netsnmp_handler_registration *reginfo,                     netsnmp_agent_request_info *reqinfo,                     netsnmp_request_info *requests){    netsnmp_request_info *request;    netsnmp_table_request_info *table_info;    netsnmp_swrun_entry *table_entry;    switch (reqinfo->mode) {        /*         * Read-support (also covers GetNext requests)         */    case MODE_GET:        for (request = requests; request; request = request->next) {            if (request->processed)               continue;            table_entry = (netsnmp_swrun_entry *)                netsnmp_container_table_extract_context(request);            table_info = netsnmp_extract_table_info(request);            if ((NULL == table_entry) || (NULL == table_info)) {                snmp_log(LOG_ERR, "could not extract table entry or info for "                 MYTABLE "/n");                snmp_set_var_typed_value(request->requestvb,                                         SNMP_ERR_GENERR, NULL, 0);                continue;            }            switch (table_info->colnum) {            case COLUMN_HRSWRUNINDEX:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           table_entry->hrSWRunIndex);                break;            case COLUMN_HRSWRUNNAME:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                                         (u_char *) table_entry->                                         hrSWRunName,                                         table_entry->hrSWRunName_len);                break;            case COLUMN_HRSWRUNID:                snmp_set_var_typed_value(request->requestvb, ASN_OBJECT_ID,#ifdef NETSNMP_SWRUN_HAVE_ID                                         (u_char *) table_entry->hrSWRunID,                                         table_entry->hrSWRunID_len#else                                         (u_char *) &nullOid, nullOidLen#endif                    );                break;            case COLUMN_HRSWRUNPATH:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                                         (u_char *) table_entry->                                         hrSWRunPath,                                         table_entry->hrSWRunPath_len);                break;            case COLUMN_HRSWRUNPARAMETERS:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                                         (u_char *) table_entry->                                         hrSWRunParameters,                                         table_entry->                                         hrSWRunParameters_len);                break;            case COLUMN_HRSWRUNTYPE:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           table_entry->hrSWRunType);                break;            case COLUMN_HRSWRUNSTATUS:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           table_entry->hrSWRunStatus);                break;            default:                /*                 * An unsupported/unreadable column (if applicable)                  */                snmp_set_var_typed_value(request->requestvb,                                         SNMP_NOSUCHOBJECT, NULL, 0);            }        }        break;#ifndef NETSNMP_NO_WRITE_SUPPORT#ifdef NETSNMP_INCLUDE_HRSWRUN_WRITE_SUPPORT        /*         * Write-support         */    case MODE_SET_RESERVE1:        for (request = requests; request; request = request->next) {            int pid;            if (request->processed)               continue;            table_entry = (netsnmp_swrun_entry *)                netsnmp_container_table_extract_context(request);            table_info = netsnmp_extract_table_info(request);            if ((NULL == table_entry) || (NULL == table_info)) {                snmp_log(LOG_ERR, "could not extract table entry or info for "                 MYTABLE "/n");                snmp_set_var_typed_value(request->requestvb,                                         SNMP_ERR_GENERR, NULL, 0);//.........这里部分代码省略.........
开发者ID:duniansampa,项目名称:SigLog,代码行数:101,


示例19: expObjectTable_handler

/** handles requests for the expObjectTable table */intexpObjectTable_handler(netsnmp_mib_handler *handler,                       netsnmp_handler_registration *reginfo,                       netsnmp_agent_request_info *reqinfo,                       netsnmp_request_info *requests){    netsnmp_request_info       *request;    netsnmp_table_request_info *tinfo;    netsnmp_tdata_row          *row;    struct expObject           *entry;    struct expExpression       *exp;    char   expOwner[EXP_STR1_LEN+1];    char   expName[ EXP_STR1_LEN+1];    long   objIndex;    long   ret;    netsnmp_variable_list *vp;    DEBUGMSGTL(("disman:expr:mib", "Expression Object Table handler (%d)/n",                                    reqinfo->mode));    switch (reqinfo->mode) {        /*         * Read-support (also covers GetNext requests)         */    case MODE_GET:        for (request = requests; request; request = request->next) {            entry = (struct expObject *)netsnmp_tdata_extract_entry(request);            tinfo = netsnmp_extract_table_info(request);            if (!entry || !(entry->flags & EXP_OBJ_FLAG_VALID))                continue;            switch (tinfo->colnum) {            case COLUMN_EXPOBJECTID:                snmp_set_var_typed_value(request->requestvb, ASN_OBJECT_ID,                              (u_char *) entry->expObjectID,                                         entry->expObjectID_len*sizeof(oid));                break;            case COLUMN_EXPOBJECTIDWILDCARD:                ret = (entry->flags & EXP_OBJ_FLAG_OWILD) ?                           TV_TRUE : TV_FALSE;                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER, ret);                break;            case COLUMN_EXPOBJECTSAMPLETYPE:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           entry->expObjectSampleType);                break;            case COLUMN_EXPOBJECTDELTADISCONTINUITYID:                /*                 * "This object [and the next two] are instantiated only if                 *  expObjectSampleType is 'deltaValue' or 'changedValue'"                 */                if ( entry->expObjectSampleType == 1 )                    continue;                snmp_set_var_typed_value(request->requestvb, ASN_OBJECT_ID,                              (u_char *) entry->expObjDeltaD,                                         entry->expObjDeltaD_len*sizeof(oid));                break;            case COLUMN_EXPOBJECTDISCONTINUITYIDWILDCARD:                if ( entry->expObjectSampleType == 1 )                    continue;                ret = (entry->flags & EXP_OBJ_FLAG_DWILD) ?                           TV_TRUE : TV_FALSE;                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER, ret);                break;            case COLUMN_EXPOBJECTDISCONTINUITYIDTYPE:                if ( entry->expObjectSampleType == 1 )                    continue;                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           entry->expObjDiscontinuityType);                break;            case COLUMN_EXPOBJECTCONDITIONAL:                snmp_set_var_typed_value(request->requestvb, ASN_OBJECT_ID,                              (u_char *) entry->expObjCond,                                         entry->expObjCond_len*sizeof(oid));                break;            case COLUMN_EXPOBJECTCONDITIONALWILDCARD:		ret = (entry->flags & EXP_OBJ_FLAG_CWILD) ?                           TV_TRUE : TV_FALSE;                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER, ret);                break;            case COLUMN_EXPOBJECTENTRYSTATUS:                /* What would indicate 'notReady' ? */                ret = (entry->flags & EXP_OBJ_FLAG_ACTIVE) ?                          RS_ACTIVE : RS_NOTINSERVICE;                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER, ret);                break;            }        }        break;        /*         * Write-support         */    case MODE_SET_RESERVE1:        for (request = requests; request; request = request->next) {            entry = (struct expObject *)                netsnmp_tdata_extract_entry(request);            tinfo = netsnmp_extract_table_info(request);//.........这里部分代码省略.........
开发者ID:KrisChaplin,项目名称:LRT2x4_v1.0.2.06_GPL_source,代码行数:101,


示例20: cpqLinOsProcessorTable_handler

/** handles requests for the cpqLinOsProcessorTable table */intcpqLinOsProcessorTable_handler(netsnmp_mib_handler *handler,                               netsnmp_handler_registration *reginfo,                               netsnmp_agent_request_info *reqinfo,                               netsnmp_request_info *requests){    netsnmp_request_info *request;    netsnmp_table_request_info *table_info;    cpqLinOsProcessorTable_entry *table_entry;    DEBUGMSGTL(("cpqLinOsProcessorTable:handler",                "Processing request (%d)/n", reqinfo->mode));    switch (reqinfo->mode) {        /*         * Read-support (also covers GetNext requests)         */    case MODE_GET:        for (request = requests; request; request = request->next) {            if (request->processed)                continue;            table_entry = (cpqLinOsProcessorTable_entry *)                netsnmp_container_table_extract_context(request);            table_info = netsnmp_extract_table_info(request);            if ((NULL == table_entry) || (NULL == table_info)) {                snmp_log(LOG_ERR,                         "could not extract table entry or info for cpqLinOsProcessorTable/n");                snmp_set_var_typed_value(request->requestvb,                                         SNMP_ERR_GENERR, NULL, 0);                continue;            }            switch (table_info->colnum) {            case COLUMN_CPQLINOSCPUINDEX:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           table_entry->cpqLinOsCpuIndex);                break;            case COLUMN_CPQLINOSCPUINSTANCE:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                                         table_entry->cpqLinOsCpuInstance,                                         table_entry->                                         cpqLinOsCpuInstance_len);                break;            case COLUMN_CPQLINOSCPUINTERRUPTSPERSEC:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           table_entry->                                           cpqLinOsCpuInterruptsPerSec);                break;            case COLUMN_CPQLINOSCPUTIMEPERCENT:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           table_entry->                                           cpqLinOsCpuTimePercent);                break;            case COLUMN_CPQLINOSCPUUSERTIMEPERCENT:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           table_entry->                                           cpqLinOsCpuUserTimePercent);                break;            case COLUMN_CPQLINOSCPUPRIVILEGEDTIMEPERCENT:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           table_entry->                                           cpqLinOsCpuPrivilegedTimePercent);                break;            default:                netsnmp_set_request_error(reqinfo, request,                                          SNMP_NOSUCHOBJECT);                break;            }//.........这里部分代码省略.........
开发者ID:marker55,项目名称:hp-ams,代码行数:101,


示例21: handle_channelList

int handle_channelList(netsnmp_mib_handler *handler, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests){	netsnmp_request_info *request;	netsnmp_table_request_info *table_info;	chan_entry_t *entry;	char dt_str[12];	switch (reqinfo->mode) {	case MODE_GET:		for (request = requests; request; request = request->next) {			if (request->processed)				continue;			table_info = netsnmp_extract_table_info(request);			entry = (chan_entry_t *) netsnmp_tdata_extract_entry(request);			switch (table_info->colnum) {			case CH_INDEX:				snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER, entry->idx);				break;			case CH_UUID:				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->uuid, strlen(entry->uuid));				break;			case CH_DIRECTION:				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->direction, strlen(entry->direction));				break;			case CH_CREATED:				time_t_to_datetime(entry->created_epoch, (char *) &dt_str, sizeof(dt_str));				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) &dt_str, sizeof(dt_str));				break;			case CH_NAME:				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->name, strlen(entry->name));				break;			case CH_STATE:				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->state, strlen(entry->state));				break;			case CH_CID_NAME:				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->cid_name, strlen(entry->cid_name));				break;			case CH_CID_NUM:				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->cid_num, strlen(entry->cid_num));				break;			case CH_IP_ADDR_TYPE:				if (entry->addr_family == AF_INET6) {					snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER, INETADDRESSTYPE_IPV6);				} else {					snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER, INETADDRESSTYPE_IPV4);				}				break;			case CH_IP_ADDR:				if (entry->addr_family == AF_INET6) {					snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) &entry->ip_addr.v6, sizeof(entry->ip_addr.v6));				} else {					snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) &entry->ip_addr.v4, sizeof(entry->ip_addr.v4));				}				break;			case CH_DEST:				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->dest, strlen(entry->dest));				break;			case CH_APPLICATION:				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->application, strlen(entry->application));				break;			case CH_APPLICATION_DATA:				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->application_data, strlen(entry->application_data));				break;			case CH_DIALPLAN:				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->dialplan, strlen(entry->dialplan));				break;			case CH_CONTEXT:				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->context, strlen(entry->context));				break;			case CH_READ_CODEC:				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->read_codec, strlen(entry->read_codec));				break;			case CH_READ_RATE:				snmp_set_var_typed_value(request->requestvb, ASN_GAUGE, (u_char *) &entry->read_rate, sizeof(entry->read_rate));				break;			case CH_READ_BITRATE:				snmp_set_var_typed_value(request->requestvb, ASN_GAUGE, (u_char *) &entry->read_bitrate, sizeof(entry->read_bitrate));				break;			case CH_WRITE_CODEC:				snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR, (u_char *) entry->write_codec, strlen(entry->write_codec));				break;			case CH_WRITE_RATE:				snmp_set_var_typed_value(request->requestvb, ASN_GAUGE, (u_char *) &entry->write_rate, sizeof(entry->write_rate));				break;			case CH_WRITE_BITRATE:				snmp_set_var_typed_value(request->requestvb, ASN_GAUGE, (u_char *) &entry->write_bitrate, sizeof(entry->write_bitrate));				break;			default:				snmp_log(LOG_WARNING, "Unregistered OID-suffix requested (%d)/n", table_info->colnum);				netsnmp_set_request_error(reqinfo, request, SNMP_NOSUCHOBJECT);			}		}		break;	default:		/* we should never get here, so this is a really bad error */		snmp_log(LOG_ERR, "Unknown mode (%d) in handle_channelList/n", reqinfo->mode );		return SNMP_ERR_GENERR;	}//.........这里部分代码省略.........
开发者ID:PauloFer1,项目名称:FreeSWITCH,代码行数:101,


示例22: mib_etherHistoryTable_handler

/******************************************************************************* 函数名称  : mib_etherHistoryTable_handler 功能描述  : handles requests for the etherHistoryTable table 输入参数  : 输出参数  : 返 回 值  : -------------------------------------------------------------------------------- 最近一次修改记录 : 修改作者   : 修改目的   : 修改日期   :*******************************************************************************/static intmib_etherHistoryTable_handler(netsnmp_mib_handler *handler,                              netsnmp_handler_registration *reginfo,                              netsnmp_agent_request_info *reqinfo,                              netsnmp_request_info *requests){    netsnmp_request_info *request;    netsnmp_table_request_info *table_req_info;    struct etherHistoryTable_entry *table_entry;    switch (reqinfo->mode) {        /*         * 这里的GET操作已经覆盖了GET_NEXT操作         */    case MODE_GET:        for (request = requests; request; request = request->next) {            table_entry = (struct etherHistoryTable_entry *)                netsnmp_extract_iterator_context(request);            table_req_info = netsnmp_extract_table_info(request);            if (NULL == table_req_info) {                netsnmp_set_request_error(reqinfo, request,                                          SNMP_ERR_NOACCESS);                continue;            }            switch (table_req_info->colnum) {            case COLUMN_ETHERHISTORYINDEX:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           htonl(table_entry->                                                 etherHistoryIndex));                break;            case COLUMN_ETHERHISTORYSAMPLEINDEX:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           htonl(table_entry->                                                 etherHistorySampleIndex));                break;            case COLUMN_ETHERHISTORYINTERVALSTART:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb,                                           ASN_TIMETICKS,                                           htonl(table_entry->                                                 etherHistoryIntervalStart));                break;            case COLUMN_ETHERHISTORYDROPEVENTS:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb, ASN_COUNTER,                                           htonl(table_entry->                                                 etherHistoryDropEvents));                break;            case COLUMN_ETHERHISTORYOCTETS:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb, ASN_COUNTER,                                           htonl(table_entry->                                                 etherHistoryOctets));                break;            case COLUMN_ETHERHISTORYPKTS:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb, ASN_COUNTER,                                           htonl(table_entry->                                                 etherHistoryPkts));                break;            case COLUMN_ETHERHISTORYBROADCASTPKTS://.........这里部分代码省略.........
开发者ID:millken,项目名称:zhuxianB30,代码行数:101,


示例23: mib_etherHistoryTable_get_first

/******************************************************************************* 函数名称  : mib_etherHistoryTable_get_first 功能描述  : Example iterator hook routines 输入参数  : 输出参数  : 返 回 值  : -------------------------------------------------------------------------------- 最近一次修改记录 : 修改作者   : 修改目的   : 修改日期   :*******************************************************************************/static netsnmp_variable_list *mib_etherHistoryTable_get_first(void **my_loop_context,                                void **my_data_context,                                netsnmp_variable_list * put_index_data,                                netsnmp_iterator_info *iinfo){    netsnmp_table_request_info *table_req_info;    unsigned int    number_indexes;    netsnmp_variable_list *req_index, *put_idx = put_index_data;    int             mode;    long            etherHistoryIndex;    long            etherHistorySampleIndex;    struct etherHistoryTable_entry *entry;    table_req_info = *my_loop_context;    if (table_req_info) {        number_indexes = table_req_info->number_indexes;        req_index = table_req_info->indexes;               /*         * Compute request indexes          */                     if (number_indexes > 0) {            etherHistoryIndex =                ntohl(*(req_index->val.integer));            req_index = req_index->next_variable;            number_indexes--;        } else {            etherHistoryIndex = 0;        }        if (number_indexes > 0) {            etherHistorySampleIndex =                ntohl(*(req_index->val.integer));            req_index = req_index->next_variable;            number_indexes--;        } else {            etherHistorySampleIndex = 0;        }        mode = *(int *) my_data_context;        iinfo->myvoid = (void *) my_data_context;        switch (mode) {        case MODE_GET:        case MODE_SET_RESERVE1:            break;        case MODE_GETNEXT:			            if (0 !=                mib_etherHistoryTable_get_next_index(&etherHistoryIndex,                                                     &etherHistorySampleIndex)                ) {                //No record                return NULL;            }			            break;        default:            return NULL;        }    } else {        //Get the first row        if (0 != mib_etherHistoryTable_get_first_index(&etherHistoryIndex,                                                       &etherHistorySampleIndex)            ) {            //No record            return NULL;        }		    }    entry = mib_etherHistoryTable_createEntry(  //这里分配的内存在请求处理完成后释放                                                 etherHistoryIndex,                                             etherHistorySampleIndex);    if (entry) {        snmp_set_var_typed_integer(put_idx, ASN_INTEGER,                                   entry->etherHistoryIndex);        put_idx = put_idx->next_variable;        snmp_set_var_typed_integer(put_idx, ASN_INTEGER,                                   entry->etherHistorySampleIndex);        put_idx = put_idx->next_variable;        *my_data_context = (void *) entry;//.........这里部分代码省略.........
开发者ID:millken,项目名称:zhuxianB30,代码行数:101,


示例24: tlstmCertToTSNTable_handler

/** handles requests for the tlstmCertToTSNTable table */static inttlstmCertToTSNTable_handler(netsnmp_mib_handler *handler,                            netsnmp_handler_registration *reginfo,                            netsnmp_agent_request_info *reqinfo,                            netsnmp_request_info *requests){    oid tsnm[] = { SNMP_TLS_TM_BASE, 1, 1, 0 };    static const int tsnm_pos = OID_LENGTH(tsnm) - 1;    netsnmp_request_info *request = NULL;    netsnmp_table_request_info *info;    netsnmp_tdata  *table;    netsnmp_tdata_row *row;    certToTSN_entry *entry;    int             ret = SNMP_ERR_NOERROR;    DEBUGMSGTL(("tlstmCertToSN:handler", "Processing request (mode %s (%d))/n",                se_find_label_in_slist("agent_mode", reqinfo->mode),                reqinfo->mode));    switch (reqinfo->mode) {    /** ######################################################### GET #####     *     *   Read-support (also covers GetNext requests)     */    case MODE_GET:        for (request = requests; request; request = request->next) {            if (request->processed)                continue;            entry = (certToTSN_entry *) netsnmp_tdata_extract_entry(request);            info = netsnmp_extract_table_info(request);            netsnmp_assert(entry && info);            switch (info->colnum) {            case COL_SNMPTLSTMCERTTOTSN_FINGERPRINT:            {                /*                 * build SnmpTLSFingerprint                 */                u_char bin[42], *ptr = bin;                size_t len = sizeof(bin);                int    rc;                rc = netsnmp_tls_fingerprint_build(entry->hashType,                                                   entry->fingerprint,                                                   &ptr, &len, 0);                if (SNMPERR_SUCCESS != rc)                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_ERR_GENERR);                else                    snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                                             bin, len);            }                break;          /* case COL_SNMPTLSTMCERTTOTSN_FINGERPRINT */            case COL_SNMPTLSTMCERTTOTSN_MAPTYPE:                tsnm[tsnm_pos] = entry->mapType;                snmp_set_var_typed_value(request->requestvb, ASN_OBJECT_ID,                                         tsnm, sizeof(tsnm));                break;          /* case COL_SNMPTLSTMCERTTOTSN_MAPTYPE */            case COL_SNMPTLSTMCERTTOTSN_DATA:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                                         entry->data, entry->data_len);                break;          /* case COL_SNMPTLSTMCERTTOTSN_DATA */            case COL_SNMPTLSTMCERTTOTSN_STORAGETYPE:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           entry->storageType);                break;          /* case COL_SNMPTLSTMCERTTOTSN_STORAGETYPE */            case COL_SNMPTLSTMCERTTOTSN_ROWSTATUS:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           entry->rowStatus);                break;          /* case COL_SNMPTLSTMCERTTOTSN_ROWSTATUS */            default:                netsnmp_set_request_error(reqinfo, request, SNMP_NOSUCHOBJECT);                break;            }                   /* switch colnum */        }                       /* for requests */        break;                  /* case MODE_GET */        /*         * Write-support         */    /** #################################################### RESERVE1 #####     *     *   In RESERVE1 we are just checking basic ASN.1 size/type restrictions.     * You probably don't need to change any of this code. Don't change any     * of the column values here. Save that for the ACTION phase.     *     *   The next phase is RESERVE2 or FREE.     */    case MODE_SET_RESERVE1:        for (request = requests; request; request = request->next) {            netsnmp_assert(request->processed == 0);            entry = (certToTSN_entry *) netsnmp_tdata_extract_entry(request);            info = netsnmp_extract_table_info(request);            if ((NULL != entry) && (ST_READONLY == entry->storageType)) {                ret = SNMP_ERR_NOTWRITABLE;                break;            }//.........这里部分代码省略.........
开发者ID:RasmusKoldsoe,项目名称:performand.k70.2,代码行数:101,


示例25: nsVacmAccessTable_handler

/** handles requests for the nsVacmAccessTable table */intnsVacmAccessTable_handler(netsnmp_mib_handler *handler,                          netsnmp_handler_registration *reginfo,                          netsnmp_agent_request_info *reqinfo,                          netsnmp_request_info *requests){    netsnmp_request_info *request;    netsnmp_table_request_info *table_info;    netsnmp_variable_list      *idx;    struct vacm_accessEntry    *entry;    char atype[20];    int  viewIdx, ret;    char *gName, *cPrefix;    int  model, level;    switch (reqinfo->mode) {        /*         * Read-support (also covers GetNext requests)         */    case MODE_GET:        for (request = requests; request; request = request->next) {            entry = (struct vacm_accessEntry *)                netsnmp_extract_iterator_context(request);            table_info = netsnmp_extract_table_info(request);            /* Extract the authType token from the list of indexes */            idx = table_info->indexes->next_variable->next_variable->next_variable->next_variable;            memset(atype, 0, sizeof(atype));            memcpy(atype, (char *)idx->val.string, idx->val_len);            viewIdx = se_find_value_in_slist(VACM_VIEW_ENUM_NAME, atype);            DEBUGMSGTL(("nsVacm", "GET %s (%d)/n", idx->val.string, viewIdx));            if (!entry || viewIdx < 0)                continue;            switch (table_info->colnum) {            case COLUMN_NSVACMCONTEXTMATCH:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           entry->contextMatch);                break;            case COLUMN_NSVACMVIEWNAME:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                               (u_char *)entry->views[ viewIdx ],                                  strlen(entry->views[ viewIdx ]));                break;            case COLUMN_VACMACCESSSTORAGETYPE:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           entry->storageType);                break;            case COLUMN_NSVACMACCESSSTATUS:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           entry->status);                break;            }        }        break;#ifndef NETSNMP_NO_WRITE_SUPPORT        /*         * Write-support         */    case MODE_SET_RESERVE1:        for (request = requests; request; request = request->next) {            entry = (struct vacm_accessEntry *)                netsnmp_extract_iterator_context(request);            table_info = netsnmp_extract_table_info(request);            ret = SNMP_ERR_NOERROR;            switch (table_info->colnum) {            case COLUMN_NSVACMCONTEXTMATCH:                ret = netsnmp_check_vb_int_range(request->requestvb, 1, 2);                break;            case COLUMN_NSVACMVIEWNAME:                ret = netsnmp_check_vb_type_and_max_size(request->requestvb,                                                         ASN_OCTET_STR,                                                         VACM_MAX_STRING);                break;            case COLUMN_VACMACCESSSTORAGETYPE:                ret = netsnmp_check_vb_storagetype(request->requestvb,                          (/*entry ? entry->storageType :*/ SNMP_STORAGE_NONE));                break;            case COLUMN_NSVACMACCESSSTATUS:                /*                 * The usual 'check_vb_rowstatus' call is too simplistic                 *   to be used here.  Because we're implementing a table                 *   within an existing table, it's quite possible for a                 *   the vacmAccessTable entry to exist, even if this is                 *   a "new" nsVacmAccessEntry.                 *                 * We can check that the value being assigned is suitable                 *   for a RowStatus syntax object, but the transition                 *   checks need to be done explicitly.                 */                ret = netsnmp_check_vb_rowstatus_value(request->requestvb);                if ( ret != SNMP_ERR_NOERROR )                    break;                /*//.........这里部分代码省略.........
开发者ID:duniansampa,项目名称:SigLog,代码行数:101,


示例26: radiusAccClientExtTable_get_value

/************************************************************ * radiusAccClientExtTable_get_value * * This routine is called for get requests to copy the data * from the context to the varbind for the request. If the * context has been properly maintained, you don't need to * change in code in this fuction. */intradiusAccClientExtTable_get_value(netsnmp_request_info *request,                                  netsnmp_index * item,                                  netsnmp_table_request_info *table_info){	netsnmp_variable_list *var = request->requestvb;	radiusAccClientExtTable_context *ctx =		(radiusAccClientExtTable_context *)item;	struct dm_value_table *stats;	ENTER();	if (!ctx->client) {		snmp_log(LOG_ERR, "invalid client in "			 "radiusAccClientExtTable_get_value/n");		EXIT();		return SNMP_ERR_GENERR;	}	/** VAR: InternetGatewayDevice.X_TPLINO_NET_SessionControl.RadiusServer.Accounting.Client.{i}.Stats */	stats = dm_get_table_by_id(ctx->client, dm__IGD_SCG_RS_Acct_Clnt_i_Stats);	switch (table_info->colnum) {	case COLUMN_RADIUSACCCLIENTINETADDRESSTYPE:		/** InetAddressType = ASN_INTEGER */		snmp_set_var_typed_integer(var, ASN_INTEGER, INETADDRESSTYPE_IPV4);		break;	    	case COLUMN_RADIUSACCCLIENTINETADDRESS: {		char hname[NI_MAXHOST];		struct in_addr host;	    		/** VAR: InternetGatewayDevice.X_TPLINO_NET_SessionControl.RadiusServer.Accounting.Client.{i}.Prefix */		host = dm_get_ipv4_by_id(ctx->client, dm__IGD_SCG_RS_Acct_Clnt_i_Prefix);		inet_ntop(AF_INET, &host, hname, sizeof(hname));	    		/** InetAddress = ASN_OCTET_STR */		snmp_set_var_typed_value(var, ASN_OCTET_STR, (unsigned char *)hname, strlen(hname));		break;	}	    	case COLUMN_RADIUSACCCLIENTEXTID: {		unsigned char *id;		/** VAR: InternetGatewayDevice.X_TPLINO_NET_SessionControl.RadiusServer.Accounting.Client.{i}.Description */		id = dm_get_string_by_id(ctx->client, dm__IGD_SCG_RS_Acct_Clnt_i_Description);		if (!id || !*id)			id = "";		/** SnmpAdminString = ASN_OCTET_STR */		snmp_set_var_typed_value(var, ASN_OCTET_STR, id, strlen(id));		break;	}	case COLUMN_RADIUSACCSERVEXTPACKETSDROPPED:		/** COUNTER = ASN_COUNTER */		/** VAR: InternetGatewayDevice.X_TPLINO_NET_SessionControl.RadiusServer.Accounting.Client.{i}.Stats.PacketsDropped */		snmp_set_var_typed_integer(var, ASN_COUNTER, dm_get_uint_by_id(stats, dm__IGD_SCG_RS_Acct_Clnt_i_Stats_PacketsDropped));		break;	    	case COLUMN_RADIUSACCSERVEXTREQUESTS:		/** COUNTER = ASN_COUNTER */		/** VAR: InternetGatewayDevice.X_TPLINO_NET_SessionControl.RadiusServer.Accounting.Client.{i}.Stats.Requests */		snmp_set_var_typed_integer(var, ASN_COUNTER, dm_get_uint_by_id(stats, dm__IGD_SCG_RS_Acct_Clnt_i_Stats_Requests));		break;	    	case COLUMN_RADIUSACCSERVEXTDUPREQUESTS:		/** COUNTER = ASN_COUNTER */		/** VAR: InternetGatewayDevice.X_TPLINO_NET_SessionControl.RadiusServer.Accounting.Client.{i}.Stats.DupRequests */		snmp_set_var_typed_integer(var, ASN_COUNTER, dm_get_uint_by_id(stats, dm__IGD_SCG_RS_Acct_Clnt_i_Stats_DupRequests));		break;	    	case COLUMN_RADIUSACCSERVEXTRESPONSES:		/** COUNTER = ASN_COUNTER */		/** VAR: InternetGatewayDevice.X_TPLINO_NET_SessionControl.RadiusServer.Accounting.Client.{i}.Stats.Responses */		snmp_set_var_typed_integer(var, ASN_COUNTER, dm_get_uint_by_id(stats, dm__IGD_SCG_RS_Acct_Clnt_i_Stats_Responses));		break;	    	case COLUMN_RADIUSACCSERVEXTBADAUTHENTICATORS:		/** COUNTER = ASN_COUNTER */		/** VAR: InternetGatewayDevice.X_TPLINO_NET_SessionControl.RadiusServer.Accounting.Client.{i}.Stats.BadAuthenticators */		snmp_set_var_typed_integer(var, ASN_COUNTER, dm_get_uint_by_id(stats, dm__IGD_SCG_RS_Acct_Clnt_i_Stats_BadAuthenticators));		break;	    	case COLUMN_RADIUSACCSERVEXTMALFORMEDREQUESTS:		/** COUNTER = ASN_COUNTER */		/** VAR: InternetGatewayDevice.X_TPLINO_NET_SessionControl.RadiusServer.Accounting.Client.{i}.Stats.MalformedRequests */		snmp_set_var_typed_integer(var, ASN_COUNTER, dm_get_uint_by_id(stats, dm__IGD_SCG_RS_Acct_Clnt_i_Stats_MalformedRequests));		break;	    	case COLUMN_RADIUSACCSERVEXTNORECORDS:		/** COUNTER = ASN_COUNTER *///.........这里部分代码省略.........
开发者ID:KanjiMonster,项目名称:mand,代码行数:101,


示例27: mteTriggerThresholdTable_handler

/** handles requests for the mteTriggerThresholdTable table */intmteTriggerThresholdTable_handler(netsnmp_mib_handler *handler,                                 netsnmp_handler_registration *reginfo,                                 netsnmp_agent_request_info *reqinfo,                                 netsnmp_request_info *requests){    netsnmp_request_info       *request;    netsnmp_table_request_info *tinfo;    struct mteTrigger          *entry;    int ret;    DEBUGMSGTL(("disman:event:mib", "Threshold Table handler (%d)/n",                                     reqinfo->mode));    switch (reqinfo->mode) {        /*         * Read-support (also covers GetNext requests)         */    case MODE_GET:        for (request = requests; request; request = request->next) {            entry = (struct mteTrigger *) netsnmp_tdata_extract_entry(request);            tinfo = netsnmp_extract_table_info(request);            /*             * The mteTriggerThresholdTable should only contains entries for             *   rows where the mteTriggerTest 'threshold(2)' bit is set.             * So skip entries where this isn't the case.             */            if (!entry || !(entry->mteTriggerTest & MTE_TRIGGER_THRESHOLD ))                continue;            switch (tinfo->colnum) {            case COLUMN_MTETRIGGERTHRESHOLDSTARTUP:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           entry->mteTThStartup);                break;            case COLUMN_MTETRIGGERTHRESHOLDRISING:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           entry->mteTThRiseValue);                break;            case COLUMN_MTETRIGGERTHRESHOLDFALLING:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           entry->mteTThFallValue);                break;            case COLUMN_MTETRIGGERTHRESHOLDDELTARISING:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           entry->mteTThDRiseValue);                break;            case COLUMN_MTETRIGGERTHRESHOLDDELTAFALLING:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           entry->mteTThDFallValue);                break;            case COLUMN_MTETRIGGERTHRESHOLDOBJECTSOWNER:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                              (u_char *) entry->mteTThObjOwner,                                  strlen(entry->mteTThObjOwner));                break;            case COLUMN_MTETRIGGERTHRESHOLDOBJECTS:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                              (u_char *) entry->mteTThObjects,                                  strlen(entry->mteTThObjects));                break;            case COLUMN_MTETRIGGERTHRESHOLDRISINGEVENTOWNER:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                              (u_char *) entry->mteTThRiseOwner,                                  strlen(entry->mteTThRiseOwner));                break;            case COLUMN_MTETRIGGERTHRESHOLDRISINGEVENT:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                              (u_char *) entry->mteTThRiseEvent,                                  strlen(entry->mteTThRiseEvent));                break;            case COLUMN_MTETRIGGERTHRESHOLDFALLINGEVENTOWNER:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                              (u_char *) entry->mteTThFallOwner,                                  strlen(entry->mteTThFallOwner));                break;            case COLUMN_MTETRIGGERTHRESHOLDFALLINGEVENT:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                              (u_char *) entry->mteTThFallEvent,                                  strlen(entry->mteTThFallEvent));                break;            case COLUMN_MTETRIGGERTHRESHOLDDELTARISINGEVENTOWNER:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                              (u_char *) entry->mteTThDRiseOwner,                                  strlen(entry->mteTThDRiseOwner));                break;            case COLUMN_MTETRIGGERTHRESHOLDDELTARISINGEVENT:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                              (u_char *) entry->mteTThDRiseEvent,                                  strlen(entry->mteTThDRiseEvent));                break;            case COLUMN_MTETRIGGERTHRESHOLDDELTAFALLINGEVENTOWNER:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                              (u_char *) entry->mteTThDFallOwner,                                  strlen(entry->mteTThDFallOwner));                break;            case COLUMN_MTETRIGGERTHRESHOLDDELTAFALLINGEVENT://.........这里部分代码省略.........
开发者ID:a5216652166,项目名称:rcp100,代码行数:101,


示例28: hrSWInstalledTable_handler

/** handles requests for the hrSWInstalledTable table */inthrSWInstalledTable_handler(netsnmp_mib_handler *handler,                           netsnmp_handler_registration *reginfo,                           netsnmp_agent_request_info *reqinfo,                           netsnmp_request_info *requests){    netsnmp_request_info *request;    netsnmp_table_request_info *table_info;    netsnmp_swinst_entry *table_entry;    switch (reqinfo->mode) {        /*         * Read-support (also covers GetNext requests)         */    case MODE_GET:        for (request = requests; request; request = request->next) {            if (request->processed)               continue;            table_entry = (netsnmp_swinst_entry *)                netsnmp_container_table_extract_context(request);            table_info = netsnmp_extract_table_info(request);            if ((NULL == table_entry) || (NULL == table_info)) {                snmp_log(LOG_ERR, "could not extract table entry or info for "                 MYTABLE "/n");                snmp_set_var_typed_value(request->requestvb,                                         SNMP_ERR_GENERR, NULL, 0);                continue;            }            switch (table_info->colnum) {            case COLUMN_HRSWINSTALLEDINDEX:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           table_entry->swIndex);                break;            case COLUMN_HRSWINSTALLEDNAME: {                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                                         (u_char *) table_entry->swName,                                         table_entry->swName_len);                } break;            case COLUMN_HRSWINSTALLEDID:                snmp_set_var_typed_value(request->requestvb, ASN_OBJECT_ID,                                         (u_char *) &nullOid, nullOidLen);                break;            case COLUMN_HRSWINSTALLEDTYPE:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           table_entry->swType);                break;            case COLUMN_HRSWINSTALLEDDATE:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                                         (u_char *) table_entry->swDate,                                          table_entry->swDate_len);                break;            default:                /*                 * An unsupported/unreadable column (if applicable)                  */                snmp_set_var_typed_value(request->requestvb,                                         SNMP_NOSUCHOBJECT, NULL, 0);            }        }        break;    }    return SNMP_ERR_NOERROR;}
开发者ID:duniansampa,项目名称:SigLog,代码行数:67,


示例29: expExpressionTable_handler

/** handles requests for the expExpressionTable table */intexpExpressionTable_handler(netsnmp_mib_handler *handler,                           netsnmp_handler_registration *reginfo,                           netsnmp_agent_request_info *reqinfo,                           netsnmp_request_info *requests){    netsnmp_request_info       *request;    netsnmp_table_request_info *tinfo;    netsnmp_tdata_row          *row;    struct expExpression       *entry;    char   expOwner[EXP_STR1_LEN+1];    char   expName[ EXP_STR1_LEN+1];    long   ret;    DEBUGMSGTL(("disman:expr:mib", "Expression Table handler (%d)/n",                                    reqinfo->mode));    switch (reqinfo->mode) {        /*         * Read-support (also covers GetNext requests)         */    case MODE_GET:        for (request = requests; request; request = request->next) {            if (request->processed)                continue;            entry = (struct expExpression *)                    netsnmp_tdata_extract_entry(request);            tinfo = netsnmp_extract_table_info(request);            if (!entry || !(entry->flags & EXP_FLAG_VALID))                continue;            switch (tinfo->colnum) {            case COLUMN_EXPEXPRESSION:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                                (u_char*)entry->expExpression,                                  strlen(entry->expExpression));                break;            case COLUMN_EXPEXPRESSIONVALUETYPE:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           entry->expValueType);                break;            case COLUMN_EXPEXPRESSIONCOMMENT:                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                                (u_char*)entry->expComment,                                  strlen(entry->expComment));                break;            case COLUMN_EXPEXPRESSIONDELTAINTERVAL:                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           entry->expDeltaInterval);                break;            case COLUMN_EXPEXPRESSIONPREFIX:                /*                 * XXX - Need to search expObjectTable for a suitable OID                 */                /*                 * Empty OIDs (len=0) are converted into .0.0                 *   by the SNMP library automatically :-(                 */                if ( entry->expPrefix_len ) {                    snmp_set_var_typed_value(request->requestvb, ASN_OBJECT_ID,                              (u_char *) entry->expPrefix,                                         entry->expPrefix_len*sizeof(oid));                } else {                    /* XXX - possibly not needed */                    request->requestvb->type    = ASN_OBJECT_ID;                    request->requestvb->val_len = 0;                }                break;            case COLUMN_EXPEXPRESSIONERRORS:                snmp_set_var_typed_integer(request->requestvb, ASN_COUNTER,                                           entry->expErrorCount);                break;            case COLUMN_EXPEXPRESSIONENTRYSTATUS:                /* What would indicate 'notReady' ? */                ret = (entry->flags & EXP_FLAG_ACTIVE) ?                          RS_ACTIVE : RS_NOTINSERVICE;                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER, ret);                break;            }        }        break;        /*         * Write-support         */    case MODE_SET_RESERVE1:        for (request = requests; request; request = request->next) {            if (request->processed)                continue;            entry = (struct expExpression *)                netsnmp_tdata_extract_entry(request);            tinfo = netsnmp_extract_table_info(request);            switch (tinfo->colnum) {            case COLUMN_EXPEXPRESSION:                ret = netsnmp_check_vb_type_and_max_size(//.........这里部分代码省略.........
开发者ID:duniansampa,项目名称:SigLog,代码行数:101,


示例30: sctpAssocTable_handler

/** handles requests for the sctpAssocTable table */intsctpAssocTable_handler(netsnmp_mib_handler *handler,                       netsnmp_handler_registration *reginfo,                       netsnmp_agent_request_info *reqinfo,                       netsnmp_request_info *requests){    netsnmp_request_info *request;    netsnmp_table_request_info *table_info;    sctpAssocTable_entry *table_entry;    switch (reqinfo->mode) {        /*         * Read-support (also covers GetNext requests)         */    case MODE_GET:        for (request = requests; request; request = request->next) {            if (request->processed)                continue;            table_entry = (sctpAssocTable_entry *)                netsnmp_container_table_extract_context(request);            table_info = netsnmp_extract_table_info(request);            if ((NULL == table_entry) || (NULL == table_info)) {                snmp_log(LOG_ERR,                         "could not extract table entry or info for sctpAssocTable/n");                snmp_set_var_typed_value(request->requestvb,                                         SNMP_ERR_GENERR, NULL, 0);                continue;            }            switch (table_info->colnum) {            case COLUMN_SCTPASSOCREMHOSTNAME:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                                         (u_char *)                                         table_entry->sctpAssocRemHostName,                                         table_entry->sctpAssocRemHostName_len);                break;            case COLUMN_SCTPASSOCLOCALPORT:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb,                                           ASN_UNSIGNED,                                           table_entry->sctpAssocLocalPort);                break;            case COLUMN_SCTPASSOCREMPORT:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb,                                           ASN_UNSIGNED,                                           table_entry->sctpAssocRemPort);                break;            case COLUMN_SCTPASSOCREMPRIMADDRTYPE:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           table_entry->sctpAssocRemPrimAddrType);                break;            case COLUMN_SCTPASSOCREMPRIMADDR:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_value(request->requestvb, ASN_OCTET_STR,                                         (u_char *)                                         table_entry->sctpAssocRemPrimAddr,                                         table_entry->sctpAssocRemPrimAddr_len);                break;            case COLUMN_SCTPASSOCHEARTBEATINTERVAL:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb,                                           ASN_UNSIGNED,                                           table_entry->sctpAssocHeartBeatInterval);                break;            case COLUMN_SCTPASSOCSTATE:                if (!table_entry) {                    netsnmp_set_request_error(reqinfo, request,                                              SNMP_NOSUCHINSTANCE);                    continue;                }                snmp_set_var_typed_integer(request->requestvb, ASN_INTEGER,                                           table_entry->sctpAssocState);//.........这里部分代码省略.........
开发者ID:Undrizzle,项目名称:apps,代码行数:101,



注:本文中的snmp_set_var_typed_integer函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ snmp_set_var_typed_value函数代码示例
C++ snmp_set_var_objid函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。