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

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

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

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

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

示例1: 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,


示例2: csnmp_host_open_session

static void csnmp_host_open_session (host_definition_t *host){  struct snmp_session sess;  if (host->sess_handle != NULL)    csnmp_host_close_session (host);  snmp_sess_init (&sess);  sess.peername = host->address;  sess.community = (u_char *) host->community;  sess.community_len = strlen (host->community);  sess.version = (host->version == 1) ? SNMP_VERSION_1 : SNMP_VERSION_2c;  /* snmp_sess_open will copy the `struct snmp_session *'. */  host->sess_handle = snmp_sess_open (&sess);  if (host->sess_handle == NULL)  {    char *errstr = NULL;    snmp_error (&sess, NULL, NULL, &errstr);    ERROR ("snmp plugin: host %s: snmp_sess_open failed: %s",	host->name, (errstr == NULL) ? "Unknown problem" : errstr);    sfree (errstr);  }} /* void csnmp_host_open_session */
开发者ID:haojunyu,项目名称:collectd,代码行数:27,


示例3: init_master_agent

intinit_master_agent(int dest_port,                   int (*pre_parse) (struct snmp_session *, snmp_ipaddr),                  int (*post_parse) (struct snmp_session *, struct snmp_pdu *,int)){    struct snmp_session sess, *session;    if ( ds_get_boolean(DS_APPLICATION_ID, DS_AGENT_ROLE) != MASTER_AGENT )	return 0; /* no error if ! MASTER_AGENT */    DEBUGMSGTL(("snmpd","installing master agent on port %d/n", dest_port));    snmp_sess_init( &sess );        sess.version = SNMP_DEFAULT_VERSION;    sess.peername = SNMP_DEFAULT_PEERNAME;    sess.community_len = SNMP_DEFAULT_COMMUNITY_LEN;         sess.local_port = dest_port;    sess.callback = handle_snmp_packet;    sess.authenticator = NULL;    sess.flags = ds_get_int(DS_APPLICATION_ID, DS_AGENT_FLAGS);    session = snmp_open_ex( &sess, pre_parse, 0, post_parse, 0, 0 );    if ( session == NULL ) {      /* diagnose snmp_open errors with the input struct snmp_session pointer */	snmp_sess_perror("init_master_agent", &sess);		return 1;    }    main_session = session;	return 0;}
开发者ID:Palantir555,项目名称:ecos-mars-zx3,代码行数:32,


示例4: snmp_start_read_rssi

void snmp_start_read_rssi(char *host) {	struct snmp_pdu *pdu;	struct snmp_session session;	const char *community = "public";	if (oid_rssi_ts1_length == 0 || oid_rssi_ts2_length == 0)		return;	snmp_rssi_received = 0;	if (snmp_session_rssi != NULL) {		snmp_close(snmp_session_rssi);		snmp_session_rssi = NULL;	}	snmp_sess_init(&session);	session.version = SNMP_VERSION_1;	session.peername = strdup(host);	session.community = (unsigned char *)strdup(community);	session.community_len = strlen(community);	session.callback = snmp_get_rssi_cb;	if (!(snmp_session_rssi = snmp_open(&session))) {		console_log("snmp error: error opening session to host %s/n", host);		return;	}	pdu = snmp_pdu_create(SNMP_MSG_GET);	snmp_add_null_var(pdu, oid_rssi_ts1, oid_rssi_ts1_length);	snmp_add_null_var(pdu, oid_rssi_ts2, oid_rssi_ts2_length);	if (!snmp_send(snmp_session_rssi, pdu))		console_log("snmp error: error sending rssi request to host %s/n", host);	free(session.peername);	free(session.community);}
开发者ID:n8ohu,项目名称:dmrshark,代码行数:34,


示例5: omsnmp_initSession

