
-- Copyright (C) 2007 by Zhone Technologies.  All Rights Reserved.

-- ======================================================================
-- ==                                                                  ==
-- ==                     NPSYSTEM MIB                                 ==
-- ==                                                                  ==
-- ==  Copyright (C) 2007 Zhone Technologies, Inc.                     ==
-- ==  Confidential, Unpublished Property of Zhone Technologies.       ==
-- ==  Rights Reserved Under the Copyright Laws of the United States.  ==
-- ==                                                                  ==
-- ======================================================================

NPSYSTEM DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY , OBJECT-TYPE , 
    IpAddress, TimeTicks, Integer32
		FROM SNMPv2-SMI
    DisplayString, RowStatus, MacAddress, DateAndTime
		FROM SNMPv2-TC
    zhoneWtn FROM Zhone;


npsystem  MODULE-IDENTITY
    LAST-UPDATED  "200711260000Z" -- Nov 26, 2007
    ORGANIZATION "Zhone Technologies
                  MIB Working Group
                  Other information about group editing the MIB"
    CONTACT-INFO "Zhone Technologies, Inc.
                  Florida Design Center
                  8545 126th Avenue North
                  Largo, FL 33773
                  www.zhone.com

                  General Comments to: largo-mibwg-team@zhone.com"

    DESCRIPTION  "This file defines the private Enterprise MIB extensions.
                  This file specifies the configuration & status of the
                  System module."

    ::= { zhoneWtn 11 }


	systemObjects OBJECT IDENTIFIER ::= {npsystem 1}


	-- read only system info
	serialNumber	OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS		read-only
	STATUS 		current
	DESCRIPTION
	"serial no. of the device"
	::= { systemObjects 1}

	firmwareVersion	OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS		read-only
	STATUS 		current
	DESCRIPTION
	"firmware version"
	::= { systemObjects 2}


	-- TO DO : add more scalars here for more sys info.

  systemDate OBJECT-TYPE
  SYNTAX  DisplayString
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Set the system date"
	::= { systemObjects 3}

  systemTime OBJECT-TYPE
  SYNTAX  DisplayString
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Set the time."
	::= { systemObjects 4}

  systemUpTime OBJECT-TYPE
  SYNTAX  DisplayString
  MAX-ACCESS  read-only
  STATUS  current
  DESCRIPTION
    "Tell how long the system has been running"
	::= { systemObjects 5}

  systemReboot OBJECT-TYPE
	SYNTAX  INTEGER
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "Set 1 to reboot the box"
	::= { systemObjects 6}

  systemHostName OBJECT-TYPE
  SYNTAX  DisplayString
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "configure  host name"
	::= { systemObjects 7}

  systemDomainName OBJECT-TYPE
  SYNTAX  DisplayString
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "configure domain name."
	::= { systemObjects 8}

  systemPrimaryDnsServer OBJECT-TYPE
  SYNTAX  IpAddress
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The IP address of the DNS server."
	::= { systemObjects 9}

  systemSecondaryDnsServer OBJECT-TYPE
  SYNTAX  IpAddress
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The IP address of the DNS server."
	::= { systemObjects 10}


  systemGateway OBJECT-TYPE
  SYNTAX  IpAddress
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "The IP address of the gateway"
	::= { systemObjects 11}

	-- logging 

  systemRemoteSyslogStatus OBJECT-TYPE
  SYNTAX  INTEGER {
        enable(1),
        disable(2)
    }
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "configure the remote syslog status."
	::= { systemObjects 12}

  systemRemoteSyslogServer OBJECT-TYPE
  SYNTAX  DisplayString
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "configure the remote syslog server."
	::= { systemObjects 13}


  systemSyslogLocalStatus OBJECT-TYPE
  SYNTAX  INTEGER {
        enable(1),
        disable(2)
    }
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "configure the local syslog status."
	::= { systemObjects 14}


  systemSyslogMaxSize OBJECT-TYPE
  SYNTAX  INTEGER ( 1 .. 500 )
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "configure the max syslog size."
	::= { systemObjects 15}

  systemSyslogRotateNum OBJECT-TYPE
  SYNTAX  INTEGER ( 0 .. 99 )
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "configure the rotate num."
	::= { systemObjects 16}

  systemTimezone OBJECT-TYPE
  SYNTAX DisplayString 
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "configure the time zone."
	::= { systemObjects 17}

  systemDaylightSavingStatus OBJECT-TYPE
  SYNTAX  INTEGER {
        enable(1),
        disable(2)
    }
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "configure the day light saving  status."
	::= { systemObjects 18}

  systemNtpServer OBJECT-TYPE
  SYNTAX DisplayString 
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "configure the ntp server."
	::= { systemObjects 19}

  systemNtpStatus OBJECT-TYPE
  SYNTAX  INTEGER {
        enable(1),
        disable(2)
    }
  MAX-ACCESS  read-write
  STATUS  current
  DESCRIPTION
    "configure the ntp status."
	::= { systemObjects 20}

	-- action parameter : needed for setting above scalars in dal_set requests 

	systemAction	OBJECT-TYPE
	SYNTAX	RowStatus
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION "action parameter to handle the action on other scalars"
	::= { systemObjects 21}

	systemRemoteSyslogServerPort OBJECT-TYPE
	SYNTAX	INTEGER
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION "Port no of remote syslog server"
	::= { systemObjects 22}


	-- services table : enable / disable

	systemServicesTable OBJECT-TYPE
	SYNTAX SEQUENCE OF SystemServicesTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Table to hold system services. The SNMP agent will populate the rows 
	 of this table, depending upon the services for which the system module 
	lets set the status."
	::= { systemObjects 23}


	systemServicesTableEntry OBJECT-TYPE
	SYNTAX SystemServicesTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"One table entry per service"
	INDEX {serviceName}
	::= {systemServicesTable 1}

	SystemServicesTableEntry ::= SEQUENCE {

		serviceName		DisplayString,
		serviceStatus	INTEGER,
		serviceAction	RowStatus
	}

	serviceName OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "Name of the service."
    ::= { systemServicesTableEntry 1 }


	serviceStatus OBJECT-TYPE
    SYNTAX  INTEGER {
			enable(1),
			disable(2)
		}
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
            "Status of the service."
    ::= { systemServicesTableEntry 2 }

	serviceAction	OBJECT-TYPE
	SYNTAX	RowStatus
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION "action parameter to handle the action"
    ::= { systemServicesTableEntry 3 }


END

