net-snmp/local/mib2c.notify.conf

86 lines
2.0 KiB
C

## -*- c -*-
######################################################################
## Do the .h file
######################################################################
@open ${name}.h@
/*
* Note: this file originally auto-generated by mib2c
* using mib2c.notify.conf
*/
#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 mib2c.notify.conf
*/
#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"
extern const oid snmptrap_oid[];
extern const size_t snmptrap_oid_len;
@foreach $i notifications@
int
send_${i}_trap( void )
{
netsnmp_variable_list *var_list = NULL;
const oid ${i}_oid[] = { $i.commaoid };
@foreach $v varbinds@
@if $v.isscalar@
const oid ${v}_oid[] = { $v.commaoid, 0 };
@end@
@if !$v.isscalar@
const oid ${v}_oid[] = { $v.commaoid, /* insert index here */ };
@end@
@end@
/*
* Set the snmpTrapOid.0 value
*/
snmp_varlist_add_variable(&var_list,
snmptrap_oid, snmptrap_oid_len,
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@