-- 0.91 Draft
-- 2003/2/13 09:55AM
-- Modified swDlinkSNTP subtree
-- 0.9 Draft
-- 2003/1/21 11:21AM
-- Create DLINK-TIME-MIB
--


DLINK-TIME-MIB DEFINITIONS ::= BEGIN

     IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, IpAddress
            FROM SNMPv2-SMI
        DateAndTime, TruthValue , DisplayString
            FROM SNMPv2-TC
		dlink-common-mgmt
		    FROM DLINK-ID-REC-MIB;

     swDlinkTimeMIB MODULE-IDENTITY
          LAST-UPDATED "0202140000Z"
          ORGANIZATION "DLink Corporation"
          CONTACT-INFO
                       ""
          DESCRIPTION
           "DLink equipments absolute time."
          ::= { dlink-common-mgmt 10 }

    --
    -- OID Tree Allocation in bsoluteTime
    --
    swSystemTime		OBJECT IDENTIFIER ::= { swDlinkTimeMIB 10 }
    swSNTP          	OBJECT IDENTIFIER ::= { swDlinkTimeMIB 11 }
    swSummerTime		OBJECT IDENTIFIER ::= { swDlinkTimeMIB 12 }

    swTimeNotifPrefix  OBJECT IDENTIFIER ::= { swDlinkTimeMIB 13 }

    --
    -- Object Definition for
    --

    swTimeCapacity OBJECT-TYPE
      SYNTAX      BITS {
      				systemTime(0),
                    sntp(1),
                    summerTime(2),
                    realTimeClock(3)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A string of 8 bits, corresponding to indicates the time capacity supported in the system.
         If sntp bit(1) is 1 , indicate the SNTP is supported else if sntp bit is 0, the SNTP
         is not supported and the subtree swSNTP will not supported also.
         If summerTime bit(2) is 1 ,indicate the SummerTime is supported else if sntp bit is 0,
         the SummerTime is not supported and the subtree swSummerTime will not supported
         also.
         If realTimeClock(3) bit is 1 , indicate the real time clock is supported else if the
         bit is 0, the real time clock is not supported .

         Default systemTime bit(0) is 1; indicate the system time is supported.
         "


    ::= { swDlinkTimeMIB 1 }


    swCurrentClock OBJECT-TYPE
        SYNTAX      DateAndTime
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The current local date and time for the system.
             Setting this object is equivalent to setting an automated
             clock and calendar.  The value of the object will track the
             date and time from the value set.  Note that due to hardware
             limitations some systems may not be able to preserve such
             meaning across reboots of the system, as indicated by
             swDlinkClockLostOnReboot.
             A constant value of all zeros and length 8 indicates the
             system is not aware of the present date and time.
             This object may be read-only on some systems."
    ::= { swDlinkTimeMIB 2 }

    swClockLostOnReboot OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indication of whether the system can preserve knowledge of
             current date and time across a system reboot.
             A value of 'true' indicates the clock must be reset from some
             external source each time the system reboots.
             A value of 'false' indicates the system has the ability to
             keep time across reboots."
    ::= { swDlinkTimeMIB 3 }

-- *****************************************************************************
-- System Time
-- *****************************************************************************
	swSystemCurrentTime	OBJECT-TYPE
		SYNTAX	DisplayString (SIZE (0..32))
		MAX-ACCESS read-only
		STATUS	current
		DESCRIPTION
			"the mandatory network time was got from the SNTP server"
		::= { swSystemTime 1 }

	swSystemUpTime			OBJECT-TYPE
		SYNTAX	DisplayString (SIZE (0..32))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The time (in second) since the network management portion
			of the system was last re-initialized. It is the same as
			sysUptime."
		::= { swSystemTime 2 }

	swSystemBootTime		OBJECT-TYPE
		SYNTAX	DisplayString (SIZE (0..32))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The boot time of the switch is equal to subtract systemUpTime
			from swSNTPCurrentTime"
		::= { swSystemTime 3 }

    swSystemTimeZone OBJECT-TYPE
        SYNTAX  INTEGER (-779..839)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Local time offset in minutes from GMT."
        ::= { swSystemTime 4 }

-- *****************************************************************************
-- SNTP
-- *****************************************************************************

	swSNTPState OBJECT-TYPE
    	SYNTAX	INTEGER {
                	other(1),
                	disabled(2),
                	enabled(3)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        	"This object enable/disable the SNTP function."
        ::= { swSNTP 1 }

    swSNTPTimeSource OBJECT-TYPE
        SYNTAX  INTEGER{
        			system(0),
                	server1(1),
                	server2(2)
                }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "the SNTP server status for time source changing"
        ::= { swSNTP 2 }

    swSNTPServer1IPAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Configure the SNTP server #1 IP address"
        ::= { swSNTP 3 }

    swSNTPServer2IPAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Configure the SNTP server #2 IP address"
        ::= { swSNTP 4 }

    swSNTPPollInterval OBJECT-TYPE
        SYNTAX  INTEGER (30..99999)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Update time in seconds from SNTP server."
--	    DEFVAL  { 1024 }
        ::= { swSNTP 5 }



-- *****************************************************************************
--  Summer time
-- *****************************************************************************
    swSummerTimeStatus OBJECT-TYPE
        SYNTAX  INTEGER  {
              		disable(0),
              		repeating(1),
              		annual(2)

     }
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
            "An indication of whether the summertime feature
             is disabled or enabled in reprating or annual mode on this device.
             When this object is set to repeating,then the summertime frature
             is enabled and swSummerTimeOffset,swSummerTimeRepeatingStart
             ,swSummerTimeRepeatingEnd objects are work effectively .
             When this object is set to annual, then the summertime frature
             is enabled and swSummerTimeOffset, swAnnualSummerTimeStart,
             swAnnualSummerTimeEnd objects are work effectively. "
        DEFVAL { disable }
        ::= { swSummerTime 1 }

    swSummerTimeOffset  OBJECT-TYPE
        SYNTAX        INTEGER ( 0 .. 1440)
        UNITS         "Minutes"
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
            "The value of this object indicates number of minutes to add
             or to subtract during summertime. This object is not instantiated
             when swSummerTimeStatus object is set to disable."
        DEFVAL { 60 }
        ::= { swSummerTime 2 }

    swRepeatSummerTimeStart OBJECT-TYPE
        SYNTAX        OCTET STRING (SIZE (6))
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
            "Indicates summertime starts at this time every year.
             octets    contents     range
             1         week        1..4,00 last = 00
             2-3       day         1..7
                                   where sunday = 1 saturday = 7
             4         month       1..12
                                   where january = 1 december = 12
             5         hour        0..23
             6         min         0..59

             For example, the first Monday in Feb at 13:30pm
             should be given as 01 00 02 02 0e 1e
             For the last Tuesday in dec at 1:20am should be
             given as 00 00 03 0c 01 14
             This object is not instantiated when
             swSummerTimeStatus object is not set to repeating."

        ::= { swSummerTime 3 }

    swRepeatSummerTimeEnd OBJECT-TYPE
            SYNTAX        OCTET STRING (SIZE (6))
            MAX-ACCESS    read-write
            STATUS        current
            DESCRIPTION
                "Indicates summertime ends at this time every year.
                 octets    contents      range
                 1         week        1..5,ff where ff = last
                 2-3       day         1..7
                                       where sunday = 1 saturday = 7
                 4         month       1..12
                                       where january = 1 december = 12
                 5         hour        0..23
                 6         min         0..59

                 For example, the third friday in February at 3:30am
                 should be given as 03 00 06 02 03 1e
                 For the first Tuesday in May at 1:20am  should
                 be given as 01 00 03 05 01 14
                 This object is not instantiated when
                 swSummerTimeStatus object is not set to repeating."

        ::= { swSummerTime 4 }
    swAnnualSummerTimeStart OBJECT-TYPE
        SYNTAX        OCTET STRING (SIZE (4))
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
            "Indicates summertime starts at this time every year.
             octets    contents     range
                 1         monthDay    1..31,
                 2         month       1..12
                                       where january = 1 december = 12
                 3         hour        0..23
                 4         min         0..59

             For example, the first Feb at 13:30pm
             should be given as 01 02 0e 1e
             For the tenth dec at 1:20am should be
             given as ff 00 03 0c 01 14
             This object is not instantiated when
             swSummerTimeStatus object is not set to annual."

        ::= { swSummerTime 5 }

    swAnnualSummerTimeEnd OBJECT-TYPE
            SYNTAX        OCTET STRING (SIZE (4))
            MAX-ACCESS    read-write
            STATUS        current
            DESCRIPTION
                "Indicates summertime ends at this time every year.
                 octets    contents      range
                 1         monthDay    1..31,
                 2         month       1..12
                                       where january = 1 december = 12
                 3         hour        0..23
                 4         min         0..59

                 For example, the third February at 3:30am
                 should be given as 03 02 03 1e
                 For the first May at 1:20am  should
                 be given as 01 05 01 14
                 This object is not instantiated when
                 swSummerTimeStatus object is not set to annual."

        ::= { swSummerTime 6 }



END