next up previous contents
Next: Listing der Beispiel-Datei sub_gets.pl Up: Listings der Beispiel-Dateien Previous: Listing der Beispiel-Kaskadendatei mib_gets.pl

Listing der Beispiel-Kaskadendatei mib_sets.pl

 
############################################################
# answer_set2
# Beantwortung eines Set-, Commit-, Undo-Requests
############################################################
sub answer_set2
        {
        # Uebernahme der Parameter
        local($GID,$InstID,$Art,$dpi_get_packet_id,$Set_Typ,$Set_Laenge,
                                @Set_Wert)=@_;

        if (!$GID eq $GROUPID)  # Falls der Subagent fuer diese Group-ID
                {               # nicht zustaendig
                &ResponseError($dpi_get_packet_id,"05") # Allgemeiner Fehler
                }
        # Set-Variablen
        if ($InstID eq "1.0")
                {
                if ($Art eq "03")       # Set - Request
                        {       
                        $Fehler = &set_1($Set_Laenge,@Set_Wert);
                        }
                elsif ( $Art eq "0a")   # Commit - Request
                        {
                        $Fehler = &com_1;      # Commit-Funk. 
                        }
                elsif ( $Art eq "0b")   # Undo - Request
                        {
                        $Fehler = &undo_1;       # Undo-Funktion
                        }
                if(!$Fehler)
                        {
                        &ResponseSuccess($dpi_get_packet_id,$GID,$InstID,
                    $Set_Typ,$Wert{$InstID});
                        }
                else
                        {# nicht Schreibbar
                        &ResponseError($dpi_get_packet_id,$Fehler) 
                        }       
                }
        elsif  ($InstID eq '2.0')
                {
                if ($Art eq "03")       # Set - Request
                        {       # Funktion fuer Instanz 2 aufrufen
                        $Fehler = &set_2(@Set_Wert);
                        }
                elsif ( $Art eq "0a")   # Commit - Request
                        {
                        $Fehler = &com_2;        # Commit-Funktion 
                        }
                elsif ( $Art eq "0b")   # Undo - Request
                        {
                        $Fehler = &undo_2;       # Undo-Funktion 
                        }
                if(!$Fehler)
                        {
                        &ResponseSuccess($dpi_get_packet_id,$GID,$InstID,
                    $Set_Typ,$Wert{$InstID});
                        }
                else
                        {# nicht Schreibbar
                        &ResponseError($dpi_get_packet_id,$Fehler) 
                        }       
                }
       else            # Keine Set-Variable vorhanden
                {
                &ResponseError($dpi_get_packet_id,"11") # nicht Schreibbar
                }
        }

1;# PERL - spez. Eine Dat., die mit require eingeb. wird muss mit True enden.



Copyright Munich Network Management Team