-- *****************************************************************
-- FS-TIMERANGE-MIB.mib:  FS timerange MIB file
--
-- Sep 2015, sukunlin
--
-- Copyright (c) 2002 by FS.COM Inc..
-- All rights reserved.
-- 
-- *****************************************************************
--

FS-TIMERANGE-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32,
        Unsigned32,
        IpAddress
                FROM SNMPv2-SMI
        TruthValue,
        DisplayString,
        RowStatus,
        MacAddress
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        IfIndex,
        ConfigStatus
                FROM FS-TC        
        fsMgmt
                FROM FS-SMI;
				
fsTrsMIB MODULE-IDENTITY
        LAST-UPDATED "201509200000Z"
        ORGANIZATION "FS.COM Inc.."
        CONTACT-INFO
                " 
                Tel: 400-865-2852 

                E-mail: https://www.fs.com/live_chat_service_mail.html"
        DESCRIPTION
                "This module defines fs timerange server mibs."
        REVISION      "201509200000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { fsMgmt 144}

fsTrsMIBObjects OBJECT IDENTIFIER ::= { fsTrsMIB 1 }


fsTRTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSTREntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "A table of timerange entries."
        ::= { fsTrsMIBObjects 1 }

fsTREntry OBJECT-TYPE
        SYNTAX FSTREntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Entry contains timerange name."  
        INDEX { fsTRName }
        ::= { fsTRTable 1 }

FSTREntry ::= 
        SEQUENCE {
                fsTRName DisplayString,
				fsAbsTRStr  DisplayString,
				fsTRIndex INTEGER,
                fsTRMode INTEGER
        }

fsTRName OBJECT-TYPE
        SYNTAX DisplayString(SIZE (1..32))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Timerange name what we config, This value is unique for every entry.
            When this string be used as an index, Value of a sub-identifier equal 
            ASCII value of corresponding character(first sub-identifier corresponds
            first character of string). The number of sub-identifiers of this string
            should not larger then 32 characters, or it'll failed."
        ::= { fsTREntry 1 }

fsAbsTRStr OBJECT-TYPE
        SYNTAX DisplayString(SIZE (1..64))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Absolute time range what we config for a TR, each timerange should only has a abs range.
			the string include start time and end time.
			example:
			absolute start 15:23 21 February 2015 end 16:58 31 December 2016
			2015-02-21-15:23:00to2016-12-31-16:58:00
			"
        ::= { fsTREntry 2 }

fsTRIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "each timerange will get an index dynamic"
        ::= { fsTREntry 3 }
		
fsTRMode OBJECT-TYPE
        SYNTAX INTEGER{
               tr-add(1),   
               tr-del(2)
            }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
               " add or del this timerange"
        ::= { fsTREntry 4 }

-- periodic range table
fsTRPeriTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSTRPeriEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "A table of absolute timerange."
        ::= { fsTrsMIBObjects 3 }

fsTRPeriEntry OBJECT-TYPE
        SYNTAX FSTRPeriEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Index with time range name and periodic time string."  
        INDEX { fsPeriTRName, fsPeriTRStr }
        ::= { fsTRPeriTable 1 }

FSTRPeriEntry ::= 
        SEQUENCE {
                fsPeriTRName DisplayString,
				fsPeriTRStr  DisplayString,
				fsPeriTRIndex INTEGER,
				fsPeriTRMode INTEGER
        }

fsPeriTRName OBJECT-TYPE
        SYNTAX DisplayString(SIZE (1..32))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Timerange name of this periodic belongs to.
            When this string be used as an index, Value of a sub-identifier equal 
            ASCII value of corresponding character(first sub-identifier corresponds
            first character of string). The number of sub-identifiers of this string
            should less then 33."
        ::= { fsTRPeriEntry 1 }	

fsPeriTRStr OBJECT-TYPE
        SYNTAX DisplayString(SIZE (1..10))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Entry contains absolute time parameters and results.
            string like this [1122112459] means mondy 12:21 to 24:59
			str[0] instead of timemode by it's 8 bits
			00000001 means Monday
			00000010 means Tuesday
			00000100 means Wednesday
			00001000 means Thursday
			00010000 means Friday
			00100000 means Saturday
			01000000 means Sunday
			01111111 means Daily
			01100000 means Weekend
			00011111 means Weekdays
			"
        ::= { fsTRPeriEntry 2 }	

fsPeriTRIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "an index of each periodic range, it will less then 100"
        ::= { fsTRPeriEntry 3 }
		
fsPeriTRMode OBJECT-TYPE
        SYNTAX INTEGER{
               periodic-add(1), 
               periodic-del(2)		   
            }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
               " add daily or del periodic timerange"
        ::= { fsTRPeriEntry 4 }
END