UCD-DLMOD-MIB DEFINITIONS ::= BEGIN

-- Why do we have dlmodNextIndex if the dlmodTable is read-write?
-- What exactly is the dlmodName and dlmodPath?
-- Should there not be a timestamp associated with dlmodError?
-- What exactly do the dlmodStatus enumerations mean?

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY, Integer32	FROM SNMPv2-SMI
    DisplayString				FROM SNMPv2-TC
    ucdExperimental				FROM UCD-SNMP-MIB;

ucdDlmodMIB MODULE-IDENTITY
    LAST-UPDATED "9912100000Z"
    ORGANIZATION "University of California, Davis"
    CONTACT-INFO    
        "The ucd-snmp-coders mailing list is the best place 
	 to write for public questions about the ucd-snmp
	 project: ucd-snmp-coders@ucd-snmp.ucdavis.edu

         Primary Author: Wes Hardaker

         postal:    IT-DCAS
                    UCDavis
                    Davis CA  95616
         phone:     +1 530 754-7571
         email:     wjhardaker@ucdavis.edu"
    DESCRIPTION
	"This file defines the MIB objects for dynamic 
	 loadable MIB modules."
    REVISION	 "9912100000Z"
    DESCRIPTION
	"SMIv2 version converted from older MIB definitions."
    ::= { ucdExperimental 14 }

dlmodNextIndex OBJECT-TYPE 
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"The index number of next appropiate unassigned entry
	 in the dlmodTable."
    ::= { ucdDlmodMIB 1 }

dlmodTable OBJECT-TYPE 
    SYNTAX	SEQUENCE OF DlmodEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
	"A table of dlmodEntry."
    ::= { ucdDlmodMIB 2 }

dlmodEntry OBJECT-TYPE
    SYNTAX	DlmodEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
	"The parameters of dynamically loaded MIB module."
    INDEX	{ dlmodIndex }
    ::= { dlmodTable 1 }

DlmodEntry ::= SEQUENCE {
    dlmodIndex	Integer32,
    dlmodName	DisplayString,
    dlmodPath	DisplayString,
    dlmodError	DisplayString,
    dlmodStatus	INTEGER
}

dlmodIndex OBJECT-TYPE
    SYNTAX	Integer32 (1..65535)
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
	"An index that uniqely identifies an entry in the dlmodTable."
    ::= { dlmodEntry 1 }

dlmodName OBJECT-TYPE
    SYNTAX	DisplayString
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"The module name."
    ::= { dlmodEntry 2 }

dlmodPath OBJECT-TYPE
    SYNTAX	DisplayString
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"The path of the module executable file."
    ::= { dlmodEntry 3 } 

dlmodError OBJECT-TYPE
    SYNTAX	DisplayString
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"The last error from dlmod_load_module."
    ::= { dlmodEntry 4 }

dlmodStatus OBJECT-TYPE
    SYNTAX	INTEGER {
		    loaded(1),
		    unloaded(2),
		    error(3),
		    load(4),
		    unload(5),
		    create(6),
		    delete(7)
		}
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
	"The current status of the loaded module."
    ::= { dlmodEntry 5 }

END
