|
Packit Service |
9ccfef |
/*
|
|
Packit Service |
9ccfef |
* This C file has been generated by smidump 0.4.5.
|
|
Packit Service |
9ccfef |
* It is intended to be used with the NET-SNMP library.
|
|
Packit Service |
9ccfef |
*
|
|
Packit Service |
9ccfef |
* This C file is derived from the IF-MIB module.
|
|
Packit Service |
9ccfef |
*
|
|
Packit Service |
9ccfef |
* $Id: if-mib-mgr-stub.c 7690 2008-02-05 15:31:35Z schoenw $
|
|
Packit Service |
9ccfef |
*/
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
#include <stdlib.h>
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
#include <ucd-snmp/asn1.h>
|
|
Packit Service |
9ccfef |
#include <ucd-snmp/snmp.h>
|
|
Packit Service |
9ccfef |
#include <ucd-snmp/snmp_api.h>
|
|
Packit Service |
9ccfef |
#include <ucd-snmp/snmp_client.h>
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
#include "if-mib.h"
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
static oid ifNumber[] = {1, 3, 6, 1, 2, 1, 2, 1};
|
|
Packit Service |
9ccfef |
static oid ifIndex[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 1};
|
|
Packit Service |
9ccfef |
static oid ifDescr[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 2};
|
|
Packit Service |
9ccfef |
static oid ifType[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 3};
|
|
Packit Service |
9ccfef |
static oid ifMtu[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 4};
|
|
Packit Service |
9ccfef |
static oid ifSpeed[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 5};
|
|
Packit Service |
9ccfef |
static oid ifPhysAddress[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 6};
|
|
Packit Service |
9ccfef |
static oid ifAdminStatus[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 7};
|
|
Packit Service |
9ccfef |
static oid ifOperStatus[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 8};
|
|
Packit Service |
9ccfef |
static oid ifLastChange[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 9};
|
|
Packit Service |
9ccfef |
static oid ifInOctets[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 10};
|
|
Packit Service |
9ccfef |
static oid ifInUcastPkts[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 11};
|
|
Packit Service |
9ccfef |
static oid ifInNUcastPkts[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 12};
|
|
Packit Service |
9ccfef |
static oid ifInDiscards[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 13};
|
|
Packit Service |
9ccfef |
static oid ifInErrors[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 14};
|
|
Packit Service |
9ccfef |
static oid ifInUnknownProtos[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 15};
|
|
Packit Service |
9ccfef |
static oid ifOutOctets[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 16};
|
|
Packit Service |
9ccfef |
static oid ifOutUcastPkts[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 17};
|
|
Packit Service |
9ccfef |
static oid ifOutNUcastPkts[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 18};
|
|
Packit Service |
9ccfef |
static oid ifOutDiscards[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 19};
|
|
Packit Service |
9ccfef |
static oid ifOutErrors[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 20};
|
|
Packit Service |
9ccfef |
static oid ifOutQLen[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 21};
|
|
Packit Service |
9ccfef |
static oid ifSpecific[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 22};
|
|
Packit Service |
9ccfef |
static oid ifName[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 1};
|
|
Packit Service |
9ccfef |
static oid ifInMulticastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 2};
|
|
Packit Service |
9ccfef |
static oid ifInBroadcastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 3};
|
|
Packit Service |
9ccfef |
static oid ifOutMulticastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 4};
|
|
Packit Service |
9ccfef |
static oid ifOutBroadcastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 5};
|
|
Packit Service |
9ccfef |
static oid ifHCInOctets[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 6};
|
|
Packit Service |
9ccfef |
static oid ifHCInUcastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 7};
|
|
Packit Service |
9ccfef |
static oid ifHCInMulticastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 8};
|
|
Packit Service |
9ccfef |
static oid ifHCInBroadcastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 9};
|
|
Packit Service |
9ccfef |
static oid ifHCOutOctets[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 10};
|
|
Packit Service |
9ccfef |
static oid ifHCOutUcastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 11};
|
|
Packit Service |
9ccfef |
static oid ifHCOutMulticastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 12};
|
|
Packit Service |
9ccfef |
static oid ifHCOutBroadcastPkts[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 13};
|
|
Packit Service |
9ccfef |
static oid ifLinkUpDownTrapEnable[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 14};
|
|
Packit Service |
9ccfef |
static oid ifHighSpeed[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 15};
|
|
Packit Service |
9ccfef |
static oid ifPromiscuousMode[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 16};
|
|
Packit Service |
9ccfef |
static oid ifConnectorPresent[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 17};
|
|
Packit Service |
9ccfef |
static oid ifAlias[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 18};
|
|
Packit Service |
9ccfef |
static oid ifCounterDiscontinuityTime[] = {1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 19};
|
|
Packit Service |
9ccfef |
static oid ifStackHigherLayer[] = {1, 3, 6, 1, 2, 1, 31, 1, 2, 1, 1};
|
|
Packit Service |
9ccfef |
static oid ifStackLowerLayer[] = {1, 3, 6, 1, 2, 1, 31, 1, 2, 1, 2};
|
|
Packit Service |
9ccfef |
static oid ifStackStatus[] = {1, 3, 6, 1, 2, 1, 31, 1, 2, 1, 3};
|
|
Packit Service |
9ccfef |
static oid ifTestId[] = {1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 1};
|
|
Packit Service |
9ccfef |
static oid ifTestStatus[] = {1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 2};
|
|
Packit Service |
9ccfef |
static oid ifTestType[] = {1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 3};
|
|
Packit Service |
9ccfef |
static oid ifTestResult[] = {1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 4};
|
|
Packit Service |
9ccfef |
static oid ifTestCode[] = {1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 5};
|
|
Packit Service |
9ccfef |
static oid ifTestOwner[] = {1, 3, 6, 1, 2, 1, 31, 1, 3, 1, 6};
|
|
Packit Service |
9ccfef |
static oid ifRcvAddressAddress[] = {1, 3, 6, 1, 2, 1, 31, 1, 4, 1, 1};
|
|
Packit Service |
9ccfef |
static oid ifRcvAddressStatus[] = {1, 3, 6, 1, 2, 1, 31, 1, 4, 1, 2};
|
|
Packit Service |
9ccfef |
static oid ifRcvAddressType[] = {1, 3, 6, 1, 2, 1, 31, 1, 4, 1, 3};
|
|
Packit Service |
9ccfef |
static oid ifTableLastChange[] = {1, 3, 6, 1, 2, 1, 31, 1, 5};
|
|
Packit Service |
9ccfef |
static oid ifStackLastChange[] = {1, 3, 6, 1, 2, 1, 31, 1, 6};
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
int if_mib_mgr_get_interfaces(struct snmp_session *s, interfaces_t **interfaces)
|
|
Packit Service |
9ccfef |
{
|
|
Packit Service |
9ccfef |
struct snmp_session *peer;
|
|
Packit Service |
9ccfef |
struct snmp_pdu *request, *response;
|
|
Packit Service |
9ccfef |
struct variable_list *vars;
|
|
Packit Service |
9ccfef |
int status;
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
request = snmp_pdu_create(SNMP_MSG_GETNEXT);
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifNumber, sizeof(ifNumber)/sizeof(oid));
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
peer = snmp_open(s);
|
|
Packit Service |
9ccfef |
if (!peer) {
|
|
Packit Service |
9ccfef |
snmp_free_pdu(request);
|
|
Packit Service |
9ccfef |
return -1;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
status = snmp_synch_response(peer, request, &response);
|
|
Packit Service |
9ccfef |
if (status != STAT_SUCCESS) {
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
snmp_close(peer);
|
|
Packit Service |
9ccfef |
return -2;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
*interfaces = (interfaces_t *) malloc(sizeof(interfaces_t));
|
|
Packit Service |
9ccfef |
if (! *interfaces) {
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
snmp_close(peer);
|
|
Packit Service |
9ccfef |
return -4;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
for (vars = response->variables; vars; vars = vars->next_variable) {
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifNumber)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifNumber, sizeof(ifNumber)) == 0) {
|
|
Packit Service |
9ccfef |
(*interfaces)->__ifNumber = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*interfaces)->ifNumber = &((*interfaces)->__ifNumber);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
if (snmp_close(peer) == 0) {
|
|
Packit Service |
9ccfef |
return -5;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
return 0;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
int if_mib_mgr_get_ifEntry(struct snmp_session *s, ifEntry_t **ifEntry)
|
|
Packit Service |
9ccfef |
{
|
|
Packit Service |
9ccfef |
struct snmp_session *peer;
|
|
Packit Service |
9ccfef |
struct snmp_pdu *request, *response;
|
|
Packit Service |
9ccfef |
struct variable_list *vars;
|
|
Packit Service |
9ccfef |
int status;
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
request = snmp_pdu_create(SNMP_MSG_GETNEXT);
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifIndex, sizeof(ifIndex)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifDescr, sizeof(ifDescr)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifType, sizeof(ifType)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifMtu, sizeof(ifMtu)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifSpeed, sizeof(ifSpeed)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifPhysAddress, sizeof(ifPhysAddress)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifAdminStatus, sizeof(ifAdminStatus)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifOperStatus, sizeof(ifOperStatus)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifLastChange, sizeof(ifLastChange)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifInOctets, sizeof(ifInOctets)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifInUcastPkts, sizeof(ifInUcastPkts)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifInNUcastPkts, sizeof(ifInNUcastPkts)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifInDiscards, sizeof(ifInDiscards)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifInErrors, sizeof(ifInErrors)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifInUnknownProtos, sizeof(ifInUnknownProtos)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifOutOctets, sizeof(ifOutOctets)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifOutUcastPkts, sizeof(ifOutUcastPkts)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifOutNUcastPkts, sizeof(ifOutNUcastPkts)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifOutDiscards, sizeof(ifOutDiscards)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifOutErrors, sizeof(ifOutErrors)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifOutQLen, sizeof(ifOutQLen)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifSpecific, sizeof(ifSpecific)/sizeof(oid));
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
peer = snmp_open(s);
|
|
Packit Service |
9ccfef |
if (!peer) {
|
|
Packit Service |
9ccfef |
snmp_free_pdu(request);
|
|
Packit Service |
9ccfef |
return -1;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
status = snmp_synch_response(peer, request, &response);
|
|
Packit Service |
9ccfef |
if (status != STAT_SUCCESS) {
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
snmp_close(peer);
|
|
Packit Service |
9ccfef |
return -2;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
*ifEntry = (ifEntry_t *) malloc(sizeof(ifEntry_t));
|
|
Packit Service |
9ccfef |
if (! *ifEntry) {
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
snmp_close(peer);
|
|
Packit Service |
9ccfef |
return -4;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
for (vars = response->variables; vars; vars = vars->next_variable) {
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifIndex)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifIndex, sizeof(ifIndex)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifIndex = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifIndex = &((*ifEntry)->__ifIndex);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifDescr)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifDescr, sizeof(ifDescr)) == 0) {
|
|
Packit Service |
9ccfef |
memcpy((*ifEntry)->__ifDescr, vars->val.string, vars->val_len);
|
|
Packit Service |
9ccfef |
(*ifEntry)->_ifDescrLength = vars->val_len;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifDescr = (*ifEntry)->__ifDescr;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifType)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifType, sizeof(ifType)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifType = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifType = &((*ifEntry)->__ifType);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifMtu)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifMtu, sizeof(ifMtu)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifMtu = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifMtu = &((*ifEntry)->__ifMtu);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifSpeed)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifSpeed, sizeof(ifSpeed)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifSpeed = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifSpeed = &((*ifEntry)->__ifSpeed);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifPhysAddress)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifPhysAddress, sizeof(ifPhysAddress)) == 0) {
|
|
Packit Service |
9ccfef |
memcpy((*ifEntry)->__ifPhysAddress, vars->val.string, vars->val_len);
|
|
Packit Service |
9ccfef |
(*ifEntry)->_ifPhysAddressLength = vars->val_len;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifPhysAddress = (*ifEntry)->__ifPhysAddress;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifAdminStatus)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifAdminStatus, sizeof(ifAdminStatus)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifAdminStatus = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifAdminStatus = &((*ifEntry)->__ifAdminStatus);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifOperStatus)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifOperStatus, sizeof(ifOperStatus)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifOperStatus = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifOperStatus = &((*ifEntry)->__ifOperStatus);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifLastChange)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifLastChange, sizeof(ifLastChange)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifLastChange = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifLastChange = &((*ifEntry)->__ifLastChange);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifInOctets)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifInOctets, sizeof(ifInOctets)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifInOctets = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifInOctets = &((*ifEntry)->__ifInOctets);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifInUcastPkts)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifInUcastPkts, sizeof(ifInUcastPkts)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifInUcastPkts = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifInUcastPkts = &((*ifEntry)->__ifInUcastPkts);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifInNUcastPkts)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifInNUcastPkts, sizeof(ifInNUcastPkts)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifInNUcastPkts = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifInNUcastPkts = &((*ifEntry)->__ifInNUcastPkts);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifInDiscards)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifInDiscards, sizeof(ifInDiscards)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifInDiscards = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifInDiscards = &((*ifEntry)->__ifInDiscards);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifInErrors)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifInErrors, sizeof(ifInErrors)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifInErrors = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifInErrors = &((*ifEntry)->__ifInErrors);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifInUnknownProtos)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifInUnknownProtos, sizeof(ifInUnknownProtos)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifInUnknownProtos = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifInUnknownProtos = &((*ifEntry)->__ifInUnknownProtos);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifOutOctets)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifOutOctets, sizeof(ifOutOctets)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifOutOctets = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifOutOctets = &((*ifEntry)->__ifOutOctets);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifOutUcastPkts)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifOutUcastPkts, sizeof(ifOutUcastPkts)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifOutUcastPkts = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifOutUcastPkts = &((*ifEntry)->__ifOutUcastPkts);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifOutNUcastPkts)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifOutNUcastPkts, sizeof(ifOutNUcastPkts)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifOutNUcastPkts = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifOutNUcastPkts = &((*ifEntry)->__ifOutNUcastPkts);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifOutDiscards)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifOutDiscards, sizeof(ifOutDiscards)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifOutDiscards = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifOutDiscards = &((*ifEntry)->__ifOutDiscards);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifOutErrors)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifOutErrors, sizeof(ifOutErrors)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifOutErrors = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifOutErrors = &((*ifEntry)->__ifOutErrors);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifOutQLen)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifOutQLen, sizeof(ifOutQLen)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifEntry)->__ifOutQLen = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifEntry)->ifOutQLen = &((*ifEntry)->__ifOutQLen);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifSpecific)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifSpecific, sizeof(ifSpecific)) == 0) {
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
if (snmp_close(peer) == 0) {
|
|
Packit Service |
9ccfef |
return -5;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
return 0;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
int if_mib_mgr_get_ifMIBObjects(struct snmp_session *s, ifMIBObjects_t **ifMIBObjects)
|
|
Packit Service |
9ccfef |
{
|
|
Packit Service |
9ccfef |
struct snmp_session *peer;
|
|
Packit Service |
9ccfef |
struct snmp_pdu *request, *response;
|
|
Packit Service |
9ccfef |
struct variable_list *vars;
|
|
Packit Service |
9ccfef |
int status;
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
request = snmp_pdu_create(SNMP_MSG_GETNEXT);
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifTableLastChange, sizeof(ifTableLastChange)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifStackLastChange, sizeof(ifStackLastChange)/sizeof(oid));
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
peer = snmp_open(s);
|
|
Packit Service |
9ccfef |
if (!peer) {
|
|
Packit Service |
9ccfef |
snmp_free_pdu(request);
|
|
Packit Service |
9ccfef |
return -1;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
status = snmp_synch_response(peer, request, &response);
|
|
Packit Service |
9ccfef |
if (status != STAT_SUCCESS) {
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
snmp_close(peer);
|
|
Packit Service |
9ccfef |
return -2;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
*ifMIBObjects = (ifMIBObjects_t *) malloc(sizeof(ifMIBObjects_t));
|
|
Packit Service |
9ccfef |
if (! *ifMIBObjects) {
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
snmp_close(peer);
|
|
Packit Service |
9ccfef |
return -4;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
for (vars = response->variables; vars; vars = vars->next_variable) {
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifTableLastChange)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifTableLastChange, sizeof(ifTableLastChange)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifMIBObjects)->__ifTableLastChange = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifMIBObjects)->ifTableLastChange = &((*ifMIBObjects)->__ifTableLastChange);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifStackLastChange)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifStackLastChange, sizeof(ifStackLastChange)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifMIBObjects)->__ifStackLastChange = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifMIBObjects)->ifStackLastChange = &((*ifMIBObjects)->__ifStackLastChange);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
if (snmp_close(peer) == 0) {
|
|
Packit Service |
9ccfef |
return -5;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
return 0;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
int if_mib_mgr_get_ifXEntry(struct snmp_session *s, ifXEntry_t **ifXEntry)
|
|
Packit Service |
9ccfef |
{
|
|
Packit Service |
9ccfef |
struct snmp_session *peer;
|
|
Packit Service |
9ccfef |
struct snmp_pdu *request, *response;
|
|
Packit Service |
9ccfef |
struct variable_list *vars;
|
|
Packit Service |
9ccfef |
int status;
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
request = snmp_pdu_create(SNMP_MSG_GETNEXT);
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifName, sizeof(ifName)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifInMulticastPkts, sizeof(ifInMulticastPkts)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifInBroadcastPkts, sizeof(ifInBroadcastPkts)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifOutMulticastPkts, sizeof(ifOutMulticastPkts)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifOutBroadcastPkts, sizeof(ifOutBroadcastPkts)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifHCInOctets, sizeof(ifHCInOctets)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifHCInUcastPkts, sizeof(ifHCInUcastPkts)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifHCInMulticastPkts, sizeof(ifHCInMulticastPkts)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifHCInBroadcastPkts, sizeof(ifHCInBroadcastPkts)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifHCOutOctets, sizeof(ifHCOutOctets)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifHCOutUcastPkts, sizeof(ifHCOutUcastPkts)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifHCOutMulticastPkts, sizeof(ifHCOutMulticastPkts)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifHCOutBroadcastPkts, sizeof(ifHCOutBroadcastPkts)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifLinkUpDownTrapEnable, sizeof(ifLinkUpDownTrapEnable)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifHighSpeed, sizeof(ifHighSpeed)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifPromiscuousMode, sizeof(ifPromiscuousMode)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifConnectorPresent, sizeof(ifConnectorPresent)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifAlias, sizeof(ifAlias)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifCounterDiscontinuityTime, sizeof(ifCounterDiscontinuityTime)/sizeof(oid));
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
peer = snmp_open(s);
|
|
Packit Service |
9ccfef |
if (!peer) {
|
|
Packit Service |
9ccfef |
snmp_free_pdu(request);
|
|
Packit Service |
9ccfef |
return -1;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
status = snmp_synch_response(peer, request, &response);
|
|
Packit Service |
9ccfef |
if (status != STAT_SUCCESS) {
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
snmp_close(peer);
|
|
Packit Service |
9ccfef |
return -2;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
*ifXEntry = (ifXEntry_t *) malloc(sizeof(ifXEntry_t));
|
|
Packit Service |
9ccfef |
if (! *ifXEntry) {
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
snmp_close(peer);
|
|
Packit Service |
9ccfef |
return -4;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
for (vars = response->variables; vars; vars = vars->next_variable) {
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifName)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifName, sizeof(ifName)) == 0) {
|
|
Packit Service |
9ccfef |
memcpy((*ifXEntry)->__ifName, vars->val.string, vars->val_len);
|
|
Packit Service |
9ccfef |
(*ifXEntry)->_ifNameLength = vars->val_len;
|
|
Packit Service |
9ccfef |
(*ifXEntry)->ifName = (*ifXEntry)->__ifName;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifInMulticastPkts)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifInMulticastPkts, sizeof(ifInMulticastPkts)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifXEntry)->__ifInMulticastPkts = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifXEntry)->ifInMulticastPkts = &((*ifXEntry)->__ifInMulticastPkts);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifInBroadcastPkts)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifInBroadcastPkts, sizeof(ifInBroadcastPkts)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifXEntry)->__ifInBroadcastPkts = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifXEntry)->ifInBroadcastPkts = &((*ifXEntry)->__ifInBroadcastPkts);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifOutMulticastPkts)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifOutMulticastPkts, sizeof(ifOutMulticastPkts)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifXEntry)->__ifOutMulticastPkts = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifXEntry)->ifOutMulticastPkts = &((*ifXEntry)->__ifOutMulticastPkts);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifOutBroadcastPkts)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifOutBroadcastPkts, sizeof(ifOutBroadcastPkts)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifXEntry)->__ifOutBroadcastPkts = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifXEntry)->ifOutBroadcastPkts = &((*ifXEntry)->__ifOutBroadcastPkts);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifHCInOctets)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifHCInOctets, sizeof(ifHCInOctets)) == 0) {
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifHCInUcastPkts)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifHCInUcastPkts, sizeof(ifHCInUcastPkts)) == 0) {
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifHCInMulticastPkts)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifHCInMulticastPkts, sizeof(ifHCInMulticastPkts)) == 0) {
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifHCInBroadcastPkts)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifHCInBroadcastPkts, sizeof(ifHCInBroadcastPkts)) == 0) {
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifHCOutOctets)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifHCOutOctets, sizeof(ifHCOutOctets)) == 0) {
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifHCOutUcastPkts)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifHCOutUcastPkts, sizeof(ifHCOutUcastPkts)) == 0) {
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifHCOutMulticastPkts)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifHCOutMulticastPkts, sizeof(ifHCOutMulticastPkts)) == 0) {
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifHCOutBroadcastPkts)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifHCOutBroadcastPkts, sizeof(ifHCOutBroadcastPkts)) == 0) {
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifLinkUpDownTrapEnable)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifLinkUpDownTrapEnable, sizeof(ifLinkUpDownTrapEnable)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifXEntry)->__ifLinkUpDownTrapEnable = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifXEntry)->ifLinkUpDownTrapEnable = &((*ifXEntry)->__ifLinkUpDownTrapEnable);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifHighSpeed)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifHighSpeed, sizeof(ifHighSpeed)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifXEntry)->__ifHighSpeed = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifXEntry)->ifHighSpeed = &((*ifXEntry)->__ifHighSpeed);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifPromiscuousMode)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifPromiscuousMode, sizeof(ifPromiscuousMode)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifXEntry)->__ifPromiscuousMode = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifXEntry)->ifPromiscuousMode = &((*ifXEntry)->__ifPromiscuousMode);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifConnectorPresent)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifConnectorPresent, sizeof(ifConnectorPresent)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifXEntry)->__ifConnectorPresent = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifXEntry)->ifConnectorPresent = &((*ifXEntry)->__ifConnectorPresent);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifAlias)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifAlias, sizeof(ifAlias)) == 0) {
|
|
Packit Service |
9ccfef |
memcpy((*ifXEntry)->__ifAlias, vars->val.string, vars->val_len);
|
|
Packit Service |
9ccfef |
(*ifXEntry)->_ifAliasLength = vars->val_len;
|
|
Packit Service |
9ccfef |
(*ifXEntry)->ifAlias = (*ifXEntry)->__ifAlias;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifCounterDiscontinuityTime)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifCounterDiscontinuityTime, sizeof(ifCounterDiscontinuityTime)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifXEntry)->__ifCounterDiscontinuityTime = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifXEntry)->ifCounterDiscontinuityTime = &((*ifXEntry)->__ifCounterDiscontinuityTime);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
if (snmp_close(peer) == 0) {
|
|
Packit Service |
9ccfef |
return -5;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
return 0;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
int if_mib_mgr_get_ifStackEntry(struct snmp_session *s, ifStackEntry_t **ifStackEntry)
|
|
Packit Service |
9ccfef |
{
|
|
Packit Service |
9ccfef |
struct snmp_session *peer;
|
|
Packit Service |
9ccfef |
struct snmp_pdu *request, *response;
|
|
Packit Service |
9ccfef |
struct variable_list *vars;
|
|
Packit Service |
9ccfef |
int status;
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
request = snmp_pdu_create(SNMP_MSG_GETNEXT);
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifStackStatus, sizeof(ifStackStatus)/sizeof(oid));
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
peer = snmp_open(s);
|
|
Packit Service |
9ccfef |
if (!peer) {
|
|
Packit Service |
9ccfef |
snmp_free_pdu(request);
|
|
Packit Service |
9ccfef |
return -1;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
status = snmp_synch_response(peer, request, &response);
|
|
Packit Service |
9ccfef |
if (status != STAT_SUCCESS) {
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
snmp_close(peer);
|
|
Packit Service |
9ccfef |
return -2;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
*ifStackEntry = (ifStackEntry_t *) malloc(sizeof(ifStackEntry_t));
|
|
Packit Service |
9ccfef |
if (! *ifStackEntry) {
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
snmp_close(peer);
|
|
Packit Service |
9ccfef |
return -4;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
for (vars = response->variables; vars; vars = vars->next_variable) {
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifStackStatus)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifStackStatus, sizeof(ifStackStatus)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifStackEntry)->__ifStackStatus = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifStackEntry)->ifStackStatus = &((*ifStackEntry)->__ifStackStatus);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
if (snmp_close(peer) == 0) {
|
|
Packit Service |
9ccfef |
return -5;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
return 0;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
int if_mib_mgr_get_ifTestEntry(struct snmp_session *s, ifTestEntry_t **ifTestEntry)
|
|
Packit Service |
9ccfef |
{
|
|
Packit Service |
9ccfef |
struct snmp_session *peer;
|
|
Packit Service |
9ccfef |
struct snmp_pdu *request, *response;
|
|
Packit Service |
9ccfef |
struct variable_list *vars;
|
|
Packit Service |
9ccfef |
int status;
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
request = snmp_pdu_create(SNMP_MSG_GETNEXT);
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifTestId, sizeof(ifTestId)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifTestStatus, sizeof(ifTestStatus)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifTestType, sizeof(ifTestType)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifTestResult, sizeof(ifTestResult)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifTestCode, sizeof(ifTestCode)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifTestOwner, sizeof(ifTestOwner)/sizeof(oid));
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
peer = snmp_open(s);
|
|
Packit Service |
9ccfef |
if (!peer) {
|
|
Packit Service |
9ccfef |
snmp_free_pdu(request);
|
|
Packit Service |
9ccfef |
return -1;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
status = snmp_synch_response(peer, request, &response);
|
|
Packit Service |
9ccfef |
if (status != STAT_SUCCESS) {
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
snmp_close(peer);
|
|
Packit Service |
9ccfef |
return -2;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
*ifTestEntry = (ifTestEntry_t *) malloc(sizeof(ifTestEntry_t));
|
|
Packit Service |
9ccfef |
if (! *ifTestEntry) {
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
snmp_close(peer);
|
|
Packit Service |
9ccfef |
return -4;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
for (vars = response->variables; vars; vars = vars->next_variable) {
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifTestId)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifTestId, sizeof(ifTestId)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifTestEntry)->__ifTestId = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifTestEntry)->ifTestId = &((*ifTestEntry)->__ifTestId);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifTestStatus)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifTestStatus, sizeof(ifTestStatus)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifTestEntry)->__ifTestStatus = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifTestEntry)->ifTestStatus = &((*ifTestEntry)->__ifTestStatus);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifTestType)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifTestType, sizeof(ifTestType)) == 0) {
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifTestResult)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifTestResult, sizeof(ifTestResult)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifTestEntry)->__ifTestResult = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifTestEntry)->ifTestResult = &((*ifTestEntry)->__ifTestResult);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifTestCode)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifTestCode, sizeof(ifTestCode)) == 0) {
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifTestOwner)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifTestOwner, sizeof(ifTestOwner)) == 0) {
|
|
Packit Service |
9ccfef |
memcpy((*ifTestEntry)->__ifTestOwner, vars->val.string, vars->val_len);
|
|
Packit Service |
9ccfef |
(*ifTestEntry)->_ifTestOwnerLength = vars->val_len;
|
|
Packit Service |
9ccfef |
(*ifTestEntry)->ifTestOwner = (*ifTestEntry)->__ifTestOwner;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
if (snmp_close(peer) == 0) {
|
|
Packit Service |
9ccfef |
return -5;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
return 0;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
int if_mib_mgr_get_ifRcvAddressEntry(struct snmp_session *s, ifRcvAddressEntry_t **ifRcvAddressEntry)
|
|
Packit Service |
9ccfef |
{
|
|
Packit Service |
9ccfef |
struct snmp_session *peer;
|
|
Packit Service |
9ccfef |
struct snmp_pdu *request, *response;
|
|
Packit Service |
9ccfef |
struct variable_list *vars;
|
|
Packit Service |
9ccfef |
int status;
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
request = snmp_pdu_create(SNMP_MSG_GETNEXT);
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifRcvAddressStatus, sizeof(ifRcvAddressStatus)/sizeof(oid));
|
|
Packit Service |
9ccfef |
snmp_add_null_var(request, ifRcvAddressType, sizeof(ifRcvAddressType)/sizeof(oid));
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
peer = snmp_open(s);
|
|
Packit Service |
9ccfef |
if (!peer) {
|
|
Packit Service |
9ccfef |
snmp_free_pdu(request);
|
|
Packit Service |
9ccfef |
return -1;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
status = snmp_synch_response(peer, request, &response);
|
|
Packit Service |
9ccfef |
if (status != STAT_SUCCESS) {
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
snmp_close(peer);
|
|
Packit Service |
9ccfef |
return -2;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
*ifRcvAddressEntry = (ifRcvAddressEntry_t *) malloc(sizeof(ifRcvAddressEntry_t));
|
|
Packit Service |
9ccfef |
if (! *ifRcvAddressEntry) {
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
snmp_close(peer);
|
|
Packit Service |
9ccfef |
return -4;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
for (vars = response->variables; vars; vars = vars->next_variable) {
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifRcvAddressStatus)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifRcvAddressStatus, sizeof(ifRcvAddressStatus)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifRcvAddressEntry)->__ifRcvAddressStatus = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifRcvAddressEntry)->ifRcvAddressStatus = &((*ifRcvAddressEntry)->__ifRcvAddressStatus);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
if (vars->name_length > sizeof(ifRcvAddressType)/sizeof(oid)
|
|
Packit Service |
9ccfef |
&& memcmp(vars->name, ifRcvAddressType, sizeof(ifRcvAddressType)) == 0) {
|
|
Packit Service |
9ccfef |
(*ifRcvAddressEntry)->__ifRcvAddressType = *vars->val.integer;
|
|
Packit Service |
9ccfef |
(*ifRcvAddressEntry)->ifRcvAddressType = &((*ifRcvAddressEntry)->__ifRcvAddressType);
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
if (response) snmp_free_pdu(response);
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
if (snmp_close(peer) == 0) {
|
|
Packit Service |
9ccfef |
return -5;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
return 0;
|
|
Packit Service |
9ccfef |
}
|
|
Packit Service |
9ccfef |
|
|
Packit Service |
9ccfef |
|