AGENTPP-TEST-MIB DEFINITIONS ::= BEGIN

IMPORTS
	DateAndTime,
	RowStatus
		FROM SNMPv2-TC
	OBJECT-GROUP
		FROM SNMPv2-CONF
	agentppExpr
		FROM AGENTPP-GLOBAL-REG
	MODULE-IDENTITY,
	OBJECT-TYPE,
	Gauge32,
	Integer32,
	Unsigned32
		FROM SNMPv2-SMI
	SnmpAdminString
		FROM SNMP-FRAMEWORK-MIB;

agentppTestMIB MODULE-IDENTITY
	LAST-UPDATED "200312071238Z"	-- Dec 7, 2003 12:38:00 PM
	ORGANIZATION "AGENT++"
	CONTACT-INFO
		"Frank Fock
		http://www.agentpp.com
		Email: fock@agentpp.com"
	DESCRIPTION
		"This MIB module defines objects for testing
		the request processing of SNMP agents."
	REVISION "200312071238Z"	-- Dec 7, 2003 12:38:00 PM
	DESCRIPTION
		"Added sparse table test table."
	REVISION "200302202209Z"	-- Feb 20, 2003 10:09:00 PM
	DESCRIPTION
		"Added shared table test table definition."
	REVISION "200107141313Z"	-- Jul 14, 2001 1:13:00 PM
	DESCRIPTION
		"Initial version."
 -- 1.3.6.1.4.1.4976.6.3 --  ::= { agentppExpr 3 }


agentppTestObjects OBJECT IDENTIFIER 
 -- 1.3.6.1.4.1.4976.6.3.1 --  ::= { agentppTestMIB 1 }

agentppTestTimeout OBJECT-TYPE
	SYNTAX Unsigned32 (0..1000000)
	UNITS
		"1/1000 seconds."
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Setting this object will be delayed by the given
		amount of milliseconds. That is, by setting this
		object to 1000 the corresponding response to
		that SET request will be delayed by one second."
 -- 1.3.6.1.4.1.4976.6.3.1.1 --  ::= { agentppTestObjects 1 }


agentppTestSharedTable OBJECT-TYPE
	SYNTAX SEQUENCE OF AgentppTestSharedEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This table is implemented by AgentX subagents
		to test behavior of index allocation for shared tables.
		"
 -- 1.3.6.1.4.1.4976.6.3.1.3 --  ::= { agentppTestObjects 3 }


agentppTestSharedEntry OBJECT-TYPE
	SYNTAX AgentppTestSharedEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A row of a shared table. Each row is allocated and
		registered in random intervals."
	INDEX {
		agentppTestSharedTableIndex }
 -- 1.3.6.1.4.1.4976.6.3.1.3.1 --  ::= { agentppTestSharedTable 1 }


AgentppTestSharedEntry ::= SEQUENCE {

	agentppTestSharedTableIndex        Unsigned32,
	agentppTestSharedTableCreationTime DateAndTime,
	agentppTestSharedTableDelay        Integer32,
	agentppTestSharedTableSession      Unsigned32,
	agentppTestSharedTableRowStatus    RowStatus }


agentppTestSharedTableIndex OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A simple shared index."
 -- 1.3.6.1.4.1.4976.6.3.1.3.1.1 --  ::= { agentppTestSharedEntry 1 }


agentppTestSharedTableCreationTime OBJECT-TYPE
	SYNTAX DateAndTime
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The date and time when this row has been created."
 -- 1.3.6.1.4.1.4976.6.3.1.3.1.2 --  ::= { agentppTestSharedEntry 2 }


agentppTestSharedTableDelay OBJECT-TYPE
	SYNTAX Integer32 (0..6000)
	UNITS
		"1/100 seconds."
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The number of 1/100 seconds that a request to this
		row will be delayed before it is processed."
	DEFVAL { 0 }
 -- 1.3.6.1.4.1.4976.6.3.1.3.1.3 --  ::= { agentppTestSharedEntry 3 }


agentppTestSharedTableSession OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"This object denotes the AgentX session ID of the
		session on whose behalf this row has been created."
 -- 1.3.6.1.4.1.4976.6.3.1.3.1.4 --  ::= { agentppTestSharedEntry 4 }


agentppTestSharedTableRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The row status of the row."
 -- 1.3.6.1.4.1.4976.6.3.1.3.1.5 --  ::= { agentppTestSharedEntry 5 }


agentppTestSessionsTable OBJECT-TYPE
	SYNTAX SEQUENCE OF AgentppTestSessionsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Each session of a subagent registers one
		row in this table, which itself does then allow
		to create rows in the agentppTestSharedTable
		on behalf of the respective session."
 -- 1.3.6.1.4.1.4976.6.3.1.4 --  ::= { agentppTestObjects 4 }


