mib2c.notify.conf
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:2k
- ## -*- c -*-
- ######################################################################
- ## Do the .h file
- ######################################################################
- @open ${name}.h@
- /*
- * Note: this file originally auto-generated by mib2c using
- * $Id: mib2c.notify.conf,v 5.3 2004/04/15 12:29:19 dts12 Exp $
- */
- #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,v 5.3 2004/04/15 12:29:19 dts12 Exp $
- */
- #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@