|
Packit |
fcad23 |
## -*- c -*-
|
|
Packit |
fcad23 |
######################################################################
|
|
Packit |
fcad23 |
## Do the .h file
|
|
Packit |
fcad23 |
######################################################################
|
|
Packit |
fcad23 |
@open ${name}.h@
|
|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
* Note: this file originally auto-generated by mib2c
|
|
Packit |
fcad23 |
* using mib2c.notify.conf
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
#ifndef $name.uc_H
|
|
Packit |
fcad23 |
#define $name.uc_H
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
/* function declarations */
|
|
Packit |
fcad23 |
@foreach $i notifications@
|
|
Packit |
fcad23 |
int send_${i}_trap(void);
|
|
Packit |
fcad23 |
@end@
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#endif /* $name.uc_H */
|
|
Packit |
fcad23 |
######################################################################
|
|
Packit |
fcad23 |
## Do the .c file
|
|
Packit |
fcad23 |
######################################################################
|
|
Packit |
fcad23 |
@open ${name}.c@
|
|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
* Note: this file originally auto-generated by mib2c
|
|
Packit |
fcad23 |
* using mib2c.notify.conf
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#include <net-snmp/net-snmp-config.h>
|
|
Packit |
fcad23 |
#include <net-snmp/net-snmp-includes.h>
|
|
Packit |
fcad23 |
#include <net-snmp/agent/net-snmp-agent-includes.h>
|
|
Packit |
fcad23 |
#include "${name}.h"
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
extern const oid snmptrap_oid[];
|
|
Packit |
fcad23 |
extern const size_t snmptrap_oid_len;
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
@foreach $i notifications@
|
|
Packit |
fcad23 |
int
|
|
Packit |
fcad23 |
send_${i}_trap( void )
|
|
Packit |
fcad23 |
{
|
|
Packit |
fcad23 |
netsnmp_variable_list *var_list = NULL;
|
|
Packit |
fcad23 |
const oid ${i}_oid[] = { $i.commaoid };
|
|
Packit |
fcad23 |
@foreach $v varbinds@
|
|
Packit |
fcad23 |
@if $v.isscalar@
|
|
Packit |
fcad23 |
const oid ${v}_oid[] = { $v.commaoid, 0 };
|
|
Packit |
fcad23 |
@end@
|
|
Packit |
fcad23 |
@if !$v.isscalar@
|
|
Packit |
fcad23 |
const oid ${v}_oid[] = { $v.commaoid, /* insert index here */ };
|
|
Packit |
fcad23 |
@end@
|
|
Packit |
fcad23 |
@end@
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
* Set the snmpTrapOid.0 value
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
snmp_varlist_add_variable(&var_list,
|
|
Packit |
fcad23 |
snmptrap_oid, snmptrap_oid_len,
|
|
Packit |
fcad23 |
ASN_OBJECT_ID,
|
|
Packit |
fcad23 |
${i}_oid, sizeof(${i}_oid));
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
@if count_varbinds($i) > 0@
|
|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
* Add any objects from the trap definition
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
@end@
|
|
Packit |
fcad23 |
@foreach $v varbinds@
|
|
Packit |
fcad23 |
snmp_varlist_add_variable(&var_list,
|
|
Packit |
fcad23 |
${v}_oid, OID_LENGTH(${v}_oid),
|
|
Packit |
fcad23 |
$v.type,
|
|
Packit |
fcad23 |
/* Set an appropriate value for $v */
|
|
Packit |
fcad23 |
NULL, 0);
|
|
Packit |
fcad23 |
@end@
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
* Add any extra (optional) objects here
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
* Send the trap to the list of configured destinations
|
|
Packit |
fcad23 |
* and clean up
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
send_v2trap( var_list );
|
|
Packit |
fcad23 |
snmp_free_varbind( var_list );
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
return SNMP_ERR_NOERROR;
|
|
Packit |
fcad23 |
}
|
|
Packit |
fcad23 |
@end@
|