这篇教程C++ snmp_synch_response函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中snmp_synch_response函数的典型用法代码示例。如果您正苦于以下问题:C++ snmp_synch_response函数的具体用法?C++ snmp_synch_response怎么用?C++ snmp_synch_response使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了snmp_synch_response函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: prsnmpstrvoid prsnmpstr(char *stroid) { struct snmp_pdu *pdu, *resp; oid tmp_oid[MAX_OID_LEN]; size_t tmp_oid_len=MAX_OID_LEN; int stat; char *tmp; pdu=snmp_pdu_create(SNMP_MSG_GET); read_objid(stroid, tmp_oid, &tmp_oid_len); snmp_add_null_var(pdu, tmp_oid, tmp_oid_len); stat=snmp_synch_response(ses, pdu, &resp); if (stat != STAT_SUCCESS || resp->errstat != SNMP_ERR_NOERROR) perr(resp); if(resp->variables->val_len && strlen((char *)resp->variables->val.string)) { tmp=malloc((resp->variables->val_len+1) * sizeof(char)); memcpy(tmp, resp->variables->val.string, resp->variables->val_len); tmp[resp->variables->val_len]=0; printf("%s", tmp); free(tmp); } if(resp) snmp_free_pdu(resp);}
开发者ID:xiongshaogang,项目名称:NetAndSysMonitor,代码行数:27,
示例2: snmp_get_itemstatic struct snmp_pdu *snmp_get_item(char *host, char *community, char *mib_item){ struct snmp_session session, *ss; struct snmp_pdu *request = NULL, *result = NULL; oid Oid[MAX_OID_LEN]; unsigned int oid_len = MAX_OID_LEN; /* initialize the SNMP session */ snmp_sess_init(&session); session.peername = host; session.community = (uchar_t *)community; session.community_len = strlen((const char *)session.community); session.version = SNMP_VERSION_1; session.retries = 0; if ((ss = snmp_open(&session)) == NULL) return (NULL); /* add the requested data */ if (!read_objid(mib_item, Oid, &oid_len)) snmp_perror(mib_item); /* initialize the request PDU */ request = snmp_pdu_create(SNMP_MSG_GET); snmp_add_null_var(request, Oid, oid_len); (void) snmp_synch_response(ss, request, &result); snmp_close(ss); return (result);}
开发者ID:drscream,项目名称:illumos-joyent,代码行数:33,
示例3: synchronous/* * simple synchronous loop */void synchronous (void){ struct host *hp; for (hp = hosts; hp->name; hp++) { struct snmp_session ss, *sp; struct oid *op; snmp_sess_init(&ss); /* initialize session */ ss.version = SNMP_VERSION_2c; ss.peername = strdup(hp->name); ss.community = strdup(hp->community); ss.community_len = strlen(ss.community); if (!(sp = snmp_open(&ss))) { snmp_perror("snmp_open"); continue; } for (op = oids; op->Name; op++) { struct snmp_pdu *req, *resp; int status; req = snmp_pdu_create(SNMP_MSG_GET); snmp_add_null_var(req, op->Oid, op->OidLen); status = snmp_synch_response(sp, req, &resp); if (!print_result(status, sp, resp)) break; snmp_free_pdu(resp); } snmp_close(sp); }}
开发者ID:dear531,项目名称:snmp_source,代码行数:32,
示例4: prifaliasvoid prifalias(oid inst) { struct snmp_pdu *pdu, *resp; oid tmp_oid[] = { 1,3,6,1,2,1,31,1,1,1,18,0 }; int stat; char *tmp; if(!extended) { fprintf(stderr, "ifalias is only available in eXtended mode/n"); snmp_close(ses); SOCK_CLEANUP; exit(1); } tmp_oid[11]=inst; pdu=snmp_pdu_create(SNMP_MSG_GET); snmp_add_null_var(pdu, tmp_oid, sizeof(tmp_oid)/sizeof(oid)); stat=snmp_synch_response(ses, pdu, &resp); if (stat != STAT_SUCCESS || resp->errstat != SNMP_ERR_NOERROR) perr(resp); if(resp->variables->val_len && strlen((char *)resp->variables->val.string)) { tmp=malloc((resp->variables->val_len+1) * sizeof(char)); memcpy(tmp, resp->variables->val.string, resp->variables->val_len); tmp[resp->variables->val_len]=0; printf(" /"%s/"", tmp); free(tmp); } if(resp) snmp_free_pdu(resp);}
开发者ID:xiongshaogang,项目名称:NetAndSysMonitor,代码行数:33,
示例5: getcntr32uint32_t getcntr32(int dir, oid inst) { struct snmp_pdu *pdu, *resp; oid iftable_oid[] = { 1,3,6,1,2,1,2,2,1,0,0 }; // dir=9 ; inst=10 int stat; uint32_t tmp; pdu=snmp_pdu_create(SNMP_MSG_GET); iftable_oid[9]=dir; iftable_oid[10]=inst; snmp_add_null_var(pdu, iftable_oid, sizeof(iftable_oid)/sizeof(oid)); stat=snmp_synch_response(ses, pdu, &resp); if (stat != STAT_SUCCESS || resp->errstat != SNMP_ERR_NOERROR) perr(resp); if(resp->variables->type != ASN_COUNTER) { fprintf(stderr, "/nError: unsupported data type (only 32bit counter is supported in normal mode)/n"); snmp_close(ses); SOCK_CLEANUP; exit(1); } tmp=resp->variables->val.counter64->high; if(resp) snmp_free_pdu(resp); return tmp;}
开发者ID:xiongshaogang,项目名称:NetAndSysMonitor,代码行数:29,
示例6: snmp_get_bulkint snmp_get_bulk( struct snmp_session *ss, const char *bulk_objid, struct snmp_pdu *bulk_pdu, struct snmp_pdu **bulk_response ){ size_t anOID_len = MAX_OID_LEN; oid anOID[MAX_OID_LEN]; int status; /* Create the PDU for theenrty_count data for our request. */ read_objid(bulk_objid, anOID, &anOID_len); bulk_pdu = snmp_pdu_create(SNMP_MSG_GETBULK); bulk_pdu->non_repeaters = 0; bulk_pdu->max_repetitions = NUM_REPITIONS; snmp_add_null_var(bulk_pdu, anOID, anOID_len); /* Send the Request out.*/ status = snmp_synch_response(ss, bulk_pdu, bulk_response); return(status);}
开发者ID:openhpi1,项目名称:testrepo,代码行数:27,
示例7: snmp_get_ifcount/* report the value interfaces.ifNumber.0, actually the number of interfaces */static int snmp_get_ifcount(struct snmp_session *ss) { int nifaces = -1; oid ifcount[] = { 1, 3, 6, 1, 2, 1, 2, 1, 0 }; struct snmp_pdu *pdu; struct snmp_pdu *response = NULL; int status; if ((pdu = snmp_pdu_create(SNMP_MSG_GET)) == NULL) { ifstat_error("snmp_pdu_create: %s", snmp_api_errstring(snmp_errno)); return -1; } snmp_add_null_var(pdu, ifcount, sizeof(ifcount) / sizeof(oid)); if ((status = snmp_synch_response(ss, pdu, &response)) != STAT_SUCCESS || response->errstat != SNMP_ERR_NOERROR || response->variables == NULL || response->variables->type != ASN_INTEGER) { if (status == STAT_SUCCESS) ifstat_error("snmp: Error: %s", snmp_errstring(response->errstat)); else ifstat_error("snmpget(interfaces.ifNumber.0): %s", snmp_sess_errstring(ss)); if (response) snmp_free_pdu(response); return -1; } nifaces = *(response->variables->val.integer); snmp_free_pdu(response); if (nifaces < 0) return -1; return nifaces;}
开发者ID:RaonControl,项目名称:siteApps,代码行数:34,
示例8: processSnmpGetvoid processSnmpGet(char * oid){ read_objid(oid, id_oid, &id_len); snmp_add_null_var(pdu, id_oid, id_len); int status = snmp_synch_response(session_handle, pdu, &response); for(vars = response->variables; vars; vars = vars->next_variable){ snprint_variable(outbuff, 256, vars->name, vars->name_length, vars); resultString = strrchr(outbuff, ':'); }}
开发者ID:und3ath,项目名称:centreon_plugins,代码行数:9,
示例9: ups_mib_mgr_get_upsBypassEntryint ups_mib_mgr_get_upsBypassEntry(struct snmp_session *s, upsBypassEntry_t **upsBypassEntry){ struct snmp_session *peer; struct snmp_pdu *request, *response; struct variable_list *vars; int status; request = snmp_pdu_create(SNMP_MSG_GETNEXT); snmp_add_null_var(request, upsBypassVoltage, sizeof(upsBypassVoltage)/sizeof(oid)); snmp_add_null_var(request, upsBypassCurrent, sizeof(upsBypassCurrent)/sizeof(oid)); snmp_add_null_var(request, upsBypassPower, sizeof(upsBypassPower)/sizeof(oid)); peer = snmp_open(s); if (!peer) { return -1; } status = snmp_synch_response(peer, request, &response); if (status != STAT_SUCCESS) { if (response) snmp_free_pdu(response); snmp_close(peer); return -2; } *upsBypassEntry = (upsBypassEntry_t *) malloc(sizeof(upsBypassEntry_t)); if (! *upsBypassEntry) { if (response) snmp_free_pdu(response); snmp_close(peer); return -4; } for (vars = response->variables; vars; vars = vars->next_variable) { if (vars->name_length > sizeof(upsBypassVoltage)/sizeof(oid) && memcmp(vars->name, upsBypassVoltage, sizeof(upsBypassVoltage)) == 0) { (*upsBypassEntry)->__upsBypassVoltage = *vars->val.integer; (*upsBypassEntry)->upsBypassVoltage = &((*upsBypassEntry)->__upsBypassVoltage); } if (vars->name_length > sizeof(upsBypassCurrent)/sizeof(oid) && memcmp(vars->name, upsBypassCurrent, sizeof(upsBypassCurrent)) == 0) { (*upsBypassEntry)->__upsBypassCurrent = *vars->val.integer; (*upsBypassEntry)->upsBypassCurrent = &((*upsBypassEntry)->__upsBypassCurrent); } if (vars->name_length > sizeof(upsBypassPower)/sizeof(oid) && memcmp(vars->name, upsBypassPower, sizeof(upsBypassPower)) == 0) { (*upsBypassEntry)->__upsBypassPower = *vars->val.integer; (*upsBypassEntry)->upsBypassPower = &((*upsBypassEntry)->__upsBypassPower); } } if (response) snmp_free_pdu(response); if (snmp_close(peer) == 0) { return -5; } return 0;}
开发者ID:AllardJ,项目名称:Tomato,代码行数:57,
示例10: ups_mib_mgr_get_upsOutputint ups_mib_mgr_get_upsOutput(struct snmp_session *s, upsOutput_t **upsOutput){ struct snmp_session *peer; struct snmp_pdu *request, *response; struct variable_list *vars; int status; request = snmp_pdu_create(SNMP_MSG_GETNEXT); snmp_add_null_var(request, upsOutputSource, sizeof(upsOutputSource)/sizeof(oid)); snmp_add_null_var(request, upsOutputFrequency, sizeof(upsOutputFrequency)/sizeof(oid)); snmp_add_null_var(request, upsOutputNumLines, sizeof(upsOutputNumLines)/sizeof(oid)); peer = snmp_open(s); if (!peer) { return -1; } status = snmp_synch_response(peer, request, &response); if (status != STAT_SUCCESS) { if (response) snmp_free_pdu(response); snmp_close(peer); return -2; } *upsOutput = (upsOutput_t *) malloc(sizeof(upsOutput_t)); if (! *upsOutput) { if (response) snmp_free_pdu(response); snmp_close(peer); return -4; } for (vars = response->variables; vars; vars = vars->next_variable) { if (vars->name_length > sizeof(upsOutputSource)/sizeof(oid) && memcmp(vars->name, upsOutputSource, sizeof(upsOutputSource)) == 0) { (*upsOutput)->__upsOutputSource = *vars->val.integer; (*upsOutput)->upsOutputSource = &((*upsOutput)->__upsOutputSource); } if (vars->name_length > sizeof(upsOutputFrequency)/sizeof(oid) && memcmp(vars->name, upsOutputFrequency, sizeof(upsOutputFrequency)) == 0) { (*upsOutput)->__upsOutputFrequency = *vars->val.integer; (*upsOutput)->upsOutputFrequency = &((*upsOutput)->__upsOutputFrequency); } if (vars->name_length > sizeof(upsOutputNumLines)/sizeof(oid) && memcmp(vars->name, upsOutputNumLines, sizeof(upsOutputNumLines)) == 0) { (*upsOutput)->__upsOutputNumLines = *vars->val.integer; (*upsOutput)->upsOutputNumLines = &((*upsOutput)->__upsOutputNumLines); } } if (response) snmp_free_pdu(response); if (snmp_close(peer) == 0) { return -5; } return 0;}
开发者ID:AllardJ,项目名称:Tomato,代码行数:57,
示例11: powernet_snmp_kill_ups_power |