UCD-SNMP-MIB DEFINITIONS ::= BEGIN

--
--  UCD-SNMP-MIB:
--    A private enterprise mib (enterprise #2021)
--

-- Design notes:
--
-- The design of this mib may seem unusual in parts, as it was
-- designed for ease of numerical management routines.
-- 
-- In that light, most sub-sections of this mib have four common
-- numerical oid consistencies:
--
-- 2021.ID.1     : an integer index value.  In scalers, this is always
--                 of value 1.  In tables it is a row index.
-- 2021.ID.2     : a name of the script, process, etc. that this row represents.
-- 2021.ID.100   : An error flag indicating if an error is present on
--                 that row (a threshold value was crossed, etc).
-- 2021.ID.101   : An error string describing why the error flag is non-0.
--
-- These conventions enable managers to easy examine portions of the
-- mib by setting the ID to the sub-section they are interested in
-- monitoring, and then scanning the .100 value to check for an
-- error(s), and get a more specific error message from .101 for the
-- named check found in .2.
--
-- Row numbers between 2 and 100 are sub-section specific.
--
-- Mib sections utilizing the above conventions:
--   Tables:  	procTable, execTable, diskTable, loadTable
--   Scalers: 	memory, snmperrs


IMPORTS
        enterprises
	    FROM RFC1155-SMI
        OBJECT-TYPE
	    FROM RFC-1212
	DisplayString
	    FROM RFC1213-MIB
	TruthValue
	    FROM SNMPv2-TC
	TRAP-TYPE
	    FROM RFC-1215;

-- numerical definitions:
ucdavis           OBJECT IDENTIFIER ::= { enterprises 2021 }
ucdInternal       OBJECT IDENTIFIER ::= { ucdavis 12 }
ucdExperimental   OBJECT IDENTIFIER ::= { ucdavis 13 }

-- Local tables:
--   procTable      OBJECT IDENTIFIER ::= { ucdavis 2 }
--   memory         OBJECT IDENTIFIER ::= { ucdavis 4 }
--   extTable       OBJECT IDENTIFIER ::= { ucdavis 8 }
--   diskTable      OBJECT IDENTIFIER ::= { ucdavis 9 }
--   loadTable      OBJECT IDENTIFIER ::= { ucdavis 10 }
--   systemStats    OBJECT IDENTIFIER ::= { ucdavis 11 }
--   ipFwAcc        OBJECT IDENTIFIER ::= { ucdExperimental 1 } 
--                  (defined in IPFWACC-MIB.txt)
--   ucdDemoMIB     OBJECT IDENTIFIER ::= { ucdavis 14 }
--   fileTable      OBJECT IDENTIFIER ::= { ucdavis 15 }
--   version        OBJECT IDENTIFIER ::= { ucdavis 100 }
--   snmperrs       OBJECT IDENTIFIER ::= { ucdavis 101 }
--   mibRegistryTable    OBJECT IDENTIFIER ::= { ucdavis 102 }

-- Older mib table entries that were changed to new locations above:
--   processes      OBJECT IDENTIFIER ::= { ucdavis 1 }
--   exec           OBJECT IDENTIFIER ::= { ucdavis 3 }
--   disk           OBJECT IDENTIFIER ::= { ucdavis 6 }
--   load           OBJECT IDENTIFIER ::= { ucdavis 7 }

-- Never implemented and removed from the mib:
--   lockd          OBJECT IDENTIFIER ::= { ucdavis 5 }

-- Reserved
--   ucdInternal      OBJECT IDENTIFIER ::= { ucdavis 12 }
--   ucdExperimental  OBJECT IDENTIFIER ::= { ucdavis 13 }


-- These are the returned values of the agent type.
-- returned to:  .iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0 

ucdSnmpAgent      OBJECT IDENTIFIER ::= { ucdavis 250 }
hpux9             OBJECT IDENTIFIER ::= { ucdSnmpAgent 1 }
hpux10            OBJECT IDENTIFIER ::= { ucdSnmpAgent 6 }
sunos4            OBJECT IDENTIFIER ::= { ucdSnmpAgent 2 }
solaris           OBJECT IDENTIFIER ::= { ucdSnmpAgent 3 }
osf               OBJECT IDENTIFIER ::= { ucdSnmpAgent 4 }
ultrix            OBJECT IDENTIFIER ::= { ucdSnmpAgent 5 }
netbsd1           OBJECT IDENTIFIER ::= { ucdSnmpAgent 7 }
freebsd           OBJECT IDENTIFIER ::= { ucdSnmpAgent 8 }
irix              OBJECT IDENTIFIER ::= { ucdSnmpAgent 9 }
linux             OBJECT IDENTIFIER ::= { ucdSnmpAgent 10 }
bsdi              OBJECT IDENTIFIER ::= { ucdSnmpAgent 11 }
openbsd           OBJECT IDENTIFIER ::= { ucdSnmpAgent 12 }
unknown           OBJECT IDENTIFIER ::= { ucdSnmpAgent 255 }

--
-- Define the Float Textual Convention
--   This definition was written by David Perkins.
--
Float ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "A single precision floating-point number.  The semantics
        and encoding are identical for type 'single' defined in
        IEEE Standard for Binary Floating-Point,
        ANSI/IEEE Std 754-1985.
        The value is restricted to the BER serialization of
        the following ASN.1 type:
            FLOATTYPE ::= [120] IMPLICIT FloatType
        (note: the value 120 is the sum of '30'h and '48'h)
        The BER serialization of the length for values of
        this type must use the definite length, short
        encoding form.

        For example, the BER serialization of value 123
        of type FLOATTYPE is '9f780442f60000'h.  (The tag
        is '9f78'h; the length is '04'h; and the value is
        '42f60000'h.) The BER serialization of value
        '9f780442f60000'h of data type Opaque is
        '44079f780442f60000'h. (The tag is '44'h; the length
        is '07'h; and the value is '9f780442f60000'h."
            SYNTAX      Opaque (SIZE(7))

--
-- Process table checks
--

PrIndex ::= INTEGER (0..6535)

procTable OBJECT-TYPE
	SYNTAX SEQUENCE OF PrEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A table containing information on running
		programs/daemons configured for monitoring in the
		snmpd.conf file of the agent.  Processes violating the
		number of running processes required by the agent's
		configuration file are flagged with numerical and
		textual errors."
	::= { ucdavis 2 }

prEntry OBJECT-TYPE
    SYNTAX PrEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry containing a process and its statistics."
    INDEX      { prIndex }
    ::= { procTable  1 }


PrEntry ::= SEQUENCE {
   prIndex  	 PrIndex,
   prNames  	 DisplayString,
   prMin    	 INTEGER,
   prMax    	 INTEGER,
   prCount  	 INTEGER,
   prErrorFlag   INTEGER,
   prErrMessage  DisplayString,
   prErrFix      INTEGER
}

prIndex OBJECT-TYPE
	SYNTAX PrIndex
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Reference Index for each observed process."
	::= { prEntry 1 }

prNames OBJECT-TYPE
	SYNTAX DisplayString  (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The process name we're counting/checking on."
	::= { prEntry 2 }

prMin OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The minimum number of processes that should be
		running.  An error flag is generated if the number of
		running processes is < the minimum."
	::= { prEntry 3 }

prMax OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The maximum number of processes that should be
		running.  An error flag is generated if the number of
		running processes is > the maximum."
	::= { prEntry 4 }

prCount OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of current processes running with the name
		in question."
	::= { prEntry 5 }

prErrorFlag OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A Error flag to indicate trouble with a process.  It
		goes to 1 if there is an error, 0 if no error."
	::= { prEntry 100 }

prErrMessage OBJECT-TYPE
	SYNTAX DisplayString  (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"An error message describing the problem (if one exists)."
	::= { prEntry 101 }

prErrFix OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Setting this to one will try to fix the problem if
		the agent has been configured with a script to call
		to attempt to fix problems automatically using remote
		snmp operations."
	::= { prEntry 102 }

prErrFixCmd OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The command that gets run when the prErrFix column is 
		set to 1."
	::= { prEntry 103 }

ExtIndex ::= INTEGER (0..6535)

extTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A table of extensible commands returning output and
		 result codes.  These commands are configured via the
		 agent's snmpd.conf file."
	::= { ucdavis 8 }

extEntry OBJECT-TYPE
    SYNTAX     ExtEntry
    ACCESS not-accessible
    STATUS     mandatory
    DESCRIPTION
        "An entry containing an extensible script/program and its output."
    INDEX      { extIndex }
    ::= { extTable  1 }

ExtEntry ::= SEQUENCE {
   extIndex   ExtIndex,
   extNames   DisplayString,
   extCommand DisplayString,
   extResult  INTEGER,
   extOutput  DisplayString,
   extErrFix  INTEGER
}

extIndex OBJECT-TYPE
	SYNTAX ExtIndex
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Reference Index for extensible scripts.  Simply an
		integer row number."
	::= { extEntry 1 }

extNames OBJECT-TYPE
	SYNTAX DisplayString  (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A Short, one name description of the extensible command."
	::= { extEntry 2 }

extCommand OBJECT-TYPE
	SYNTAX DisplayString  (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The command line to be executed."
	::= { extEntry 3 }

extResult OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The result code (exit status) from the executed command."
	::= { extEntry 100 }

extOutput OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The first line of output of the executed command."
	::= { extEntry 101 }

extErrFix OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Setting this to one will try to fix the problem if
		the agent has been configured with a script to call
		to attempt to fix problems automatically using remote
		snmp operations."
	::= { extEntry 102 }
	
extErrFixCmd OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The command that gets run when the extErrFix column is 
		set to 1."
	::= { extEntry 103 }

--
-- Memory usage/watch reporting.
--   Not supported on all systems!
--   See agent/mibgroup/ucd_snmp.h to see if its loaded for your architecture.
--
memory OBJECT IDENTIFIER ::= { ucdavis 4 }

memIndex OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "Bogus Index.  This should always return the integer 0."
     ::= { memory 1 } 

memErrorName OBJECT-TYPE
     SYNTAX  DisplayString
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "Bogus Name. This should always return the string 'swap'."
     ::= { memory 2 } 

memTotalSwap OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Total Swap Size configured for the host."
	::= { memory 3 }

memAvailSwap OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Available Swap Space on the host."
	::= { memory 4 }

memTotalReal OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Total Real/Physical Memory Size on the host."
	::= { memory 5 }

memAvailReal OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Available Real/Physical Memory Space on the host."
	::= { memory 6 }

memTotalSwapTXT OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Total virtual memory used by text."
	::= { memory 7 }

memAvailSwapTXT OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Active virtual memory used by text."
	::= { memory 8 }

memTotalRealTXT OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Total Real/Physical Memory Size used by text."
	::= { memory 9 }

memAvailRealTXT OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Active Real/Physical Memory Space used by text."
	::= { memory 10 }

memTotalFree OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Total Available Memory on the host"
	::= { memory 11 }

memMinimumSwap OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Minimum amount of free swap required to be free
		or else memErrorSwap is set to 1 and an error string is
		returned memSwapErrorMsg."
	::= { memory 12 }

memShared OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Total Shared Memory"
	::= { memory 13 }

memBuffer OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Total Buffered Memory"
	::= { memory 14 }

memCached OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Total Cached Memory"
	::= { memory 15 }

memSwapError OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Error flag.  1 indicates very little swap space left"
	::= { memory 100 }
	
memSwapErrorMsg OBJECT-TYPE
     SYNTAX  DisplayString
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "Error message describing the Error Flag condition"
     ::= { memory 101 } 

DiskIndex ::= INTEGER (0..6535)

diskTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF DskEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"Disk watching information.  Partions to be watched
		are configured by the snmpd.conf file of the agent."
	::= { ucdavis 9 }

dskEntry OBJECT-TYPE
    SYNTAX     DskEntry
    ACCESS not-accessible
    STATUS     mandatory
    DESCRIPTION
        "An entry containing a disk and its statistics."
    INDEX      { dskIndex }
    ::= { diskTable  1 }

DskEntry ::= SEQUENCE {
   dskIndex   DiskIndex,
   dskPath  DisplayString,
   dskDevice  DisplayString,
   dskMinimum  INTEGER,
   dskMinPercent  INTEGER,
   dskTotal  INTEGER,
   dskAvail  INTEGER,
   dskUsed  INTEGER,
   dskPercent  INTEGER,
   dskErrorFlag  INTEGER,
   dskErrorMsg  DisplayString
}

dskIndex OBJECT-TYPE
	SYNTAX DiskIndex
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Integer reference number (row number) for the disk mib."
	::= { dskEntry 1 }
	
dskPath OBJECT-TYPE
     SYNTAX  DisplayString
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "Path where the disk is mounted."
     ::= { dskEntry 2 } 

dskDevice OBJECT-TYPE
     SYNTAX  DisplayString
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "Path of the device for the partition"
     ::= { dskEntry 3 } 

dskMinimum OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "Minimum space required on the disk (in kBytes) before the
          errors are triggered.  Either this or dskMinPercent is
          configured via the agent's snmpd.conf file."
     ::= { dskEntry 4 } 

dskMinPercent OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "Percentage of minimum space required on the disk before the
          errors are triggered.  Either this or dskMinimum is
          configured via the agent's snmpd.conf file."
     ::= { dskEntry 5 } 

dskTotal OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "Total size of the disk/partion (kbytes)"
     ::= { dskEntry 6 } 

dskAvail OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "Available space on the disk"
     ::= { dskEntry 7 } 

dskUsed OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "Used space on the disk"
     ::= { dskEntry 8 } 

dskPercent OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "Percentage of space used on disk"
     ::= { dskEntry 9 } 

dskErrorFlag OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "Error flag signaling that the disk or partition is under
          the minimum required space configured for it."
     ::= { dskEntry 100 } 
     
dskErrorMsg OBJECT-TYPE
     SYNTAX  DisplayString
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "A text description providing a warning and the space left
          on the disk."
     ::= { dskEntry 101 } 
     
LoadIndex ::= INTEGER (0..3)

loadTable OBJECT-TYPE
	SYNTAX SEQUENCE OF LaEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"Load average information."
	::= { ucdavis 10 }

laEntry OBJECT-TYPE
    SYNTAX     LaEntry
    ACCESS not-accessible
    STATUS     mandatory
    DESCRIPTION
        "An entry containing a load average and its values."
    INDEX      { laIndex }
    ::= { loadTable  1 }

LaEntry ::= SEQUENCE {
   laIndex  LoadIndex,
   laNames  DisplayString,
   laLoad   DisplayString,
   laConfig DisplayString,
   laErrorFlag  INTEGER,
   laErrMessage  DisplayString
}

laIndex OBJECT-TYPE
	SYNTAX LoadIndex
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"reference index/row number for each observed loadave."
	::= { laEntry 1 }

laNames OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The list of loadave names we're watching."
	::= { laEntry 2 }

laLoad OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The 1,5 and 10 minute load averages (one per row)."
	::= { laEntry 3 }

laConfig OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The watch point for load-averages to signal an
		error.  If the load averages rises above this value,
		the laErrorFlag below is set."
	::= { laEntry 4 }

laLoadInt OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The 1,5 and 10 minute load averages as an integer.
		This is computed by taking the floating point
		loadaverage value and multiplying by 100, then
		converting the value to an integer."
	::= { laEntry 5 }

laLoadFloat OBJECT-TYPE
	SYNTAX Float
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The 1,5 and 10 minute load averages as an opaquely
		wrapped floating point number."
	::= { laEntry 6 }

laErrorFlag OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A Error flag to indicate the load-average has crossed
		its threshold value defined in the snmpd.conf file.
		It is set to 1 if the threshold is crossed, 0 otherwise."
	::= { laEntry 100 }

laErrMessage OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"An error message describing the load-average and its
		surpased watch-point value."
	::= { laEntry 101 }

version	OBJECT IDENTIFIER ::= { ucdavis 100 }

versionIndex OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "Index to mib (always 0)"
     ::= { version 1 } 

versionTag OBJECT-TYPE
     SYNTAX  DisplayString
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "CVS tag keyword"
     ::= { version 2 } 
     
versionDate OBJECT-TYPE
     SYNTAX  DisplayString
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "Date string from RCS keyword"
     ::= { version 3 } 

versionCDate OBJECT-TYPE
     SYNTAX  DisplayString
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "Date string from ctime() "
     ::= { version 4 } 

versionIdent OBJECT-TYPE
     SYNTAX  DisplayString
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "Id string from RCS keyword"
     ::= { version 5 } 

versionConfigureOptions OBJECT-TYPE
     SYNTAX  DisplayString
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION  
          "Options passed to the configure script when this agent was built."
     ::= { version 6 } 

versionClearCache OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-write
     STATUS  mandatory
     DESCRIPTION  
          "Set to 1 to clear the exec cache, if enabled"
     ::= { version 10 } 

versionUpdateConfig OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-write
     STATUS  mandatory
     DESCRIPTION  
          "Set to 1 to read-read the config file(s)."
     ::= { version 11 } 

versionRestartAgent OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-write
     STATUS  mandatory
     DESCRIPTION  
          "Set to 1 to restart the agent."
     ::= { version 12 } 

versionDoDebugging OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-write
     STATUS  mandatory
     DESCRIPTION  
          "Set to 1 to turn debugging statements on in the agent or 0
          to turn it off."
     ::= { version 20 } 

snmperrs OBJECT IDENTIFIER ::= { ucdavis 101 }


snmperrIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Bogus Index for snmperrs (always 0)."
	::= { snmperrs 1 }

snmperrNames OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"snmp"
	::= { snmperrs 2 }

snmperrErrorFlag OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A Error flag to indicate trouble with the agent.  It
		goes to 1 if there is an error, 0 if no error."
	::= { snmperrs 100 }

snmperrErrMessage OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"An error message describing the problem (if one exists)."
	::= { snmperrs 101 }

MrIndex ::= OBJECT IDENTIFIER

mibRegistryTable OBJECT-TYPE
    SYNTAX SEQUENCE OF MrEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A table displaying all the oid's registered by mib modules in
        the agent.  Since the agent is modular in nature, this lists
        each module's OID it is responsible for and the name of the module"
    ::= { ucdavis  102 }

mrEntry OBJECT-TYPE
    SYNTAX     MrEntry
    ACCESS not-accessible
    STATUS     mandatory
    DESCRIPTION
        "An entry containing a registered mib oid."
    INDEX      { mrIndex }
    ::= { mibRegistryTable  1 }

MrEntry ::=
    SEQUENCE {
        mrIndex
            MrIndex,
	mrModuleName
            DisplayString
    }	    

mrIndex OBJECT-TYPE
    SYNTAX     MrIndex
    ACCESS read-only
    STATUS     mandatory
    DESCRIPTION
	"The registry slot of a mibmodule."
    ::= { mrEntry  1 }

mrModuleName OBJECT-TYPE
    SYNTAX     DisplayString
    ACCESS read-only
    STATUS     mandatory
    DESCRIPTION
	"The module name that registered this OID."
    ::= { mrEntry  2 }

systemStats OBJECT IDENTIFIER ::= { ucdavis 11 }

ssIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Reference Index for each observed systemStat (1)."
	::= { systemStats 1 }

ssErrorName OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The list of systemStats names (vmstat) we're Counting."
	::= { systemStats 2 }

ssSwapIn OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Amount of memory swapped in from disk (kB/s)."
	::= { systemStats 3 }

ssSwapOut OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Amount of memory swapped to disk (kB/s)."
	::= { systemStats 4 }

ssIOSent OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Blocks sent to a block device (blocks/s)."
	::= { systemStats 5 }

ssIOReceive OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Blocks received from a block device (blocks/s)."
	::= { systemStats 6 }

ssSysInterrupts OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of interrupts per second, including the clock."
	::= { systemStats 7 }

ssSysContext OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of context switches per second."
	::= { systemStats 8 }

ssCpuUser OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"percentages of user CPU time."
	::= { systemStats 9 }

ssCpuSystem OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"percentages of system CPU time."
	::= { systemStats 10 }

ssCpuIdle OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"percentages of idle CPU time."
	::= { systemStats 11 }

-- possibly used in the future:
--
-- ssErrorFlag OBJECT-TYPE
--         SYNTAX INTEGER
--         ACCESS read-only
--         STATUS mandatory
--         DESCRIPTION
--                 "Error flag."
--         ::= { systemStats 100 }
-- 
-- ssErrMessage OBJECT-TYPE
--      SYNTAX  DisplayString
--      ACCESS  read-only
--      STATUS  mandatory
--      DESCRIPTION  
--           "Error message describing the errorflag condition"
--      ::= { systemStats 101 } 

ucdTraps OBJECT IDENTIFIER ::= { ucdavis 251 }

ucdStart TRAP-TYPE
	ENTERPRISE ucdTraps
	::= 1

ucdShutdown TRAP-TYPE
	ENTERPRISE ucdTraps
	DESCRIPTION "This trap is sent when the agent terminates"
	::= 2


--
-- File Table:  monitor a list of files to check for a maximum size.
-- 

fileTable	OBJECT-TYPE
		SYNTAX		SEQUENCE OF FileEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"Table of monitored files"
		INDEX		{ fileIndex }
	::= { ucdavis 15 }

fileEntry	OBJECT-TYPE
		SYNTAX		FileEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"Entry of file"
	::= { fileTable 1 }

FileEntry ::=	SEQUENCE
		{
		fileIndex	INTEGER,
		fileName	DisplayString,
		fileSize	INTEGER,
		fileMax		INTEGER,
		fileError	TruthValue,
		fileErrorMsg	DisplayString
		}

fileIndex	OBJECT-TYPE
		SYNTAX		INTEGER
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION	"Index of file"
	::= { fileEntry 1 }

fileName	OBJECT-TYPE
		SYNTAX		DisplayString
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION	"Filename"
	::= { fileEntry 2 }

fileSize	OBJECT-TYPE
		SYNTAX		INTEGER
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION	"Size of file (kb)"
	::= { fileEntry 3 }

fileMax	OBJECT-TYPE
		SYNTAX		INTEGER
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION	"Limit of filesize (kb)"
	::= { fileEntry 4 }

fileErrorFlag	OBJECT-TYPE
		SYNTAX		INTEGER
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION	"Limit exceeded flag"
	::= { fileEntry 100 }

fileErrorMsg	OBJECT-TYPE
		SYNTAX		DisplayString
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION	"Filesize error message"
	::= { fileEntry 101 }

END