agentppTestSessionsEntry OBJECT-TYPE
	SYNTAX AgentppTestSessionsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A row of this table is created by each subagent
		session that implements the AGENTPP-TEST-MIB."
	INDEX {
		agentppTestSessionIndex }
 -- 1.3.6.1.4.1.4976.6.3.1.4.1 --  ::= { agentppTestSessionsTable 1 }


AgentppTestSessionsEntry ::= SEQUENCE {

	agentppTestSessionIndex Unsigned32,
	agentppTestRowCreation  Unsigned32 }


agentppTestSessionIndex OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The session ID of the AgentX subagent session
		that registered this row."
 -- 1.3.6.1.4.1.4976.6.3.1.4.1.1 --  ::= { agentppTestSessionsEntry 1 }


agentppTestRowCreation OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"This object can be set to the index of a new row
		in the agentppTestSharedTable. If a row with the
		set index already exists, this object will return zero,
		otherwise it will return the last value set."
	DEFVAL { 0 }
 -- 1.3.6.1.4.1.4976.6.3.1.4.1.2 --  ::= { agentppTestSessionsEntry 2 }


agentppTestSparseTable OBJECT-TYPE
	SYNTAX SEQUENCE OF AgentppTestSparseEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This table implements a dynamically sparsed
		table. Each column except the row status column
		can be set notAccessible. This is done by just
		setting the same value to the object that it already
		has."
 -- 1.3.6.1.4.1.4976.6.3.1.5 --  ::= { agentppTestObjects 5 }


agentppTestSparseEntry OBJECT-TYPE
	SYNTAX AgentppTestSparseEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A row of a sparese table can be created and 
		deleted via its row status column."
	INDEX {
		agentppTestSparseIndex }
 -- 1.3.6.1.4.1.4976.6.3.1.5.1 --  ::= { agentppTestSparseTable 1 }


AgentppTestSparseEntry ::= SEQUENCE {

	agentppTestSparseIndex     SnmpAdminString,
	agentppTestSparseCol1      Integer32,
	agentppTestSparseCol2      Gauge32,
	agentppTestSparseCol3      SnmpAdminString,
	agentppTestSparseRowStatus RowStatus }


agentppTestSparseIndex OBJECT-TYPE
	SYNTAX SnmpAdminString
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"An arbitrary admin string."
 -- 1.3.6.1.4.1.4976.6.3.1.5.1.1 --  ::= { agentppTestSparseEntry 1 }


agentppTestSparseCol1 OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"By setting this object to its current value the object
		becomes notAccessible allowing testing of
		sparse table implementation."
	DEFVAL { 1 }
 -- 1.3.6.1.4.1.4976.6.3.1.5.1.2 --  ::= { agentppTestSparseEntry 2 }


agentppTestSparseCol2 OBJECT-TYPE
	SYNTAX Gauge32
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"By setting this object to its current value the object
		becomes notAccessible allowing testing of
		sparse table implementation."
	DEFVAL { 2 }
 -- 1.3.6.1.4.1.4976.6.3.1.5.1.3 --  ::= { agentppTestSparseEntry 3 }


agentppTestSparseCol3 OBJECT-TYPE
	SYNTAX SnmpAdminString
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"By setting this object to its current value the object
		becomes notAccessible allowing testing of
		sparse table implementation."
	DEFVAL { 3 }
 -- 1.3.6.1.4.1.4976.6.3.1.5.1.4 --  ::= { agentppTestSparseEntry 4 }


agentppTestSparseRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"Use this column to create a row in the test table."
 -- 1.3.6.1.4.1.4976.6.3.1.5.1.5 --  ::= { agentppTestSparseEntry 5 }


agentppTestConformance OBJECT IDENTIFIER 
 -- 1.3.6.1.4.1.4976.6.3.2 --  ::= { agentppTestMIB 2 }

agentppTestGroup OBJECT-GROUP
	OBJECTS {
		agentppTestTimeout }
	STATUS current
	DESCRIPTION
		"Basic test objects."
 -- 1.3.6.1.4.1.4976.6.3.2.1 --  ::= { agentppTestConformance 1 }

agentppTestAgentXSubagentGroup OBJECT-GROUP
	OBJECTS {
		agentppTestSharedTableCreationTime,
		agentppTestSharedTableDelay,
		agentppTestSharedTableRowStatus,
		agentppTestSharedTableSession,
		agentppTestRowCreation }
	STATUS current
	DESCRIPTION
		"This group contains test objects for AgentX subagents.
		Non-AgentX agents should not implement these
		objects."
 -- 1.3.6.1.4.1.4976.6.3.2.2 --  ::= { agentppTestConformance 2 }

agentppTestGroupSparseTable OBJECT-GROUP
	OBJECTS {
		agentppTestSparseCol1,
		agentppTestSparseCol2,
		agentppTestSparseCol3,
		agentppTestSparseRowStatus }
	STATUS current
	DESCRIPTION
		"This group contains required objects for sparse
		table testing."
 -- 1.3.6.1.4.1.4976.6.3.2.3 --  ::= { agentppTestConformance 3 }

END
