Host Resources MIB V2

                            March 10, 1998

                    draft-krupczak-hostmibv2-00-txt

                            Bobby Krupczak
                      Empire Technologies, Inc.
                          rdk@empiretech.com

                      Expires 15 September, 1998

Status of this Memo

   This document is an Internet-Draft.  Internet-Drafts are working
   documents of the Internet Engineering Task Force (IETF), its areas,
   and its working groups.  Note that other groups may also distribute
   working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet- Drafts as reference
   material or to cite them other than as ``work in progress.''

   To learn the current status of any Internet-Draft, please check the
   ``1id-abstracts.txt'' listing contained in the Internet- Drafts
   Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
   munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
   ftp.isi.edu (US West Coast).

Copyright Notice

   Copyright (C) The Internet Society (1998).  All Rights Reserved.

Abstract

   This memo modifies the original Host Resources MIB (RFC 1514) by
   converting it to the SNMPv2 SMI.  Further, this memo adds
   clarifying text, based on implementation and deployment experience,
   to ambiguous MIB object specifications.  It does not add nor remove
   managed objects from the original specification nor change their
   fundamental semantics.

   The original memo defines a MIB for use with managing host systems.
   This memo does not modify the original RFC's definitions or
   assumptions.  Included from the original RFC [1]:



Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 2


       The term "host" is construed to mean any computer that
       communicates with other similar computers attached to the
       internet and that is directly used by one or more human
       beings. Although this MIB does not necessarily apply to devices
       whose primary function is communications services (e.g.,
       terminal servers, routers, bridges, monitoring equipment), such
       relevance is not explicitly precluded.  This MIB instruments
       attributes common to all internet hosts including, for example,
       both personal computers and systems that run variants of Unix.

1.  Overview

   The Host Resources MIB defines a uniform set of objects useful for
   the management of host computers.  Host computers  are independent of
   the operating system, network services, or any software application.

   The Host Resources MIB defines objects which are common across many
   computer system architectures.

   In addition, there are objects in MIB-II [3] which also provide host
   management functionality. Implementation of the System and Interfaces
   groups is mandatory for implementors of the Host Resources MIB.

2.  Modifications to the original Host Resources MIB (RFC 1514)

    This memo does not alter the original Host Resources MIB (RFC
    1514) by adding or removing MIB objects.  Rather, it converts the
    original MIB specification to the SMIv2 [5] and adds clarifying
    text to several MIB objects based on implementation experience and
    feedback from real users of the MIB.

    Additional storage, filesystem, and device types are clearly
    warranted but should be specified in a separate document rather
    than in this MIB specification itself.  The original storage,
    filesystem, and device types are preserved here in this memo for
    compatibility's sake.

2.1 Conversion to SMIv2

    The conversion from SMIv1 to SMIv2 occurred using the algorithm
    provided in [2] as a rough guideline.  More specifically, the
    following actions were taken:

      + Addition of MODULE-IDENTIFY clause from SMIv2 RFC 1902.

      + All objects specifications were converted to use the SMIv2
        OBJECT-TYPE macro defined in RFC 1902.



Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 3


      + Type changes
        - Counter to Counter32
        - Gauge to Gauge32
        - INTEGER to Integer32 where appropriate

      + hrPrinterDetectedErrorState syntax changed to BITS to better
        document its syntax and semantics.  Further, at the request of
        the printer-working group (PWG), additional bit definitions
        have been added.  These changes are backwards compatible with
        the original RFC 1514 specification.

      + Compliance branch and statements have been added as per the
        MODULE-COMPLIANCE macro from RFC 1904 [6].  This macro formalizes
        the notion of mandatory and optional MIB groupings which have
        previously been specified in natural language text
        accompanying a MIB document.  The branch hrConformance has
        been added as branch 7 under the main MIB branch.

2.2 Managed Object Clarifications

   The specification for hrNetworkIfIndex states that the value of a
   network device's ifIndex value be returned.  However, not all network
   devices contained in a host system may have a corresponding ifIndex
   value.  In this case, the value of 0 should be returned for
   hrNetworkIfIndex.

   The definition of the hrSWInstalledTable and accompanying MIB
   objects is somewhat ambiguous when it comes to discerning between
   applications and software packages installed on the underlying
   system.  Further, implementation and deployment experience have led
   the author to acknowledge the usefulness of information pertaining
   to installed packages, the definition of the hrSWInstalledTable
   should be expanded to include software packages installed on the
   underlying system.  Included in this expanded definition of
   "software" are system and application patches.  This expansion of
   the definition of installed software is consistent with many users
   and with the original MIB's interpretation in [4] which was
   reviewed by one of the editors of the original specification.

3.  Definitions

