#!/bin/sh
# the next line restarts using tclsh -*- tcl -*- \
exec tclsh "$0" "$@"

package require Tnm 3.0

##
## This functions is called whenever an SNMP trap is received.
##

proc traphandler {ip args} {
    set msg "SNMP trap from $ip:"
    foreach vb $args {
	append msg " [mib name [lindex $vb 0]]=\"[lindex $vb 2]\""
    }
    syslog critical $msg
}

catch { Tnm::snmp listener -version SNMPv1 }
catch { Tnm::snmp listener -version SNMPv2c }
catch { Tnm::snmp listener -version SNMPv3 }

foreach s [Tnm::snmp info] {
    $s bind trap "traphandler %A %V"
}

vwait forever
