-- This module defines chassis MIBs for modular ScreenOS platforms
-- Copyright (c) 1999-2007, Juniper Networks, Inc.
-- All rights reserved.


-- netscreenChassis MODULE-IDENTITY
--    LAST-UPDATED  "200705080000Z" -- May 8, 2007 by mxk
--    ORGANIZATION
--        "Juniper Networks, Inc."
--    CONTACT-INFO
--        "Customer Support
--         1194 North Mathilda Avenue 
--         Sunnyvale, California 94089-1206
--         USA
--         Tel: 1-800-638-8296
--         E-mail: customerservice@juniper.net
--         HTTP://www.juniper.net"
--    DESCRIPTION
--        "This module defines the objects that are used to monitor 
--        device status such as Battery, Fan, Power and Temperature"
--    ::= { netscreen 21} 


NETSCREEN-CHASSIS-MIB DEFINITIONS ::= BEGIN
IMPORTS
    DisplayString       FROM RFC1213-MIB
        netscreenChassis        FROM NETSCREEN-SMI;
 
    nsPowerTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF NsPowerEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "Information describing installed power supply modules and 
          their status"
    ::= { netscreenChassis 1}

    nsPowerEntry OBJECT-TYPE
        SYNTAX   NsPowerEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "Information describing one power supply module and its status"
        INDEX { nsPowerId }
     ::= { nsPowerTable 1 }
     
    NsPowerEntry ::=
        SEQUENCE {
                nsPowerId           INTEGER,
                nsPowerStatus       INTEGER, 
                nsPowerDesc                     DisplayString
    }
 


    nsPowerId OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION  
                      "A 32-bit integer uniquely identifying the power supply
                id. For 5400, range is 1~3, For 5200, range is 1~2"
          ::= { nsPowerEntry 1 }
      
    nsPowerStatus OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "A  32-bit  integer uniquely identifying the
           power supply module's status:
                        0. Fail
                        1. Goods    "
    ::= { nsPowerEntry 2 }
        
    nsPowerDesc OBJECT-TYPE
        SYNTAX   DisplayString
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "A description for the power supply module"
    ::= { nsPowerEntry 3 }


        
    nsFanTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF NsFanEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "Information describing the installed Fan modules and their status"
     ::= { netscreenChassis 2}

    nsFanEntry OBJECT-TYPE
        SYNTAX   NsFanEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "Information describing one installed Fan module and its status"
    INDEX { nsFanId }
     ::= { nsFanTable 1 }

    NsFanEntry ::=
        SEQUENCE {
                nsFanId           INTEGER,
                nsFanStatus       INTEGER, 
                nsFanDesc         DisplayString
    }
    
    
    nsFanId OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION  
                "A 32-bit integer uniquely identifying the Fan id. At the time of 
                this writing."
          ::= { nsFanEntry 1 }
      
    nsFanStatus OBJECT-TYPE
        SYNTAX   INTEGER 
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "A  32-bit integer uniquely identifying the
           Fan module's status:
                        0. Fail
                        1. Good
                                2. Not installed
           "
    ::= { nsFanEntry 2 }
        
    nsFanDesc OBJECT-TYPE
        SYNTAX   DisplayString
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "A description for the Fan module"
    ::= { nsFanEntry 3 }
           

    sysBatteryStatus OBJECT-TYPE
         SYNTAX  INTEGER
         ACCESS  read-only
         STATUS  mandatory
         DESCRIPTION
                      "Information describing the installed Battery and its status:
                      1. Good
                      2. Error
                      "
         ::= { netscreenChassis 3 }

    nsTemperatureTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF NsTemperatureEntry
      ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "Information describing the temperature measured by each module"
         ::= { netscreenChassis 4}

    nsTemperatureEntry OBJECT-TYPE
        SYNTAX   NsTemperatureEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "The temperature measured by a module"
                INDEX { nsTemperatureId }
                ::= { nsTemperatureTable 1 }
  
    NsTemperatureEntry ::=
        SEQUENCE {
                nsTemperatureId         INTEGER,     
                nsTemperatureSlotId       INTEGER,     
                nsTemperatureDesc               DisplayString,
                nsTemperatureCur        INTEGER,
    }  
  
    nsTemperatureId OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION  
                "A 32-bit integer uniquely identifying temperature measured on a board or on a component e.g. CPU"
                ::= { nsTemperatureEntry 1 }
  
    nsTemperatureSlotId OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION  
                "A 32-bit integer uniquely identifying the slot where the temperature is measured. "
        ::= { nsTemperatureEntry 2 }
      
     nsTemperatureCur OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The current temperature measured by the module, unit is Celsius"
    ::= { nsTemperatureEntry 3 }
            
    nsTemperatureDesc OBJECT-TYPE
        SYNTAX   DisplayString
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "A description for the module"
    ::= { nsTemperatureEntry 4 }
            



    nsSlotTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF NsSlotEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "Information describing the installed management and traffic 
           processing modules and their status, built-in and internal module are also listed here.
           "
      ::= { netscreenChassis 5}

    nsSlotEntry OBJECT-TYPE
        SYNTAX   NsSlotEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "Information describing one installed module and its status"
       INDEX { nsSlotId,
                                 nsSubSlotId }
       ::= { nsSlotTable 1 }
          
          NsSlotEntry ::= SEQUENCE {
                                nsSlotId              INTEGER,
        nsSlotType              DisplayString,
        nsSlotStatus            INTEGER,  
        nsSlotSN                DisplayString,  
    }
   
    nsSlotId OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "A 32-bit integer uniquely identifying the slot id. The range 
           varies on different platforms "
      ::= { nsSlotEntry 1 }

    nsSlotType OBJECT-TYPE
        SYNTAX   DisplayString
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "A description of the installed module"
      ::= { nsSlotEntry 2 }

        nsSlotStatus OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "Slot status"
      ::= { nsSlotEntry 3 }

    nsSlotSN OBJECT-TYPE
        SYNTAX   DisplayString
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "Serial Number of the module"
      ::= { nsSlotEntry 4 }
     
END