--MibName=rcPortBackup
-- *****************************************************************
-- switch-memorymanagement-mib.MIB:     switch memory management MIB file
--
-- Dec 20131202, liushengwang
--
-- Copyright (c) 1994-2008,    2013 by    Raisecom, Inc.
-- All rights reserved.
-- Modify  
-- 
-- *****************************************************************

SWITCH-MEMORYMANGMENT-MIB DEFINITIONS ::= BEGIN

IMPORTS
        iscomSwitch               FROM RAISECOM-BASE-MIB  
        RowStatus,TruthValue   FROM SNMPv2-TC
        Vlanset                     FROM SWITCH-TC;
                 
     raisecomMemoryManagement MODULE-IDENTITY
        LAST-UPDATED    "200812240000Z"
        ORGANIZATION    "Raisecom, Inc."
        CONTACT-INFO
                "Raisecom Systems
                        
                Postal: Beijing,
                        China

                Tel: 86-010-82884499

                E-mail: liushengwang@raisecom.com"
        DESCRIPTION
                "description of memory mangement group manage object."
                ::= { iscomSwitch 81}  
                
-- --------------------------------------------------------------------------------------
-- define groups in SWITCH-MEMORYMANAGEMENT-MIB
-- --------------------------------------------------------------------------------------   
   --raisecomMemoryManagementResvMemory   
   --raisecomMemoryManagementMemoryRemaining
   --raisecomMemoryManagementModuleTable
   --raisecomMemoryManagementSummaryTable
-- --------------------------------------------------------------------------------------

    -- BEGINE raisecomMemoryManagementResvMemoryTable

    raisecomMemoryManagementResvMemory 
    OBJECT IDENTIFIER
    ::={ raisecomMemoryManagement 1 }
    
    raisecomMemoryManagementResvMemoryFree OBJECT-TYPE
        SYNTAX    BITS{
                       freed(0),
                       reserved(1)
                       }
        MAX-ACCESS    read-write
        STATUS    current
        DESCRIPTION
            "Memory reserved for debug(size:12M)."
        ::=    { raisecomMemoryManagementResvMemory 1 }    

   --END raisecomMemoryManagementResvMemoryTable

   -- BEGINE raisecomMemoryManagementRemainingTable

    raisecomMemoryManagementMemoryRemaining 
    OBJECT IDENTIFIER
    ::={ raisecomMemoryManagement 2 }
    
    raisecomMemoryManagementRemainingSize OBJECT-TYPE
        SYNTAX    INTEGER
        MAX-ACCESS    read-only
        STATUS    current
        DESCRIPTION
            "Remaining size of system memory."
        ::=    { raisecomMemoryManagementMemoryRemaining 1 }    

   --END raisecomMemoryManagementRemainingTable   
                         
