summaryrefslogtreecommitdiff
path: root/local/mib2c.notify.conf
diff options
context:
space:
mode:
Diffstat (limited to 'local/mib2c.notify.conf')
-rw-r--r--local/mib2c.notify.conf84
1 files changed, 84 insertions, 0 deletions
diff --git a/local/mib2c.notify.conf b/local/mib2c.notify.conf
new file mode 100644
index 0000000..d93963c
--- /dev/null
+++ b/local/mib2c.notify.conf
@@ -0,0 +1,84 @@
+## -*- c -*-
+######################################################################
+## Do the .h file
+######################################################################
+@open ${name}.h@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * $Id: mib2c.notify.conf 10110 2004-04-15 12:29:19Z dts12 $
+ */
+#ifndef $name.uc_H
+#define $name.uc_H
+
+/* function declarations */
+@foreach $i notifications@
+int send_${i}_trap(void);
+@end@
+
+#endif /* $name.uc_H */
+######################################################################
+## Do the .c file
+######################################################################
+@open ${name}.c@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * $Id: mib2c.notify.conf 10110 2004-04-15 12:29:19Z dts12 $
+ */
+
+#include <net-snmp/net-snmp-config.h>
+#include <net-snmp/net-snmp-includes.h>
+#include <net-snmp/agent/net-snmp-agent-includes.h>
+#include "${name}.h"
+
+static oid snmptrap_oid[] = {1, 3, 6, 1, 6, 3, 1, 1, 4, 1, 0};
+
+@foreach $i notifications@
+int
+send_${i}_trap( void )
+{
+ netsnmp_variable_list *var_list = NULL;
+ oid ${i}_oid[] = { $i.commaoid };
+ @foreach $v varbinds@
+ @if $v.isscalar@
+ oid ${v}_oid[] = { $v.commaoid, 0 };
+ @end@
+ @if !$v.isscalar@
+ oid ${v}_oid[] = { $v.commaoid, /* insert index here */ };
+ @end@
+ @end@
+
+ /*
+ * Set the snmpTrapOid.0 value
+ */
+ snmp_varlist_add_variable(&var_list,
+ snmptrap_oid, OID_LENGTH(snmptrap_oid),
+ ASN_OBJECT_ID,
+ ${i}_oid, sizeof(${i}_oid));
+
+ @if count_varbinds($i) > 0@
+ /*
+ * Add any objects from the trap definition
+ */
+ @end@
+ @foreach $v varbinds@
+ snmp_varlist_add_variable(&var_list,
+ ${v}_oid, OID_LENGTH(${v}_oid),
+ $v.type,
+ /* Set an appropriate value for $v */
+ NULL, 0);
+ @end@
+
+ /*
+ * Add any extra (optional) objects here
+ */
+
+ /*
+ * Send the trap to the list of configured destinations
+ * and clean up
+ */
+ send_v2trap( var_list );
+ snmp_free_varbind( var_list );
+
+ return SNMP_ERR_NOERROR;
+}
+@end@