TPLINK-USERMANAGE-MIB DEFINITIONS ::= BEGIN

          IMPORTS
              TPRowStatus       	 
  					FROM TPLINK-TC-MIB
              OBJECT-TYPE,MODULE-IDENTITY,IpAddress
          	  	         	FROM SNMPv2-SMI
              tplinkMgmt	          
          	  	          FROM TPLINK-MIB
			  ifIndex 
							FROM  RFC1213-MIB;
          	  	          	

	      tplinkUserInfoMIB MODULE-IDENTITY  
		    LAST-UPDATED    "2009070900Z"
		    ORGANIZATION    "TPLINK"
		    CONTACT-INFO    "www.tplink.com"
		    DESCRIPTION
		             "Implementation of the user manage is mandatory for the
					swtich."
		    REVISION        "2009070900Z"
		    DESCRIPTION
				"Initial version of this MIB module."
		    ::= { tplinkMgmt 7}      	      
      	   
			tplinkUserManageMIBObjects   OBJECT IDENTIFIER    ::=  {tplinkUserInfoMIB 1}
		    tplinkUserManageMIBNotifications OBJECT IDENTIFIER ::=   {tplinkUserInfoMIB 2}
           userInfoUserTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF USERINFOUSERENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "A list of user entries."
              ::= { tplinkUserManageMIBObjects 1 }

          userInfoUserEntry OBJECT-TYPE
              SYNTAX  USERINFOUSERENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "An entry contains of the information of a user."
              INDEX   { userInfoUserName }
              ::= { userInfoUserTable 1 }
      
          USERINFOUSERENTRY ::=
              SEQUENCE {
                  userInfoUserName
                      OCTET STRING , 
                  userInfoUserType
                      INTEGER,
				  userInfoPasswordSecret
                  	  INTEGER,
                  userInfoOldPassword
                  	OCTET STRING ,
                  userInfoPassword
                  	OCTET STRING ,
                  userInfoConfirmedPassword
                  	OCTET STRING ,
                  userInfoUserStatus
                      TPRowStatus
              }
              
          userInfoUserName OBJECT-TYPE
              SYNTAX  OCTET STRING (SIZE (0..16))  
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "userName,range:1-16 bytes,'-' 'a-z' 'A-Z' '0-9'"
              ::= { userInfoUserEntry 1 }
          
          userInfoUserType OBJECT-TYPE
              SYNTAX  INTEGER{
				user(0),					--user
				power-user(1),				--power_user
				operator(2),				--operator
				admin(3) 					--admin
	      		}
              MAX-ACCESS  read-create
              STATUS  current
              DESCRIPTION
                      "0. user
                       1. power_user
					   2. operator
					   3. admin"
              ::= { userInfoUserEntry 2 }          
          
        userInfoPasswordSecret OBJECT-TYPE
              SYNTAX  INTEGER{
	      		cipher(0),						--cipher
				simple(1) 					--simple
	      		}
              MAX-ACCESS  read-create
              STATUS  current
              DESCRIPTION
                      "0. cipher
                       1. simple"
              ::= { userInfoUserEntry 3 }

          userInfoOldPassword OBJECT-TYPE
              SYNTAX  OCTET STRING (SIZE (0..31))
              MAX-ACCESS  read-create
              STATUS  current
              DESCRIPTION
                      "old password,if you want to change user's password,
                      you must give the correct old password. range:1-31 bytes."
              ::= { userInfoUserEntry 4 }
                
          userInfoPassword OBJECT-TYPE
              SYNTAX  OCTET STRING (SIZE (0..31))
              MAX-ACCESS  read-create
              STATUS  current
              DESCRIPTION
                      "password,range:1-31 bytes.
                      If you want to change one user's password,you should ensure
                      its password is same as confirmedPassword."
              ::= { userInfoUserEntry 5 }
             
          userInfoConfirmedPassword OBJECT-TYPE
              SYNTAX  OCTET STRING (SIZE (0..31))
              MAX-ACCESS  read-create
              STATUS  current
             DESCRIPTION
                     "confirmed password,Retype the password,range:1-31 bytes."
              ::= { userInfoUserEntry 6 }
              
          userInfoUserStatus OBJECT-TYPE
              SYNTAX  TPRowStatus
              MAX-ACCESS  read-create
              STATUS  current
              DESCRIPTION
                      "the following values are states:
                     these values may be used as follow:
                     
                     active(1),if the entry is being used.
                     notInService(2),destory the entry.
                     notReady(3),destory the entry.
                     createAndGo(4),not being used
                     createAndWait(5),creat a new entry
                     destroy(6),destory the entry.
                     
                     When you create a new user,the default password
                     is admin."
              ::= { userInfoUserEntry 7 }
      	
          END	  	         