HOST-RESOURCES-V2-MIB DEFINITIONS ::= BEGIN

   IMPORTS
        Counter32, Gauge32, Integer32, TimeTicks, mib-2, OBJECT-TYPE,
        MODULE-IDENTITY, BITS
                FROM SNMPv2-SMI
        MODULE-COMPLIANCE, OBJECT-GROUP


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 4


                FROM SNMPv2-CONF
        DisplayString
                FROM SNMPv2-TC;

   hostResourcesMibModule MODULE-IDENTITY
        LAST-UPDATED "9803071600Z"
        ORGANIZATION "IETF Host Resources MIB Working Group"
        CONTACT-INFO
           "Bobby Krupczak
            Postal: Empire Technologies, Inc.
            541 Tenth St, NW
            Suite 169
            Atlanta, GA 30318-5713
            USA
            Phone: 770.384.0184
            Fax: 770.384.0183
            Email: rdk@empiretech.com"
        DESCRIPTION
           "The Host Resourcers MIB defines a uniform set of
            objects useful for the management of host computers.  Host
            computers are independent of the operating system, network
            services, or any software application.

            The Host Resources MIB defines objects which are common
            across many computer system architectures.

            In addition, there are objects in MIB-II which also
            provide host management functionality.  Implementation of
            the System and Interface groups is mandatory for
            implementors of the Host Resources MIB."
        REVISION "9803071600Z"
        DESCRIPTION
            "$Id: hostmib-v2.asn1,v 1.1 1998/03/08 03:12:48 rdk Exp $
             $Log: hostmib-v2.asn1,v $
             # Revision 1.1  1998/03/08  03:12:48  rdk
             # Initial revision
             #"
   ::= { mib-2 25 }

   -- for SMIv1 compatibility
   host     OBJECT IDENTIFIER ::= { mib-2 25 }

   hrSystem        OBJECT IDENTIFIER ::= { host 1 }
   hrStorage       OBJECT IDENTIFIER ::= { host 2 }
   hrDevice        OBJECT IDENTIFIER ::= { host 3 }
   hrSWRun         OBJECT IDENTIFIER ::= { host 4 }
   hrSWRunPerf     OBJECT IDENTIFIER ::= { host 5 }
   hrSWInstalled   OBJECT IDENTIFIER ::= { host 6 }


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 5


   hrConformance   OBJECT IDENTIFIER ::= { host 7 }

   -- textual conventions (SNMPv1 style)

   -- a truth value
   Boolean ::=   INTEGER { true(1), false(2) }

   -- memory size, expressed in units of 1024bytes
   KBytes ::=    Integer32 (0..2147483647)

   -- This textual convention is intended to identify the manufacturer,
   -- model, and version of a specific hardware or software product.
   -- It is suggested that these OBJECT IDENTIFIERs are allocated such
   -- that all products from a particular manufacturer are registered
   -- under a subtree distinct to that manufacturer.  In addition, all
   -- versions of a product should be registered under a subtree
   -- distinct to that product.  With this strategy, a management
   -- station may uniquely determine the manufacturer and/or model of a
   -- product whose productID is unknown to the management station.
   -- Objects of this type may be useful for inventory purposes or for
   -- automatically detecting incompatibilities or version mismatches
   -- between various hardware and software components on a system.

   ProductID ::= OBJECT IDENTIFIER

   -- unknownProduct will be used for any unknown ProductID
   -- unknownProduct OBJECT IDENTIFIER ::= { 0 0 }

   -- For example, the product ID for the ACME 4860 66MHz clock doubled
   -- processor might be:
   -- enterprises.acme.acmeProcessors.a4860DX2.MHz66
   -- A software product might be registered as:
   -- enterprises.acme.acmeOperatingSystems.acmeDOS.six(6).one(1)

   -- DateAndTime ::= OCTET STRING (SIZE (8))

   DateAndTime ::= OCTET STRING (SIZE (8 | 11))

   --        A date-time specification for the local time of day.
   --        This data type is intended to provide a consistent
   --        method of reporting date information.
   --
   --            field  octets  contents                  range
   --            _____  ______  ________                  _____
   --              1      1-2   year                      0..65536
   --                           (in network byte order)
   --              2       3    month                     1..12
   --              3       4    day                       1..31


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 6


   --              4       5    hour                      0..23
   --              5       6    minutes                   0..59
   --              6       7    seconds                   0..60
   --                           (use 60 for leap-second)
   --              7       8    deci-seconds              0..9
   --              8       9    direction from UTC        "+" / "-"
   --                           (in ascii notation)
   --              9      10    hours from UTC            0..11
   --             10      11    minutes from UTC          0..59
   --
   --            Note that if only local time is known, then
   --            timezone information (fields 8-10) is not present.

   InternationalDisplayString ::= OCTET STRING

   --  This data type is used to model textual information.
   --  Management software MUST be able to display this field
   --  as if its content was UTF-8, in accordance with RFC 2077.
   --  For compliance with older management software, a local
   --  algorithm, such as preconfiguration, may be used to determine
   --  which character set is in use and how it should be displayed.

   -- The Host Resources System Group
   --
   -- Implementation of this group is mandatory for all host systems.

   hrSystemUptime OBJECT-TYPE
       SYNTAX TimeTicks
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The amount of time since this host was last
              initialized.  Note that this is different from
              sysUpTime in MIB-II [3] because sysUpTime is the
              uptime of the network management portion of the
              system."
       ::= { hrSystem 1 }

   hrSystemDate OBJECT-TYPE
       SYNTAX DateAndTime
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
              "The host's notion of the local date and time of
              day."
       ::= { hrSystem 2 }

   hrSystemInitialLoadDevice OBJECT-TYPE


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 7


       SYNTAX Integer32 (1..2147483647)
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
              "The index of the hrDeviceEntry for the device from
              which this host is configured to load its initial
              operating system configuration."
       ::= { hrSystem 3 }

   hrSystemInitialLoadParameters OBJECT-TYPE
       SYNTAX InternationalDisplayString (SIZE (0..128))
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
              "This object contains the parameters (e.g. a
              pathname and parameter) supplied to the load device
              when requesting the initial operating system
              configuration from that device."
       ::= { hrSystem 4 }


   hrSystemNumUsers OBJECT-TYPE
       SYNTAX Gauge32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The number of user sessions for which this host is
              storing state information.  A session is a
              collection of processes requiring a single act of
              user authentication and possibly subject to
              collective job control."
       ::= { hrSystem 5 }

   hrSystemProcesses OBJECT-TYPE
       SYNTAX Gauge32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The number of process contexts currently loaded or
              running on this system."
       ::= { hrSystem 6 }

   hrSystemMaxProcesses OBJECT-TYPE
       SYNTAX Integer32 (0..2147483647)
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The maximum number of process contexts this system


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 8


              can support.  If there is no fixed maximum, the
              value should be zero.  On systems that have a fixed
              maximum, this object can help diagnose failures
              that occur when this maximum is reached."
       ::= { hrSystem 7 }

   -- The Host Resources Storage Group
   --
   -- Implementation of this group is mandatory for all host systems.

   -- Registration for some storage types, for use with hrStorageType
   hrStorageTypes          OBJECT IDENTIFIER ::= { hrStorage 1 }
   hrStorageOther          OBJECT IDENTIFIER ::= { hrStorageTypes 1 }
   hrStorageRam            OBJECT IDENTIFIER ::= { hrStorageTypes 2 }
   -- hrStorageVirtualMemory is temporary storage of swapped
   -- or paged memory
   hrStorageVirtualMemory  OBJECT IDENTIFIER ::= { hrStorageTypes 3 }
   hrStorageFixedDisk      OBJECT IDENTIFIER ::= { hrStorageTypes 4 }
   hrStorageRemovableDisk  OBJECT IDENTIFIER ::= { hrStorageTypes 5 }
   hrStorageFloppyDisk     OBJECT IDENTIFIER ::= { hrStorageTypes 6 }
   hrStorageCompactDisc    OBJECT IDENTIFIER ::= { hrStorageTypes 7 }
   hrStorageRamDisk        OBJECT IDENTIFIER ::= { hrStorageTypes 8 }

   hrMemorySize OBJECT-TYPE
       SYNTAX KBytes
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The amount of physical main memory contained by
              the host."
       ::= { hrStorage 2 }

   hrStorageTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HrStorageEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
              "The (conceptual) table of logical storage areas on
              the host.

              An entry shall be placed in the storage table for
              each logical area of storage that is allocated and
              has fixed resource limits.  The amount of storage
              represented in an entity is the amount actually
              usable by the requesting entity, and excludes loss
              due to formatting or file system reference
              information.



Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 9


              These entries are associated with logical storage
              areas, as might be seen by an application, rather
              than physical storage entities which are typically
              seen by an operating system.  Storage such as tapes
              and floppies without file systems on them are
              typically not allocated in chunks by the operating
              system to requesting applications, and therefore
              shouldn't appear in this table.  Examples of valid
              storage for this table include disk partitions,
              file systems, ram (for some architectures this is
              further segmented into regular memory, extended
              memory, and so on), backing store for virtual
              memory (`swap space').

              This table is intended to be a useful diagnostic
              for `out of memory' and `out of buffers' types of
              failures.  In addition, it can be a useful
              performance monitoring tool for tracking memory,
              disk, or buffer usage."
       ::= { hrStorage 3 }

   hrStorageEntry OBJECT-TYPE
       SYNTAX HrStorageEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
              "A (conceptual) entry for one logical storage area
              on the host.  As an example, an instance of the
              hrStorageType object might be named
              hrStorageType.3"
       INDEX { hrStorageIndex }
       ::= { hrStorageTable 1 }

   HrStorageEntry ::= SEQUENCE {
           hrStorageIndex               Integer32,
           hrStorageType                OBJECT IDENTIFIER,
           hrStorageDescr               DisplayString,
           hrStorageAllocationUnits     Integer32,
           hrStorageSize                Integer32,
           hrStorageUsed                Integer32,
           hrStorageAllocationFailures  Counter32
       }

   hrStorageIndex OBJECT-TYPE
       SYNTAX Integer32 (1..2147483647)
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 10


              "A unique value for each logical storage area
              contained by the host."
       ::= { hrStorageEntry 1 }

   hrStorageType OBJECT-TYPE
       SYNTAX OBJECT IDENTIFIER
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The type of storage represented by this entry."
       ::= { hrStorageEntry 2 }

   hrStorageDescr OBJECT-TYPE
       SYNTAX DisplayString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "A description of the type and instance of the
              storage described by this entry."


       ::= { hrStorageEntry 3 }

   hrStorageAllocationUnits OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS      read-only
       STATUS      current
       DESCRIPTION
               "The size, in bytes, of the data objects allocated
               from this pool.  If this entry is monitoring
               sectors, blocks, buffers, or packets, for example,
               this number will commonly be greater than one.
               Otherwise this number will typically be one."
       ::= { hrStorageEntry 4 }

   hrStorageSize OBJECT-TYPE
       SYNTAX Integer32 (0..2147483647)
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
              "The size of the storage represented by this entry,
              in units of hrStorageAllocationUnits."
       ::= { hrStorageEntry 5 }

   hrStorageUsed OBJECT-TYPE
       SYNTAX Integer32 (0..2147483647)
       MAX-ACCESS read-only
       STATUS current


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 11


       DESCRIPTION
              "The amount of the storage represented by this
              entry that is allocated, in units of
              hrStorageAllocationUnits."
       ::= { hrStorageEntry 6 }

   hrStorageAllocationFailures OBJECT-TYPE
       SYNTAX Counter32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The number of requests for storage represented by
              this entry that could not be honored due to not
              enough storage.  It should be noted that as this
              object has a SYNTAX of Counter32, that it does not
              have a defined initial value.  However, it is
              recommended that this object be initialized to
              zero."
       ::= { hrStorageEntry 7 }


   -- The Host Resources Device Group
   --
   -- Implementation of this group is mandatory for all host systems.
   --
   -- The device group is useful for identifying and diagnosing the
   -- devices on a system.  The hrDeviceTable contains common
   -- information for any type of device.  In addition, some devices
   -- have device-specific tables for more detailed information.  More
   -- such tables may be defined in the future for other device types.

   -- Registration for some device types, for use with hrDeviceType
   hrDeviceTypes             OBJECT IDENTIFIER ::= { hrDevice 1 }

   hrDeviceOther             OBJECT IDENTIFIER ::= { hrDeviceTypes 1 }
   hrDeviceUnknown           OBJECT IDENTIFIER ::= { hrDeviceTypes 2 }
   hrDeviceProcessor         OBJECT IDENTIFIER ::= { hrDeviceTypes 3 }
   hrDeviceNetwork           OBJECT IDENTIFIER ::= { hrDeviceTypes 4 }
   hrDevicePrinter           OBJECT IDENTIFIER ::= { hrDeviceTypes 5 }
   hrDeviceDiskStorage       OBJECT IDENTIFIER ::= { hrDeviceTypes 6 }
   hrDeviceVideo             OBJECT IDENTIFIER ::= { hrDeviceTypes 10 }
   hrDeviceAudio             OBJECT IDENTIFIER ::= { hrDeviceTypes 11 }
   hrDeviceCoprocessor       OBJECT IDENTIFIER ::= { hrDeviceTypes 12 }
   hrDeviceKeyboard          OBJECT IDENTIFIER ::= { hrDeviceTypes 13 }
   hrDeviceModem             OBJECT IDENTIFIER ::= { hrDeviceTypes 14 }
   hrDeviceParallelPort      OBJECT IDENTIFIER ::= { hrDeviceTypes 15 }
   hrDevicePointing          OBJECT IDENTIFIER ::= { hrDeviceTypes 16 }
   hrDeviceSerialPort        OBJECT IDENTIFIER ::= { hrDeviceTypes 17 }


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 12


   hrDeviceTape              OBJECT IDENTIFIER ::= { hrDeviceTypes 18 }
   hrDeviceClock             OBJECT IDENTIFIER ::= { hrDeviceTypes 19 }
   hrDeviceVolatileMemory    OBJECT IDENTIFIER ::= { hrDeviceTypes 20 }
   hrDeviceNonVolatileMemory OBJECT IDENTIFIER ::= { hrDeviceTypes 21 }

   hrDeviceTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HrDeviceEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
              "The (conceptual) table of devices contained by the
              host."
       ::= { hrDevice 2 }

   hrDeviceEntry OBJECT-TYPE
       SYNTAX HrDeviceEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
              "A (conceptual) entry for one device contained by
              the host.  As an example, an instance of the
              hrDeviceType object might be named hrDeviceType.3"
       INDEX { hrDeviceIndex }
       ::= { hrDeviceTable 1 }

   HrDeviceEntry ::= SEQUENCE {
           hrDeviceIndex           Integer32,
           hrDeviceType            OBJECT IDENTIFIER,
           hrDeviceDescr           DisplayString,
           hrDeviceID              ProductID,
           hrDeviceStatus          INTEGER,
           hrDeviceErrors          Counter32
       }

   hrDeviceIndex OBJECT-TYPE
       SYNTAX Integer32 (1..2147483647)
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "A unique value for each device contained by the
              host.  The value for each device must remain
              constant at least from one re-initialization of the
              agent to the next re-initialization."
       ::= { hrDeviceEntry 1 }

   hrDeviceType OBJECT-TYPE
       SYNTAX OBJECT IDENTIFIER
       MAX-ACCESS read-only


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 13


       STATUS current
       DESCRIPTION
              "An indication of the type of device.

              If this value is `hrDeviceProcessor { hrDeviceTypes
              3 }' then an entry exists in the hrProcessorTable
              which corresponds to this device.

              If this value is `hrDeviceNetwork { hrDeviceTypes 4
              }', then an entry exists in the hrNetworkTable
              which corresponds to this device.

              If this value is `hrDevicePrinter { hrDeviceTypes 5
              }', then an entry exists in the hrPrinterTable
              which corresponds to this device.

              If this value is `hrDeviceDiskStorage {
              hrDeviceTypes 6 }', then an entry exists in the
              hrDiskStorageTable which corresponds to this
              device."
       ::= { hrDeviceEntry 2 }

   hrDeviceDescr OBJECT-TYPE
       SYNTAX DisplayString (SIZE (0..64))
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "A textual description of this device, including
              the device's manufacturer and revision, and
              optionally, its serial number."
       ::= { hrDeviceEntry 3 }

   hrDeviceID OBJECT-TYPE
       SYNTAX ProductID
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The product ID for this device."
       ::= { hrDeviceEntry 4 }

   hrDeviceStatus OBJECT-TYPE
        SYNTAX  INTEGER {
             unknown(1),
             running(2),
             warning(3),
             testing(4),
             down(5)
        }


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 14


        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The current operational state of the device
              described by this row of the table.  A value
              unknown(1) indicates that the current state of the
              device is unknown.  running(2) indicates that the
              device is up and running and that no unusual error
              conditions are known.  The warning(3) state
              indicates that agent has been informed of an
              unusual error condition by the operational software
              (e.g., a disk device driver) but that the device is
              still 'operational'.  An example would be high
              number of soft errors on a disk.  A value of
              testing(4), indicates that the device is not
              available for use because it is in the testing
              state.  The state of down(5) is used only when the
              agent has been informed that the device is not
              available for any use."
        ::= { hrDeviceEntry 5 }


   hrDeviceErrors OBJECT-TYPE
       SYNTAX Counter32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
               "The number of errors detected on this device.  It
               should be noted that as this object has a SYNTAX
               of Counter32, that it does not have a defined
               initial value.  However, it is recommended that
               this object be initialized to zero."
       ::= { hrDeviceEntry 6 }

   hrProcessorTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HrProcessorEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
              "The (conceptual) table of processors contained by
              the host.

              Note that this table is potentially sparse: a
              (conceptual) entry exists only if the correspondent
              value of the hrDeviceType object is
              `hrDeviceProcessor'."
       ::= { hrDevice 3 }



Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 15


   hrProcessorEntry OBJECT-TYPE
       SYNTAX HrProcessorEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
              "A (conceptual) entry for one processor contained
              by the host.  The hrDeviceIndex in the index
              represents the entry in the hrDeviceTable that
              corresponds to the hrProcessorEntry.

              As an example of how objects in this table are
              named, an instance of the hrProcessorFrwID object
              might be named hrProcessorFrwID.3"
       INDEX { hrDeviceIndex }
       ::= { hrProcessorTable 1 }

   HrProcessorEntry ::= SEQUENCE {
           hrProcessorFrwID            ProductID,
           hrProcessorLoad             Integer32
       }

   hrProcessorFrwID OBJECT-TYPE
       SYNTAX ProductID
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The product ID of the firmware associated with the
              processor."
       ::= { hrProcessorEntry 1 }

   hrProcessorLoad OBJECT-TYPE
       SYNTAX Integer32 (0..100)
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The average, over the last minute, of the
              percentage of time that this processor was not
              idle."
       ::= { hrProcessorEntry 2 }

   hrNetworkTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HrNetworkEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
              "The (conceptual) table of network devices
              contained by the host.



Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 16


              Note that this table is potentially sparse: a
              (conceptual) entry exists only if the correspondent
              value of the hrDeviceType object is
              `hrDeviceNetwork'."
       ::= { hrDevice 4 }

   hrNetworkEntry OBJECT-TYPE
       SYNTAX HrNetworkEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
              "A (conceptual) entry for one network device
              contained by the host.  The hrDeviceIndex in the
              index represents the entry in the hrDeviceTable
              that corresponds to the hrNetworkEntry.

              As an example of how objects in this table are
              named, an instance of the hrNetworkIfIndex object
              might be named hrNetworkIfIndex.3"
       INDEX { hrDeviceIndex }
       ::= { hrNetworkTable 1 }


   HrNetworkEntry ::= SEQUENCE {
           hrNetworkIfIndex    Integer32
       }

   hrNetworkIfIndex OBJECT-TYPE
       SYNTAX Integer32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The value of ifIndex which corresponds to this
              network device.  If this network device is not contained
              in the mib2.ifTable, then 0 shall be returned for this
              variable."
       ::= { hrNetworkEntry 1 }

   hrPrinterTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HrPrinterEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
              "The (conceptual) table of printers local to the
              host.

              Note that this table is potentially sparse: a
              (conceptual) entry exists only if the correspondent


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 17


              value of the hrDeviceType object is
              `hrDevicePrinter'."
       ::= { hrDevice 5 }

   hrPrinterEntry OBJECT-TYPE
       SYNTAX HrPrinterEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
              "A (conceptual) entry for one printer local to the
              host.  The hrDeviceIndex in the index represents
              the entry in the hrDeviceTable that corresponds to
              the hrPrinterEntry.

              As an example of how objects in this table are
              named, an instance of the hrPrinterStatus object
              might be named hrPrinterStatus.3"
       INDEX { hrDeviceIndex }
       ::= { hrPrinterTable 1 }

   HrPrinterEntry ::= SEQUENCE {
           hrPrinterStatus             INTEGER,
           hrPrinterDetectedErrorState BITS
       }


   hrPrinterStatus OBJECT-TYPE
       SYNTAX INTEGER {
           other(1),
           unknown(2),
           idle(3),
           printing(4),
           warmup(5)
       }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
               "The current status of this printer device.  When
               in the idle(1), printing(2), or warmup(3) state,
               the corresponding hrDeviceStatus should be
               running(2) or warning(3).  When in the unknown
               state, the corresponding hrDeviceStatus should be
               unknown(1)."
       ::= { hrPrinterEntry 1 }

   hrPrinterDetectedErrorState OBJECT-TYPE
       -- SYNTAX BITS (0..128) {
       SYNTAX BITS {


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 18


                 lowPaper(0),
                 noPaper(1),
                 lowToner(2),
                 noToner(3),
                 doorOpen(4),
                 jammed(5),
                 offline(6),
                 serviceRequested(7),

                 inputTrayMissing(8),
                 outputTrayMissing(9),
                 markerSupplyMissing(10),
                 outputNearFull(11),
                 outputFull(12),
                 inputTrayEmpty(13),
                 overduePreventMaint(14)
       }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
               "This object represents any error conditions
               detected by the printer.  The error conditions are
               encoded as bits in an octet string, with the
               following definitions:

                 Condition           Bit #    hrDeviceStatus

                 lowPaper            0        warning(3)
                 noPaper             1        down(5)
                 lowToner            2        warning(3)
                 noToner             3        down(5)
                 doorOpen            4        down(5)
                 jammed              5        down(5)
                 offline             6        down(5)
                 serviceRequested    7        warning(3)

                 inputTrayMissing    8        warning(3) or down(5)
                 outputTrayMissing   9        warning(3) or down(5)
                 markerSupplyMissing 10       warning(3) or down(5)
                 outputNearFull      11       warning(3) or down(5)
                 outputFull          12       warning(3) or down(5)
                 inputTrayEmpty      13       warning(3) or down(5)
                 overduePreventMaint 14       warning(3) or down(5)

               If multiple conditions are currently detected and
               the hrDeviceStatus would not otherwise be
               unknown(1) or testing(4), the hrDeviceStatus shall
               correspond to the worst state of those indicated,


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 19


               where down(5) is worse than warning(3) which is
               worse than running(2).

               Bits are numbered starting with the most
               significant bit of the first byte being bit 0, the
               least significant bit of the first byte being bit
               7, the most significant bit of the second byte
               being bit 8, and so on.  A one bit encodes that
               the condition was detected, while a zero bit
               encodes that the condition was not detected.

               This object is useful for alerting an operator to
               specific warning or error conditions that may
               occur, especially those requiring human
               intervention.

               Because error bits 8 through 14 can indicate a printer
               that is still functioning, the corresponding
               (recommended) printer hrDeviceStatus can be either
               warning(3) or down(5).

               New bits may be defined by standards-track MIB modules
               but the maximum size of instances of this variable
               should be 128 octets."
       ::= { hrPrinterEntry 2 }

   hrDiskStorageTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HrDiskStorageEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
              "The (conceptual) table of long-term storage
              devices contained by the host.  In particular, disk
              devices accessed remotely over a network are not
              included here.

              Note that this table is potentially sparse: a
              (conceptual) entry exists only if the correspondent
              value of the hrDeviceType object is
              `hrDeviceDiskStorage'."
       ::= { hrDevice 6 }

   hrDiskStorageEntry OBJECT-TYPE
       SYNTAX HrDiskStorageEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
              "A (conceptual) entry for one long-term storage


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 20


              device contained by the host.  The hrDeviceIndex in
              the index represents the entry in the hrDeviceTable
              that corresponds to the hrDiskStorageEntry. As an
              example, an instance of the hrDiskStorageCapacity
              object might be named hrDiskStorageCapacity.3"
       INDEX { hrDeviceIndex }
       ::= { hrDiskStorageTable 1 }

   HrDiskStorageEntry ::= SEQUENCE {
           hrDiskStorageAccess         INTEGER,
           hrDiskStorageMedia          INTEGER,
           hrDiskStorageRemoveble      Boolean,
           hrDiskStorageCapacity       KBytes
       }

   hrDiskStorageAccess OBJECT-TYPE
       SYNTAX INTEGER {
                       readWrite(1),
                       readOnly(2)
               }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "An indication if this long-term storage device is
              readable and writable or only readable.  This
              should reflect the media type, any write-protect
              mechanism, and any device configuration that
              affects the entire device."
       ::= { hrDiskStorageEntry 1 }

   hrDiskStorageMedia OBJECT-TYPE
       SYNTAX INTEGER {
                   other(1),
                   unknown(2),
                   hardDisk(3),
                   floppyDisk(4),
                   opticalDiskROM(5),
                   opticalDiskWORM(6),     -- Write Once Read Many
                   opticalDiskRW(7),
                   ramDisk(8)
               }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "An indication of the type of media used in this
              long-term storage device."
       ::= { hrDiskStorageEntry 2 }



Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 21


   hrDiskStorageRemoveble OBJECT-TYPE
       SYNTAX Boolean
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
               "Denotes whether or not the disk media may be
               removed from the drive."
       ::= { hrDiskStorageEntry 3 }

   hrDiskStorageCapacity OBJECT-TYPE
       SYNTAX KBytes
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The total size for this long-term storage device."
       ::= { hrDiskStorageEntry 4 }

   hrPartitionTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HrPartitionEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
              "The (conceptual) table of partitions for long-term
              storage devices contained by the host.  In
              particular, partitions accessed remotely over a
              network are not included here."
       ::= { hrDevice 7 }

   hrPartitionEntry OBJECT-TYPE
       SYNTAX HrPartitionEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
              "A (conceptual) entry for one partition.  The
              hrDeviceIndex in the index represents the entry in
              the hrDeviceTable that corresponds to the
              hrPartitionEntry.

              As an example of how objects in this table are
              named, an instance of the hrPartitionSize object
              might be named hrPartitionSize.3.1"
       INDEX { hrDeviceIndex, hrPartitionIndex }
       ::= { hrPartitionTable 1 }

   HrPartitionEntry ::= SEQUENCE {
           hrPartitionIndex                Integer32,
           hrPartitionLabel                InternationalDisplayString,
           hrPartitionID                   OCTET STRING,


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 22


           hrPartitionSize                 KBytes,
           hrPartitionFSIndex              Integer32
       }

   hrPartitionIndex OBJECT-TYPE
       SYNTAX Integer32 (1..2147483647)
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "A unique value for each partition on this long-
              term storage device.  The value for each long-term
              storage device must remain constant at least from
              one re-initialization of the agent to the next re-


              initialization."
       ::= { hrPartitionEntry 1 }

   hrPartitionLabel OBJECT-TYPE
       SYNTAX InternationalDisplayString (SIZE (0..128))
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "A textual description of this partition."
       ::= { hrPartitionEntry 2 }

   hrPartitionID OBJECT-TYPE
       SYNTAX OCTET STRING
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "A descriptor which uniquely represents this
              partition to the responsible operating system.  On
              some systems, this might take on a binary
              representation."
       ::= { hrPartitionEntry 3 }

   hrPartitionSize OBJECT-TYPE
       SYNTAX KBytes
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
               "The size of this partition."
       ::= { hrPartitionEntry 4 }

   hrPartitionFSIndex OBJECT-TYPE
       SYNTAX Integer32 (0..2147483647)
       MAX-ACCESS read-only


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 23


       STATUS current
       DESCRIPTION
               "The index of the file system mounted on this
               partition.  If no file system is mounted on this
               partition, then this value shall be zero.  Note
               that multiple partitions may point to one file
               system, denoting that that file system resides on
               those partitions.  Multiple file systems may not
               reside on one partition."
       ::= { hrPartitionEntry 5 }

   -- The File System Table
   hrFSTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HrFSEntry


       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
               "The (conceptual) table of file systems local to
               this host or remotely mounted from a file server.
               File systems that are in only one user's
               environment on a multi-user system will not be
               included in this table."
       ::= { hrDevice 8 }

   hrFSEntry OBJECT-TYPE
       SYNTAX HrFSEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
               "A (conceptual) entry for one file system local to
               this host or remotely mounted from a file server.
               File systems that are in only one user's
               environment on a multi-user system will not be
               included in this table.

               As an example of how objects in this table are
               named, an instance of the hrFSMountPoint object
               might be named hrFSMountPoint.3"
       INDEX { hrFSIndex }
       ::= { hrFSTable 1 }

   -- Registration for some popular File System types,
   -- for use with hrFSType.

   hrFSTypes               OBJECT IDENTIFIER ::= { hrDevice 9 }



Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 24


   hrFSOther               OBJECT IDENTIFIER ::= { hrFSTypes 1 }
   hrFSUnknown             OBJECT IDENTIFIER ::= { hrFSTypes 2 }
   hrFSBerkeleyFFS         OBJECT IDENTIFIER ::= { hrFSTypes 3 }
   hrFSSys5FS              OBJECT IDENTIFIER ::= { hrFSTypes 4 }
   -- DOS
   hrFSFat                 OBJECT IDENTIFIER ::= { hrFSTypes 5 }
   -- OS/2 High Performance File System
   hrFSHPFS                OBJECT IDENTIFIER ::= { hrFSTypes 6 }
   --  Macintosh Hierarchical File System
   hrFSHFS                 OBJECT IDENTIFIER ::= { hrFSTypes 7 }

   -- Macintosh File System
   hrFSMFS                 OBJECT IDENTIFIER ::= { hrFSTypes 8 }
   -- Windows NT
   hrFSNTFS                OBJECT IDENTIFIER ::= { hrFSTypes 9 }


   hrFSVNode               OBJECT IDENTIFIER ::= { hrFSTypes 10 }
   hrFSJournaled           OBJECT IDENTIFIER ::= { hrFSTypes 11 }
   -- CD File systems
   hrFSiso9660             OBJECT IDENTIFIER ::= { hrFSTypes 12 }
   hrFSRockRidge           OBJECT IDENTIFIER ::= { hrFSTypes 13 }

   hrFSNFS                 OBJECT IDENTIFIER ::= { hrFSTypes 14 }
   hrFSNetware             OBJECT IDENTIFIER ::= { hrFSTypes 15 }
   -- Andrew File System
   hrFSAFS                 OBJECT IDENTIFIER ::= { hrFSTypes 16 }
   -- OSF DCE Distributed File System
   hrFSDFS                 OBJECT IDENTIFIER ::= { hrFSTypes 17 }
   hrFSAppleshare          OBJECT IDENTIFIER ::= { hrFSTypes 18 }
   hrFSRFS                 OBJECT IDENTIFIER ::= { hrFSTypes 19 }
   -- Data General
   hrFSDGCFS               OBJECT IDENTIFIER ::= { hrFSTypes 20 }
   -- SVR4 Boot File System
   hrFSBFS                 OBJECT IDENTIFIER ::= { hrFSTypes 21 }

   HrFSEntry ::= SEQUENCE {
           hrFSIndex                   Integer32,
           hrFSMountPoint              InternationalDisplayString,
           hrFSRemoteMountPoint        InternationalDisplayString,
           hrFSType                    OBJECT IDENTIFIER,
           hrFSAccess                  INTEGER,
           hrFSBootable                Boolean,
           hrFSStorageIndex            Integer32,
           hrFSLastFullBackupDate      DateAndTime,
           hrFSLastPartialBackupDate   DateAndTime
       }



Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 25


   hrFSIndex OBJECT-TYPE
       SYNTAX Integer32 (1..2147483647)
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
               "A unique value for each file system local to this
               host.  The value for each file system must remain
               constant at least from one re-initialization of
               the agent to the next re-initialization."
       ::= { hrFSEntry 1 }

   hrFSMountPoint OBJECT-TYPE
       SYNTAX InternationalDisplayString (SIZE(0..128))
       MAX-ACCESS read-only
       STATUS current


       DESCRIPTION
               "The path name of the root of this file system."
       ::= { hrFSEntry 2 }

   hrFSRemoteMountPoint OBJECT-TYPE
       SYNTAX InternationalDisplayString (SIZE(0..128))
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
               "A description of the name and/or address of the
               server that this file system is mounted from.
               This may also include parameters such as the mount
               point on the remote file system.  If this is not a
               remote file system, this string should have a
               length of zero."
       ::= { hrFSEntry 3 }

   hrFSType OBJECT-TYPE
       SYNTAX OBJECT IDENTIFIER
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The value of this object identifies the type of
              this file system."
       ::= { hrFSEntry 4 }

   hrFSAccess OBJECT-TYPE
       SYNTAX INTEGER {
               readWrite(1),
               readOnly(2)
           }


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 26


       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "An indication if this file system is logically
              configured by the operating system to be readable
              and writable or only readable.  This does not
              represent any local access-control policy, except
              one that is applied to the file system as a whole."
       ::= { hrFSEntry 5 }

   hrFSBootable OBJECT-TYPE
       SYNTAX Boolean
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "A flag indicating whether this file system is
              bootable."


       ::= { hrFSEntry 6 }

   hrFSStorageIndex OBJECT-TYPE
       SYNTAX Integer32 (0..2147483647)
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
               "The index of the hrStorageEntry that represents
               information about this file system.  If there is
               no such information available, then this value
               shall be zero.  The relevant storage entry will be
               useful in tracking the percent usage of this file
               system and diagnosing errors that may occur when
               it runs out of space."
       ::= { hrFSEntry 7 }

   hrFSLastFullBackupDate OBJECT-TYPE
       SYNTAX DateAndTime
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
              "The last date at which this complete file system
              was copied to another storage device for backup.
              This information is useful for ensuring that
              backups are being performed regularly.

              If this information is not known, then this
              variable shall have the value corresponding to
              January 1, year 0000, 00:00:00.0, which is encoded


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 27


              as (hex)'00 00 01 01 00 00 00 00'."
       ::= { hrFSEntry 8 }

   hrFSLastPartialBackupDate OBJECT-TYPE
       SYNTAX DateAndTime
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
              "The last date at which a portion of this file
              system was copied to another storage device for
              backup.  This information is useful for ensuring
              that backups are being performed regularly.

              If this information is not known, then this
              variable shall have the value corresponding to
              January 1, year 0000, 00:00:00.0, which is encoded
              as (hex)'00 00 01 01 00 00 00 00'."
       ::= { hrFSEntry 9 }


   -- The Host Resources Running Software Group
   --
   -- Implementation of this group is optional.
   --
   -- The hrSWRunTable contains an entry for each distinct piece of
   -- software that is running or loaded into physical or virtual
   -- memory in preparation for running.  This includes the host's
   -- operating system, device drivers, and applications.

   hrSWOSIndex OBJECT-TYPE
       SYNTAX Integer32 (1..2147483647)
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
               "The value of the hrSWRunIndex for the
               hrSWRunEntry that represents the primary operating
               system running on this host.  This object is
               useful for quickly and uniquely identifying that
               primary operating system."
       ::= { hrSWRun 1 }

   hrSWRunTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HrSWRunEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
              "The (conceptual) table of software running on the
              host."


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 28


       ::= { hrSWRun 2 }

   hrSWRunEntry OBJECT-TYPE
       SYNTAX HrSWRunEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
              "A (conceptual) entry for one piece of software
              running on the host Note that because the installed
              software table only contains information for
              software stored locally on this host, not every
              piece of running software will be found in the
              installed software table.  This is true of software
              that was loaded and run from a non-local source,
              such as a network-mounted file system.

              As an example of how objects in this table are
              named, an instance of the hrSWRunName object might
              be named hrSWRunName.1287"
       INDEX { hrSWRunIndex }
       ::= { hrSWRunTable 1 }

   HrSWRunEntry ::= SEQUENCE {
           hrSWRunIndex       Integer32,
           hrSWRunName        InternationalDisplayString,
           hrSWRunID          ProductID,
           hrSWRunPath        InternationalDisplayString,
           hrSWRunParameters  InternationalDisplayString,
           hrSWRunType        INTEGER,
           hrSWRunStatus      INTEGER
       }

   hrSWRunIndex OBJECT-TYPE
       SYNTAX Integer32 (1..2147483647)
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "A unique value for each piece of software running
              on the host.  Wherever possible, this should be the
              system's native, unique identification number."
       ::= { hrSWRunEntry 1 }

   hrSWRunName OBJECT-TYPE
       SYNTAX InternationalDisplayString (SIZE (0..64))
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "A textual description of this running piece of


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 29


              software, including the manufacturer, revision,
              and the name by which it is commonly known.  If
              this software was installed locally, this should be
              the same string as used in the corresponding
              hrSWInstalledName."
       ::= { hrSWRunEntry 2 }

   hrSWRunID OBJECT-TYPE
       SYNTAX ProductID
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The product ID of this running piece of software."
       ::= { hrSWRunEntry 3 }

   hrSWRunPath OBJECT-TYPE
       SYNTAX InternationalDisplayString (SIZE(0..128))
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION


              "A description of the location on long-term storage
              (e.g. a disk drive) from which this software was
              loaded."
       ::= { hrSWRunEntry 4 }

   hrSWRunParameters OBJECT-TYPE
       SYNTAX InternationalDisplayString (SIZE(0..128))
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "A description of the parameters supplied to this
              software when it was initially loaded."
       ::= { hrSWRunEntry 5 }

   hrSWRunType OBJECT-TYPE
       SYNTAX INTEGER {
                   unknown(1),
                   operatingSystem(2),
                   deviceDriver(3),
                   application(4)
              }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
               "The type of this software."
       ::= { hrSWRunEntry 6 }


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 30



   hrSWRunStatus OBJECT-TYPE
       SYNTAX INTEGER {
               running(1),
               runnable(2),    -- waiting for resource (CPU, memory, IO)
               notRunnable(3), -- loaded but waiting for event
               invalid(4)      -- not loaded
           }
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
              "The status of this running piece of software.
              Setting this value to invalid(4) shall cause this
              software to stop running and to be unloaded."
       ::= { hrSWRunEntry 7 }

   -- The Host Resources Running Software Performance Group
   -- Implementation of this group is optional.
   --
   -- The hrSWRunPerfTable contains an entry corresponding to
   -- each entry in the hrSWRunTable.


   hrSWRunPerfTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HrSWRunPerfEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
               "The (conceptual) table of running software
               performance metrics."
       ::= { hrSWRunPerf 1 }

   hrSWRunPerfEntry OBJECT-TYPE
       SYNTAX HrSWRunPerfEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
               "A (conceptual) entry containing software
               performance metrics.  As an example, an instance
               of the hrSWRunPerfCPU object might be named
               hrSWRunPerfCPU.1287"
       INDEX  { hrSWRunIndex }  -- This table augments information in
                                -- the hrSWRunTable.
       ::= { hrSWRunPerfTable 1 }

   HrSWRunPerfEntry ::= SEQUENCE {
           hrSWRunPerfCPU          Integer32,
           hrSWRunPerfMem          KBytes


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 31


   }

   hrSWRunPerfCPU OBJECT-TYPE
       SYNTAX Integer32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
               "The number of centi-seconds of the total system's
               CPU resources consumed by this process.  Note that
               on a multi-processor system, this value may
               increment by more than one centi-second in one
               centi-second of real (wall clock) time."
       ::= { hrSWRunPerfEntry 1 }

   hrSWRunPerfMem OBJECT-TYPE
       SYNTAX KBytes
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
               "The total amount of real system memory allocated
               to this process."
       ::= { hrSWRunPerfEntry 2 }


   -- The Host Resources Installed Software Group
   --
   -- Implementation of this group is optional.
   --
   -- The hrSWInstalledTable contains an entry for each piece
   -- of software installed in long-term storage (e.g. a disk
   -- drive) locally on this host.  Note that this does not
   -- include software loadable remotely from a network
   -- server.
   --
   -- This table is useful for identifying and inventorying
   -- software on a host and for diagnosing incompatibility
   -- and version mismatch problems between various pieces
   -- of hardware and software.
   --
   -- Included in the definition of "software" are patches and
   -- software packages.  Operating systems which provide a unified
   -- set of utilities for adding and removing software components,
   -- or a unified administrative location for their specification,
   -- usually provide the necessary information for the implementation
   -- of the hrSWInstalledTable.

   hrSWInstalledLastChange OBJECT-TYPE
       SYNTAX TimeTicks


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 32


       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The value of sysUpTime when an entry in the
              hrSWInstalledTable was last added, renamed, or
              deleted.  Because this table is likely to contain
              many entries, polling of this object allows a
              management station to determine when re-downloading
              of the table might be useful."
       ::= { hrSWInstalled 1 }

   hrSWInstalledLastUpdateTime OBJECT-TYPE
       SYNTAX TimeTicks
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The value of sysUpTime when the hrSWInstalledTable
              was last completely updated.  Because caching of
              this data will be a popular implementation
              strategy, retrieval of this object allows a
              management station to obtain a guarantee that no
              data in this table is older than the indicated
              time."
       ::= { hrSWInstalled 2 }

   hrSWInstalledTable OBJECT-TYPE
       SYNTAX SEQUENCE OF HrSWInstalledEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
              "The (conceptual) table of software installed on
               this host."
       ::= { hrSWInstalled 3 }

   hrSWInstalledEntry OBJECT-TYPE
       SYNTAX HrSWInstalledEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
              "A (conceptual) entry for a piece of software
              installed on this host.

              As an example of how objects in this table are
              named, an instance of the hrSWInstalledName object
              might be named hrSWInstalledName.96"
       INDEX { hrSWInstalledIndex }
       ::= { hrSWInstalledTable 1 }



Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 33


   HrSWInstalledEntry ::= SEQUENCE {
           hrSWInstalledIndex       Integer32,
           hrSWInstalledName        InternationalDisplayString,
           hrSWInstalledID          ProductID,
           hrSWInstalledType        INTEGER,
           hrSWInstalledDate        DateAndTime
   }

   hrSWInstalledIndex OBJECT-TYPE
       SYNTAX Integer32 (1..2147483647)
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "A unique value for each piece of software
              installed on the host.  This value shall be in the
              range from 1 to the number of pieces of software
              installed on the host."
       ::= { hrSWInstalledEntry 1 }

   hrSWInstalledName OBJECT-TYPE
       SYNTAX InternationalDisplayString (SIZE (0..64))
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "A textual description of this installed piece of
              software, including the manufacturer, revision, the
              name by which it is commonly known, and optionally,
              its serial number."
       ::= { hrSWInstalledEntry 2 }

   hrSWInstalledID OBJECT-TYPE


       SYNTAX ProductID
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The product ID of this installed piece of
              software."
       ::= { hrSWInstalledEntry 3 }

   hrSWInstalledType OBJECT-TYPE
       SYNTAX INTEGER {
                   unknown(1),
                   operatingSystem(2),
                   deviceDriver(3),
                   application(4)
              }


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 34


       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
               "The type of this software."
       ::= { hrSWInstalledEntry 4 }

   hrSWInstalledDate OBJECT-TYPE
       SYNTAX DateAndTime
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "The last-modification date of this application as
              it would appear in a directory listing."
       ::= { hrSWInstalledEntry 5 }

   -- Conformance Macros

   hrMIBCompliances        OBJECT IDENTIFIER ::= { hrConformance 1 }
   hrMIBGroups             OBJECT IDENTIFIER ::= { hrConformance 2 }

   hrMIBCompliance MODULE-COMPLIANCE
       STATUS current
       DESCRIPTION
           "Describes the requirements for conformance to the Host
            Resources MIB"
       MODULE
         MANDATORY-GROUPS { hrSystemGroup, hrStorageGroup, hrDeviceGroup }
         GROUP hrSWRunGroup
            DESCRIPTION
               "Optional running software group"
         GROUP hrSWInstalledGroup
            DESCRIPTION
               "Optional installed software group"
       ::= { hrMIBCompliances 1 }

   hrSystemGroup OBJECT-GROUP
       OBJECTS {
           hrSystemUptime,
           hrSystemDate,
           hrSystemInitialLoadDevice,
           hrSystemInitialLoadParameters,
           hrSystemNumUsers,
           hrSystemProcesses,
           hrSystemMaxProcesses
       }
       STATUS current
       DESCRIPTION
              "The System Group"


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 35


       ::= { hrMIBGroups 1 }

   hrStorageGroup OBJECT-GROUP
       OBJECTS {
           hrMemorySize,
           hrStorageIndex,
           hrStorageType,
           hrStorageDescr,
           hrStorageAllocationUnits,
           hrStorageSize,
           hrStorageUsed,
           hrStorageAllocationFailures
       }
       STATUS current
       DESCRIPTION
              "The Storage Group"
       ::= { hrMIBGroups 2 }

   hrDeviceGroup OBJECT-GROUP
       OBJECTS {
           hrDeviceIndex,
           hrDeviceType,
           hrDeviceDescr,
           hrDeviceID,
           hrDeviceStatus,
           hrDeviceErrors,
           hrProcessorFrwID,
           hrProcessorLoad,
           hrNetworkIfIndex,
           hrPrinterStatus,
           hrPrinterDetectedErrorState,
           hrDiskStorageAccess,
           hrDiskStorageMedia,
           hrDiskStorageRemoveble,
           hrDiskStorageCapacity,
           hrPartitionIndex,
           hrPartitionLabel,
           hrPartitionID,
           hrPartitionSize,
           hrPartitionFSIndex,
           hrFSIndex,
           hrFSMountPoint,
           hrFSRemoteMountPoint,
           hrFSType,
           hrFSAccess,
           hrFSBootable,
           hrFSStorageIndex,
           hrFSLastFullBackupDate,


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 36


           hrFSLastPartialBackupDate
       }
       STATUS current
       DESCRIPTION
              "The Device Group"
       ::= { hrMIBGroups 3 }

   hrSWRunGroup OBJECT-GROUP
       OBJECTS {
           hrSWOSIndex,
           hrSWRunIndex,
           hrSWRunName,
           hrSWRunID,
           hrSWRunPath,
           hrSWRunParameters,
           hrSWRunType,
           hrSWRunStatus,
           hrSWRunPerfCPU,
           hrSWRunPerfMem
       }
       STATUS current
       DESCRIPTION
              "The optional Running Software Group"
       ::= { hrMIBGroups 4 }

   hrSWInstalledGroup OBJECT-GROUP
       OBJECTS {
           hrSWInstalledLastChange,
           hrSWInstalledLastUpdateTime,
           hrSWInstalledIndex,
           hrSWInstalledName,
           hrSWInstalledID,
           hrSWInstalledType,
           hrSWInstalledDate
       }
       STATUS current
       DESCRIPTION
              "The optional Installed Software Group"
       ::= { hrMIBGroups 5 }

END

4.  References

   [1] Grillo, P. and Waldbusser, S.  "Host Resources MIB", RFC 1514,
       September 1993.

   [2] Perkins, D. and McGinnis, E. "Understanding SNMP MIBs",


Mar 10 13:20 1998  Internet Draft,Host Resources MIB V2        Page 37


       Prentice-Hall, 1st edition, 1997.

   [3] McCloghrie K., and M. Rose, Editors, "Management Information
       Base for Network Management of TCP/IP-based internets", STD 17,
       RFC 1213, Performance Systems International, March 1991.

   [4] Rose, M. T. and McCloghrie, Keith, "How to Manage Your Network
       Using SNMP", Prentice-Hall, 1st edition, 1995.

   [5] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure
       of Management Information for Version 2 of the Simple Network
       Management Protocol (SNMPv2)", RFC 1902, January 1996.

   [6] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
       "Conformance Statements for Version 2 of the Simple Network
       Management Protocol (SNMPv2)", RFC 1904, January 1996.

5.  Acknowledgements

   This document was based on the original RFC 1514 edited P. Grillo
   and S. Waldbusser and produced by the original Host Resources MIB
   working group.

6.  Security Considerations

   Security issues are not discussed in this memo.

7.  Author's Address

   Robert Krupczak
   Empire Technologies, Inc.
   541 Tenth St, NW
   Suite 169
   Atlanta, GA 30318-5713
   +1.770.384.0184
   rdk@empiretech.com