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;