############################################################
# answer_get2
# Beantwortung eines get's oder getnext's
############################################################
sub answer_get2
{
# Parameter uebernehmen
local($GID,$InstID,$dpi_get_packet_id,$Next)=@_;
# Lokale Variablen
local($GID_Laenge,$InstID_Laenge,@Wert);
#################################################################
# Gesuchten Wert ermitteln
if (!($GID eq $GROUPID)) # Falls der Subagent fuer diese Group-ID
{ # nicht zustaendig
&ResponseError($dpi_get_packet_id,"05") # Allgemeiner Fehler
}
if ($Next) # End of MIB bei getnext
{
print "EndofMIB\n";
$Wert = "ENDofMIB";
&ResponseSuccess($dpi_get_packet_id,$GID,$InstID,$Wert);
$Next = undef;
}
elsif ($InstID eq '1.0')
{
$Wert = &get_1; # Funktion fuer Instanz 1 aufrufen
&ResponseSuccess($dpi_get_packet_id,$GID,$InstID,$Wert);
}
elsif ($InstID eq '2.0')
{
$Wert = &get_2; # Funktion fuer Instanz 2 aufrufen
&ResponseSuccess($dpi_get_packet_id,$GID,$InstID,$Wert);
}
elsif ($InstID =~ /^3\.1\.1/)
{
$Wert = &get_Tabelle($InstID); # Funkt. fuer Tab. aufrufen
&ResponseSuccess($dpi_get_packet_id,$GID,$InstID,$Wert);
}
elsif ($InstID =~ /^3\.1\.2/)
{
$Wert = &get_Tabelle($InstID); # Funkt. fuer Tab. aufrufen
&ResponseSuccess($dpi_get_packet_id,$GID,$InstID,$Wert);
}
else # Variable nicht vorhanden
{
&ResponseError($dpi_get_packet_id,"05") # Allgemeiner Fehler
}
}
1;# PERL - spez. Eine Dat., die mit require eingeb. wird muss mit True enden.