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

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

51自学网 2021-06-03 08:04:26
  C++
这篇教程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: prsnmpstr

void 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_item

static 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: prifalias

void 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: getcntr32

uint32_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_bulk

int 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: processSnmpGet

void 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_upsBypassEntry

int 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_upsOutput

int 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

int powernet_snmp_kill_ups_power(UPSINFO *ups){   /* Was 1} change submitted by Kastus Shchuka ([email
C++ snooze函数代码示例
C++ snmp_set_var_value函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。