/* Init SNMP Session * alorbach, 2008-02-12 */static rsRetVal omsnmp_initSession(instanceData *pData){	DEFiRet;	netsnmp_session session;		/* should not happen, but if session is not cleared yet - we do it now! */	if (pData->snmpsession != NULL)		omsnmp_exitSession(pData);	dbgprintf( "omsnmp_initSession: ENTER - Target = '%s' on Port = '%d'/n", pData->szTarget, pData->iPort);	putenv(strdup("POSIXLY_CORRECT=1"));		snmp_sess_init(&session);	session.version = pData->iSNMPVersion;	session.callback = NULL; /* NOT NEEDED */	session.callback_magic = NULL;	session.peername = (char*) pData->szTargetAndPort;		/* Set SNMP Community */	if (session.version == SNMP_VERSION_1 || session.version == SNMP_VERSION_2c)	{			session.community = (unsigned char *) pData->szCommunity;		session.community_len = strlen((char*) pData->szCommunity);	}	pData->snmpsession = snmp_open(&session);	if (pData->snmpsession == NULL) {		errmsg.LogError(0, RS_RET_SUSPENDED, "omsnmp_initSession: snmp_open to host '%s' on Port '%d' failed/n", pData->szTarget, pData->iPort);		/* Stay suspended */		iRet = RS_RET_SUSPENDED;	}	RETiRet;}
开发者ID:fastly,项目名称:rsyslog,代码行数:38,


示例6: init_ilo_snmp_session

int init_ilo_snmp_session(struct ilo_snmp_priv * priv_ptr){  int ret = NAGIOS_ILO_SUCCESS_STATUS;  netsnmp_session session;  init_snmp("Nagios_hpilo_snmp");  snmp_sess_init(&session);  session.peername = strdup(priv_ptr->options.host);  session.community = strdup(priv_ptr->options.community);  session.community_len = strlen((char *) session.community);  session.version = priv_ptr->options.version;  session.timeout = priv_ptr->options.timeout;  session.retries = priv_ptr->options.retries;  priv_ptr->session = snmp_open(&session);  if (priv_ptr->session == NULL)     {      snmp_error(&session, &session.s_errno, &session.s_snmp_errno,		 &priv_ptr->err_str);      ret = NAGIOS_ILO_FAIL_STATUS;    }  return ret;}
开发者ID:HewlettPackard,项目名称:zabbix-plugins-hpeilo,代码行数:26,


示例7: throw

QtNetSNMP::SNMPSession *QtNetSNMP::QSNMPCore::createSession(SNMPVersion version, const QString& community, const QString& agent) throw(QSNMPException){    SNMPSession session;    SNMPSession *openedSession;    std::string stdCommunity = community.toStdString();    std::string stdAgent = agent.toStdString();    if(version != SNMPv1 && version != SNMPv2)        throw QSNMPException("QSNMPCore :: Create Session :: Version not supported");    snmp_sess_init(&session);    session.remote_port = _port;    session.retries = _retries;    session.timeout = _timeout;    session.version = version;    session.community = reinterpret_cast<u_char *>(const_cast<char *>(stdCommunity.c_str()));    session.community_len = stdCommunity.length();    session.peername = const_cast<char *>(stdAgent.c_str());    SOCK_STARTUP;    if(!(openedSession = snmp_open(&session))) {        SOCK_CLEANUP;        throw QSNMPException("QSNMPCore :: Create Session :: Open Session");    }    return openedSession;}
开发者ID:dsilvan,项目名称:qt-net-snmp,代码行数:27,


示例8: 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,


示例9: SnmpOpen

