############################################################ # 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.