1
#include <net-snmp/net-snmp-config.h>
9
#include <net-snmp/net-snmp-includes.h>
10
#include <net-snmp/agent/net-snmp-agent-includes.h>
12
#include "target_counters.h"
13
#include <net-snmp/agent/instance.h>
15
static oid unavailable_context_oid[] =
16
{ 1, 3, 6, 1, 6, 3, 12, 1, 4, 0 };
17
static oid unknown_context_oid[] = { 1, 3, 6, 1, 6, 3, 12, 1, 5, 0 };
20
init_target_counters(void)
22
DEBUGMSGTL(("target_counters", "initializing\n"));
28
netsnmp_register_read_only_instance(netsnmp_create_handler_registration
30
get_unknown_context_count,
32
sizeof(unknown_context_oid) /
33
sizeof(oid), HANDLER_CAN_RONLY));
36
* unavailable available
39
netsnmp_register_read_only_instance(netsnmp_create_handler_registration
41
get_unavailable_context_count,
42
unavailable_context_oid,
43
sizeof(unavailable_context_oid) /
44
sizeof(oid), HANDLER_CAN_RONLY));
49
get_unknown_context_count(netsnmp_mib_handler *handler,
50
netsnmp_handler_registration *reginfo,
51
netsnmp_agent_request_info *reqinfo,
52
netsnmp_request_info *requests)
55
* we're only called for GETs of the right node, so this is easy:
59
snmp_get_statistic(STAT_SNMPUNKNOWNCONTEXTS);
60
snmp_set_var_typed_value(requests->requestvb, ASN_COUNTER,
61
(u_char *) & long_ret, sizeof(long_ret));
62
return SNMP_ERR_NOERROR;
67
get_unavailable_context_count(netsnmp_mib_handler *handler,
68
netsnmp_handler_registration *reginfo,
69
netsnmp_agent_request_info *reqinfo,
70
netsnmp_request_info *requests)
73
* we're only called for GETs of the right node, so this is easy:
77
snmp_get_statistic(STAT_SNMPUNAVAILABLECONTEXTS);
78
snmp_set_var_typed_value(requests->requestvb, ASN_COUNTER,
79
(u_char *) & long_ret, sizeof(long_ret));
80
return SNMP_ERR_NOERROR;