-- BEGINE raisecomMemoryManagementModuleTable

    raisecomMemoryManagementModuleTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF raisecomMemoryManagementModuleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of memory management group"
    ::={ raisecomMemoryManagement 3 }
    

    raisecomMemoryManagementModuleEntry OBJECT-TYPE
    SYNTAX      raisecomMemoryManagementModuleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the raisecomMemoryManagementModuleTable provides objects ."
    INDEX        { raisecomMemoryManagementModuleIndex}
    ::={ raisecomMemoryManagementModuleTable 1 }
    
    raisecomMemoryManagementModuleEntry ::= SEQUENCE {     
        raisecomMemoryManagementModuleIndex       INTEGER,
        raisecomMemoryManagementModuleName OCTET STRING (SIZE(0..16)),
        raisecomMemoryManagementModuleAllocTimes INTEGER,
        raisecomMemoryManagementModuleFreeTimes  INTEGER,
        raisecomMemoryManagementModuleInuseSize  INTEGER        
    }
     
    raisecomMemoryManagementModuleIndex OBJECT-TYPE
        SYNTAX    INTEGER
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "This object is the first index of an raisecomMemoryManagementModuleTable. 
            It is the module id."
        ::=    { raisecomMemoryManagementModuleEntry 1 }       
        
    raisecomMemoryManagementModuleName OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE(0..16))  
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
               "The names of modules."
        ::= {raisecomMemoryManagementModuleEntry 2 }  
      
    raisecomMemoryManagementModuleAllocTimes OBJECT-TYPE
        SYNTAX   INTEGER  
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
               "Size alloced by this module."
        ::= {raisecomMemoryManagementModuleEntry 3 }  
       
    raisecomMemoryManagementModuleFreeTimes OBJECT-TYPE
        SYNTAX   INTEGER  
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
               "Size freed by this module."
        ::= {raisecomMemoryManagementModuleEntry 4 }  
       
    raisecomMemoryManagementModuleInuseSize OBJECT-TYPE
        SYNTAX   INTEGER  
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
               "Currently used size of this module."
        ::= {raisecomMemoryManagementModuleEntry 5 }

   --END raisecomMemoryManagementModuleTable
    
   -- BEGINE raisecomMemoryManagementSummaryTable

    raisecomMemoryManagementSummaryTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF raisecomMemoryManagementSummaryEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of memory management group"
    ::={ raisecomMemoryManagement 4 }
    

    raisecomMemoryManagementSummaryEntry OBJECT-TYPE
    SYNTAX      raisecomMemoryManagementSummaryEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the raisecomMemoryManagementSummaryTable provides objects ."
    INDEX        { raisecomMemoryManagementSummaryInstruct}
    ::={ raisecomMemoryManagementSummaryTable 1 }
    
    raisecomMemoryManagementSummaryEntry ::= SEQUENCE {     
        raisecomMemoryManagementSummaryInstruct   INTEGER,  
        raisecomMemoryManagementSummaryAllocTimes INTEGER,
        raisecomMemoryManagementSummaryMemoryAddr  INTEGER,
        raisecomMemoryManagementSummaryTotalSize   INTEGER    
    }
     
    raisecomMemoryManagementSummaryInstruct OBJECT-TYPE
        SYNTAX    INTEGER
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
                "This object is the index of an raisecomMemoryManagementSummaryable. 
                It is the address of instruct."
        ::=    { raisecomMemoryManagementSummaryEntry 1 }    
        
    raisecomMemoryManagementSummaryAllocTimes OBJECT-TYPE
        SYNTAX    INTEGER
        MAX-ACCESS    read-only
        STATUS    current
        DESCRIPTION
                "Times of memory alloced by this instruct."
        ::=    { raisecomMemoryManagementSummaryEntry 2 }    
        
    raisecomMemoryManagementSummaryMemoryAddr OBJECT-TYPE
        SYNTAX    INTEGER
        MAX-ACCESS    read-only
        STATUS    current
        DESCRIPTION
                "Address of memory alloced by this instruct."
        ::=    { raisecomMemoryManagementSummaryEntry 3 }  
        
    raisecomMemoryManagementSummaryTotalSize OBJECT-TYPE
        SYNTAX    INTEGER
        MAX-ACCESS    read-only
        STATUS    current
        DESCRIPTION
                "Total size of memory alloced by this instruct."
        ::=    { raisecomMemoryManagementSummaryEntry 4 } 

   --END raisecomMemoryManagementModuleTable
 
   --BEGINE  raisecomMemoryManagementTrapTable
   raisecomMemoryManagementTrapTable
   OBJECT IDENTIFIER 
   ::= {raisecomMemoryManagement 5 }
   
     raisecomMemoryManagementMemoryRemaningTrap            NOTIFICATION-TYPE
        OBJECTS{   
            raisecomMemoryManagementRemainingSize
            }
        STATUS      current
        DESCRIPTION 
        "Remaining memory less than 15M."
        ::= { raisecomMemoryManagementTrapTable 1 }        
END
    