HSNMP SnmpOpen(const char* ipAddress) {	HSNMP m_sessp;  struct snmp_session session;  snmp_sess_init(&session);			                  // structure defaults  session.version = SNMP_VERSION_2c;  session.peername = strdup(ipAddress);  session.community = (u_char*)strdup(readCommunity);  session.community_len = strlen((char*)session.community);  session.timeout = 100000;   // timeout (us)  session.retries = 3;        // retries  if(!(m_sessp = snmp_sess_open(&session))) {    int liberr, syserr;    char *errstr;    snmp_error(&session, &liberr, &syserr, &errstr);    syslog(LOG_ERR,"Open SNMP session for host /"%s/": %s",ipAddress,errstr);    free(errstr);    return 0;  }//  m_session = snmp_sess_session(m_sessp);     // get the session pointer   syslog(LOG_INFO,"SNMP session for host /"%s/" opened",ipAddress);  return m_sessp;}
开发者ID:BillMills,项目名称:GRIFFIN-SOH,代码行数:26,


示例10: ConnectingEntry

static voidConnectingEntry(UNUSED tState self){    netsnmp_session init;    netsnmp_transport* t;    void* sess;    if(sessp) {        snmp_sess_close(sessp);        sessp = NULL;    }    snmp_sess_init(&init);    init.version = AGENTX_VERSION_1;    init.retries = 0; /* Retries are handled by the state machine */    init.timeout = SNMP_DEFAULT_TIMEOUT;    init.flags |= SNMP_FLAGS_STREAM_SOCKET;    init.callback = handle_agentx_response;    init.authenticator = NULL;    if(!(t = netsnmp_transport_open_client(                 "agentx", netsnmp_ds_get_string(                     NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_X_SOCKET)))) {        snmp_log(LOG_ERR, "Failed to connect to AgentX server/n");        change_state(&Exit);    } else if(!(sess = snmp_sess_add_ex(                           &init, t, NULL, agentx_parse, NULL, NULL,                           agentx_realloc_build, agentx_check_packet, NULL))) {        snmp_log(LOG_ERR, "Failed to create session/n");        change_state(&Exit);    } else {        sessp = sess;        change_state(&Opening);    }}
开发者ID:nnathan,项目名称:net-snmp,代码行数:35,


示例11: MPC_open

/* *  creates a snmp session */static struct snmp_session *MPC_open(char *hostname, int port, char *community){    static struct snmp_session session;    struct snmp_session *sptr;    DEBUGCALL;    /* create session */    snmp_sess_init(&session);    /* fill session */    session.peername = hostname;    session.version = SNMP_VERSION_1;    session.remote_port = port;    session.community = (u_char *)community;    session.community_len = strlen(community);    session.retries = 5;    session.timeout = 1000000;    /* open session */    sptr = snmp_open(&session);    if (sptr == NULL) {        MPC_error(&session, __FUNCTION__, "cannot open snmp session");    }    /* return pointer to opened session */    return (sptr);}
开发者ID:ingted,项目名称:cluster-glue,代码行数:33,


示例12: snprintf

static netsnmp_session *snmp_init (const char *target){	static netsnmp_session *session = NULL;#ifndef NETSNMPV54	char default_port[128];	snprintf (default_port, sizeof (default_port), "%s:162", target);#endif	if (session) {		return (session);	}	if (target == NULL) {		return NULL;	}	session = malloc (sizeof (netsnmp_session));	snmp_sess_init (session);	session->version = SNMP_VERSION_2c;	session->callback = NULL;	session->callback_magic = NULL;	session = snmp_add(session,#ifdef NETSNMPV54		netsnmp_transport_open_client ("snmptrap", target),#else		netsnmp_tdomain_transport (default_port, 0, "udp"),#endif		NULL, NULL);	if (session == NULL) {		qb_log(LOG_ERR, 0, "Could not create snmp transport");	}	return (session);}
开发者ID:ClusterLabs,项目名称:corosync,代码行数:34,


示例13: test_exec_sensor_cb

static void test_exec_sensor_cb(const char *cjson_sensor,				void (*msg_cb)(void *opaque,					       rb_message_list *msgs,					       size_t i),				void *opaque,				size_t n) {	const size_t aux_mem_wrap_fail_in = mem_wrap_fail_in; // Exclude this							      // code	mem_wrap_fail_in = 0;	struct _worker_info worker_info;	memset(&worker_info, 0, sizeof(worker_info));	snmp_sess_init(&worker_info.default_session);	struct json_object *json_sensor = json_tokener_parse(cjson_sensor);	rb_sensor_t *sensor = parse_rb_sensor(json_sensor, &worker_info);	json_object_put(json_sensor);	mem_wrap_fail_in = aux_mem_wrap_fail_in;	for (size_t i = 0; i < n; ++i) {		rb_message_list messages;		rb_message_list_init(&messages);		process_rb_sensor(&worker_info, sensor, &messages);		msg_cb(opaque, &messages, i);	}	rb_sensor_put(sensor);}
开发者ID:redBorder,项目名称:rb_monitor,代码行数:26,


示例14: init_session_helper

/** * Helper for snmp_init */static void init_session_helper(netsnmp_session *s, char *community){	snmp_sess_init(s);	s->peername = strdup(TC1_IP_ADDR);	s->version = SNMP_VERSION_2c;	s->community = (unsigned char *)strdup(community);	s->community_len = strlen(community);}
开发者ID:limasierra,项目名称:SatelliteConnectionMonitor,代码行数:11,


示例15: asynchronous

void asynchronous(void){  struct session *hs;  struct host *hp;  /* startup all hosts */  for (hs = sessions, hp = hosts; hp->name; hs++, hp++) {    struct snmp_pdu *req;    struct snmp_session sess;    snmp_sess_init(&sess);			/* initialize session */    sess.version = SNMP_VERSION_2c;    sess.peername = strdup(hp->name);    sess.community = strdup(hp->community);    sess.community_len = strlen(sess.community);    sess.callback = asynch_response;		/* default callback */    sess.callback_magic = hs;    if (!(hs->sess = snmp_open(&sess))) {      snmp_perror("snmp_open");      continue;    }    hs->current_oid = oids;    req = snmp_pdu_create(SNMP_MSG_GET);	/* send the first GET */    snmp_add_null_var(req, hs->current_oid->Oid, hs->current_oid->OidLen);    if (snmp_send(hs->sess, req))      active_hosts++;    else {      snmp_perror("snmp_send");      snmp_free_pdu(req);    }  }  /* loop while any active hosts */  while (active_hosts) {    int fds = 0, block = 1;    fd_set fdset;    struct timeval timeout;    FD_ZERO(&fdset);    snmp_select_info(&fds, &fdset, &timeout, &block);    fds = select(fds, &fdset, NULL, NULL, block ? NULL : &timeout);    if (fds < 0) {        perror("select failed");        exit(1);    }    if (fds)        snmp_read(&fdset);    else        snmp_timeout();  }  /* cleanup */  for (hp = hosts, hs = sessions; hp->name; hs++, hp++) {    if (hs->sess) snmp_close(hs->sess);  }}
开发者ID:dear531,项目名称:snmp_source,代码行数:58,


示例16: snmp_sess_init

void Session::initSession(snmp_session &sess){	snmp_sess_init(&sess); // Setup defaults	sess.peername = new char[m_peerName.length()+1];	strncpy(sess.peername, m_peerName.latin1(), m_peerName.length()+1);		// Casts are to move the variables to the original type.	sess.retries = (int)m_retries;	sess.timeout = (long)m_timeout;}
开发者ID:Flameeyes,项目名称:libksnmp,代码行数:10,


示例17: init_master

void init_master(void){    struct snmp_session sess, *session;    if ( ds_get_boolean(DS_APPLICATION_ID, DS_AGENT_ROLE) != MASTER_AGENT )	return;    DEBUGMSGTL(("agentx/master","initializing.../n"));    snmp_sess_init( &sess );    sess.version  = AGENTX_VERSION_1;    sess.flags  |= SNMP_FLAGS_STREAM_SOCKET;    if ( ds_get_string(DS_APPLICATION_ID, DS_AGENT_X_SOCKET) )	sess.peername = strdup(ds_get_string(DS_APPLICATION_ID, DS_AGENT_X_SOCKET));    else	sess.peername = strdup(AGENTX_SOCKET);    if ( sess.peername[0] == '/' ) {			/*			 *  If this is a Unix pathname,			 *  try and create the directory first.			 */	if (mkdirhier(sess.peername, AGENT_DIRECTORY_MODE, 1)) {	    snmp_log(LOG_ERR,		"Failed to create the directory for the agentX socket: %s/n",                 sess.peername);	}    }			/*			 *  Otherwise, let 'snmp_open' interpret the string.			 */    sess.local_port  = AGENTX_PORT;         /* Indicate server & set default port */    sess.remote_port = 0;    sess.callback = handle_master_agentx_packet;    session = snmp_open_ex( &sess, 0, agentx_parse, 0, agentx_build,                            agentx_check_packet );    if ( session == NULL && sess.s_errno == EADDRINUSE ) {		/*		 * Could be a left-over socket (now deleted)		 * Try again		 */        session = snmp_open_ex( &sess, 0, agentx_parse, 0, agentx_build,                            agentx_check_packet );    }    if ( session == NULL ) {      /* diagnose snmp_open errors with the input struct snmp_session pointer */	snmp_sess_perror("init_master", &sess);        if (!ds_get_boolean(DS_APPLICATION_ID, DS_AGENT_NO_ROOT_ACCESS))          exit(1);    }    DEBUGMSGTL(("agentx/master","initializing...   DONE/n"));}
开发者ID:BackupTheBerlios,项目名称:wl530g-svn,代码行数:54,


示例18: main

/* Main program 	Queries various SNMP values on cisco devices.*/int main(int argc, char *argv[]) {	char* output;	struct snmp_session session;	char arg;//	int i;//	long snmpVer;	/* Initialize and build snmp session, add version, community, host, etc */	init_snmp("Linux_checks");		snmp_sess_init( &session );	switch (arg = snmp_parse_args(argc, argv, &session, "C:", optProc)) {	case -3:		exit(1);	case -2:		exit(0);	case -1:		usage();		exit(1);	default:		break;	}		/* Check warning/critical test values to verify they are within the appropriate ranges */	if ((crit > 100) && (strcmp(mode, "sessions"))) {		printf("Critical threshold should be less than 100!/n");		usage();		exit(RESULT_UNKNOWN);	}	else if (crit < 0) {		printf("Critical threshould must be greater than 0!/n");		usage();		exit(RESULT_UNKNOWN);	}	else if ((warn < 0) && (strcmp(mode, "sessions"))) {		printf("Warning threshold must be greater than or equal to 0!/n");		usage();		exit(RESULT_UNKNOWN);	}	else if (warn > crit) {		printf("Warning threshold must not be greater than critical threshold!/n");		usage();		exit(RESULT_UNKNOWN);	}			output = checkCPU(&session);		printf("%s", output);	return exitVal;}
开发者ID:Isma399,项目名称:check_4_icinga,代码行数:56,


示例19: init

// initialize connection to snmp agentvoid init(char* ip , char* community) {    init_snmp("cs158b");    /*     * Initialize a "session" that defines who we're going to talk to     */    snmp_sess_init( &session );                   /* set up defaults */    session.peername = strdup(ip); // ip    session.version = SNMP_VERSION_2c;    session.community = community; // community    session.community_len = strlen(session.community);}
开发者ID:kenchan13579,项目名称:SNMP,代码行数:13,


示例20: cmu_snmp_parse

u_char         *cmu_snmp_parse(netsnmp_session * session,               netsnmp_pdu *pdu, u_char * data, size_t length){    u_char         *bufp = NULL;    snmp_sess_init(session);    /* gimme a break! */    switch (pdu->version) {    case SNMP_VERSION_1:    case SNMP_VERSION_2c:    case SNMP_DEFAULT_VERSION:        break;    default:        return NULL;    }#ifndef NO_INTERNAL_VARLIST    if (snmp_parse(0, session, pdu, data, length) != SNMP_ERR_NOERROR) {        return NULL;    }#else    /*     * while there are two versions of variable_list:     * use an internal variable list for snmp_parse;     * clone the result.     */    if (1) {        netsnmp_pdu    *snmp_clone_pdu(netsnmp_pdu *);        netsnmp_pdu    *snmp_2clone_pdu(netsnmp_pdu *from_pdu,                                        netsnmp_pdu *to_pdu);        netsnmp_pdu    *ipdu;        ipdu = snmp_clone_pdu(pdu);        if (snmp_parse(0, session, ipdu, data, length) != SNMP_ERR_NOERROR) {            snmp_free_internal_pdu(ipdu);            return NULL;        }        pdu = snmp_2clone_pdu(ipdu, pdu);        snmp_free_internal_pdu(ipdu);    }#endif                          /* NO_INTERNAL_VAR_LIST */    /*     * Add a null to meet the caller's expectations.      */    bufp = (u_char *) malloc(1 + pdu->community_len);    if (bufp && pdu->community_len) {        memcpy(bufp, pdu->community, pdu->community_len);        bufp[pdu->community_len] = '/0';    }    return (bufp);}
开发者ID:DYFeng,项目名称:infinidb,代码行数:53,


示例21: snmp_init

intsnmp_init(selector_t *sel){    struct snmp_session session;#ifdef HAVE_NETSNMP    netsnmp_transport *transport = NULL;    static char *snmp_default_port = "udp:162";    netsnmp_ds_set_boolean(NETSNMP_DS_LIBRARY_ID,			   NETSNMP_DS_LIB_MIB_ERRORS,			   0);    init_snmp("ipmi_ui");    transport = netsnmp_tdomain_transport(snmp_default_port, 1, "udp");    if (!transport) {        snmp_sess_perror("ipmi_ui", &session);	return -1;    }#else    void *transport = NULL;#endif    snmp_sess_init(&session);    session.peername = SNMP_DEFAULT_PEERNAME;    session.version = SNMP_DEFAULT_VERSION;    session.community_len = SNMP_DEFAULT_COMMUNITY_LEN;    session.retries = SNMP_DEFAULT_RETRIES;    session.timeout = SNMP_DEFAULT_TIMEOUT;    session.local_port = SNMP_TRAP_PORT;    session.callback = snmp_input;    session.callback_magic = transport;    session.authenticator = NULL;    session.isAuthoritative = SNMP_SESS_UNKNOWNAUTH;#ifdef HAVE_NETSNMP    snmp_session = snmp_add(&session, transport, snmp_pre_parse, NULL);#else    snmp_session = snmp_open_ex(&session, snmp_pre_parse,				NULL, NULL, NULL, NULL);#endif    if (snmp_session == NULL) {        snmp_sess_perror("ipmi_ui", &session);	return -1;    }    ipmi_sel_set_read_fds_handler(sel,				  snmp_add_read_fds,				  snmp_check_read_fds,				  snmp_check_timeout,				  NULL);    return 0;}
开发者ID:ystk,项目名称:debian-openipmi,代码行数:53,


示例22: Snmp_init

static intSnmp_init(SnmpObject *self, PyObject *args, PyObject *kwds){	PyObject *host=NULL, *community=NULL;	char *chost=NULL, *ccommunity=NULL;	int version = 2;	struct snmp_session session;	static char *kwlist[] = {"ip", "community", "version", NULL};			if (!PyArg_ParseTupleAndKeywords(args, kwds, "OO|i", kwlist, 		&host, &community, &version))		return -1;	snmp_sess_init(&session);	if ((chost = PyString_AsString(host)) == NULL)		return -1;	switch (version) {	case 1:		session.version = SNMP_VERSION_1;		break;	case 2:		session.version = SNMP_VERSION_2c;		break;	default:		PyErr_Format(PyExc_ValueError, "invalid SNMP version: %d",		    version);		return -1;	}	if ((ccommunity = PyString_AsString(community)) == NULL)		return -1;	session.community_len = strlen(ccommunity);	if ((session.community = (u_char*)strdup(ccommunity)) == NULL) {		PyErr_NoMemory();		return -1;	}	if ((session.peername = strdup(chost)) == NULL) {		PyErr_NoMemory();		return -1;	}	if ((self->ss = snmp_open(&session)) == NULL) {		Snmp_raise_error(&session);		free(session.community);		free(session.peername);		return -1;	}	if ((self->defers = PyDict_New()) == NULL)		return -1;	if (Snmp_updatereactor() == -1)		return -1;	return 0;}
开发者ID:arielsalvo,项目名称:wiremaps,代码行数:52,


示例23: talloc_zero

struct snmp_mtp_session *snmp_mtp_session_create(){	struct snmp_mtp_session *session = talloc_zero(NULL, struct snmp_mtp_session);	if (!session)		return NULL;	init_snmp("cellmgr_ng");	snmp_sess_init(&session->session);	session->session.version = SNMP_VERSION_1;	session->session.community = (unsigned char *) "private";	session->session.community_len = strlen((const char *) session->session.community);	session->session.myvoid = session;	return session;}
开发者ID:FreeRADIUS,项目名称:freeradius-server,代码行数:15,


示例24: omsnmp_initSession

/* Init SNMP Session * alorbach, 2008-02-12 */static rsRetValomsnmp_initSession(wrkrInstanceData_t *pWrkrData){	netsnmp_session session;	instanceData *pData;	char szTargetAndPort[MAXHOSTNAMELEN+128]; /* work buffer for specifying a full target and port string */	DEFiRet;		/* should not happen, but if session is not cleared yet - we do it now! */	if (pWrkrData->snmpsession != NULL)		omsnmp_exitSession(pWrkrData);	pData = pWrkrData->pData;	snprintf((char*)szTargetAndPort, sizeof(szTargetAndPort), "%s:%s:%d",			(pData->szTransport == NULL) ? "udp" : (char*)pData->szTransport,			pData->szTarget, pData->iPort == 0 ? 162 : pData->iPort);	dbgprintf( "omsnmp_initSession: ENTER - Target = '%s' on Port = '%d'/n", pData->szTarget, pData->iPort);	if (setenv("POSIXLY_CORRECT", "1", 1) == -1)		ABORT_FINALIZE(RS_RET_ERR);		snmp_sess_init(&session);	session.version = pData->iSNMPVersion;	session.callback = NULL; /* NOT NEEDED */	session.callback_magic = NULL;	session.peername = (char*) szTargetAndPort;		/* Set SNMP Community */	if (session.version == SNMP_VERSION_1 || session.version == SNMP_VERSION_2c) {			session.community = (unsigned char *) pData->szCommunity			== NULL ? (uchar*)"public" : pData->szCommunity;		session.community_len = strlen((char*) session.community);	}	pWrkrData->snmpsession = snmp_open(&session);	if (pWrkrData->snmpsession == NULL) {		errmsg.LogError(0, RS_RET_SUSPENDED, "omsnmp_initSession: snmp_open to host '%s' on Port '%d' "		"failed/n", pData->szTarget, pData->iPort);		/* Stay suspended */		iRet = RS_RET_SUSPENDED;	}finalize_it:	RETiRet;}
开发者ID:Joungkyun,项目名称:rsyslog,代码行数:50,


示例25: init_snmp

QSnmp::QSnmp(const QString &peername, const QByteArray &community) {	init_snmp("door_control");	snmp_sess_init(&session);	session.peername = strdup(peername.toUtf8().constData()); //"192.168.0.100";	session.version = SNMP_VERSION_1;	session.community = (unsigned char*)strdup(community.constData()); //(unsigned char*)"private";	session.community_len = strlen((char*)session.community);	ss = snmp_open(&session);	if (!ss) {		snmp_perror("ack");		snmp_log(LOG_ERR, "something horrible happened!!!/n");		return;	}	qDebug("QSnmp: session established");}
开发者ID:MagicalTux,项目名称:door,代码行数:17,


示例26: init_snmp

void snmp::session::open(const std::string & peername, const std::string & community){    if (!_initialized)    {        init_snmp("snmpapp");        _initialized = true;    }    ::snmp_session session;    snmp_sess_init(&session);    session.peername = const_cast<char *>(peername.c_str());    session.version = SNMP_VERSION_1;    session.community = reinterpret_cast<u_char *>(const_cast<char *>(community.c_str()));    session.community_len = community.size();    _ss = snmp_open(&session);    if (!_ss) throw std::runtime_error("Failed to open SNMP session");}
开发者ID:solatis,项目名称:qdb-benchmark,代码行数:18,


示例27: snmp_sess_init

static netsnmp_session *snmptrapd_add_session(netsnmp_transport *t) {    netsnmp_session sess, *session = &sess, *rc = NULL;    snmp_sess_init(session);    session->peername = SNMP_DEFAULT_PEERNAME;  /* Original code had NULL here */    session->version = SNMP_DEFAULT_VERSION;    session->community_len = SNMP_DEFAULT_COMMUNITY_LEN;    session->retries = SNMP_DEFAULT_RETRIES;    session->timeout = SNMP_DEFAULT_TIMEOUT;    session->callback = snmp_input;    session->callback_magic = (void *) t;    session->authenticator = NULL;    sess.isAuthoritative = SNMP_SESS_UNKNOWNAUTH;    rc = snmp_add(session, t, pre_parse, NULL);    if (rc == NULL) {        snmp_sess_perror("snmptrapd", session);    }    return rc;}
开发者ID:kalombos,项目名称:pynetsnmp,代码行数:18,


示例28: simpleSNMPopen

struct snmp_session *simpleSNMPopen(gchar *peername,	       gint port,	       gchar *community,	       void *data){    struct snmp_session session, *ss;    /*     * initialize session to default values     */    snmp_sess_init( &session );    session.version = SNMP_VERSION_1;    session.community = community;    session.community_len = strlen(community);    session.peername = peername;    session.remote_port = port;    session.retries = SNMP_DEFAULT_RETRIES;    session.timeout = SNMP_DEFAULT_TIMEOUT;    session.callback = snmp_input;    session.callback_magic = data; /* most likely a Reader */    session.authenticator = NULL;#ifdef STREAM    session.flags |= SNMP_FLAGS_STREAM_SOCKET;#endif    /*      * Open an SNMP session.     */    ss = snmp_open(&session);    if (ss == NULL){        snmp_sess_perror("snmp_open", &session);        // exit(1);    }    return ss;}
开发者ID:zuckschwerdt,项目名称:gkrellm-snmp,代码行数:41,


示例29: sizeof

struct snmp_session *session_open(const char *chost, const char *ccommunity) {  struct snmp_session *ss, session;  char *host, *community;  host=calloc(strlen(chost)+1, sizeof(char));  strcpy(host, chost);  community=calloc(strlen(ccommunity)+1, sizeof(char));  strcpy(community, ccommunity);  /* Initialize the SNMP library */  init_snmp("snmpapp");  /* Initialize the session */  snmp_sess_init( &session );  session.version = SNMP_VERSION_2c;  session.peername = host;  session.community = (u_char*)community;  session.community_len = strlen(community);                                                                                                    netsnmp_ds_set_int( NETSNMP_DS_LIBRARY_ID,		NETSNMP_DS_LIB_OID_OUTPUT_FORMAT,		NETSNMP_OID_OUTPUT_UCD );//                NETSNMP_OID_OUTPUT_NONE);  SOCK_STARTUP  /* open the SNMP session */  ss = snmp_open(&session);  if (ss == NULL) {    perror("Cant snmp_open");    exit(-1);  }  netsnmp_ds_set_int(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_OID_OUTPUT_FORMAT,                                                      NETSNMP_OID_OUTPUT_NUMERIC);  return ss;}
开发者ID:Ancient,项目名称:NetGuard,代码行数:40,



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


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