BSDUNIX-MIB DEFINITIONS ::= BEGIN

-- Title:	BSD UNIX MIB for SNMPv2
-- Date:	December 6, 1993
-- By:		Marshall T. Rose/DBC	<mrose@dbc.mtview.ca.us>
--		Michael Davidson/UTK	<davidson@cs.utk.edu>
--		for Keith Sklower/UCB	<sklower@okeeffe.berkeley.edu>


IMPORTS
	MODULE-IDENTITY, OBJECT-TYPE, enterprises,
	Counter32, IpAddress
	    FROM SNMPv2-SMI
	DisplayString
	    FROM SNMPv2-TC
	AGENT-CAPABILITIES
	    FROM SNMPv2-CONF
	partyEntry, contextEntry
	    FROM SNMPv2-PARTY
	ipRouteEntry, tcpConnEntry, udpEntry
	    FROM RFC1213-MIB
	clnpRouteEntry
	    FROM CLNS-MIB;


unix MODULE-IDENTITY
	LAST-UPDATED "9312150000Z"
	ORGANIZATION "Dover Beach Consulting, Inc."
	CONTACT-INFO
                     "        Marshall T. Rose

                      Postal: Dover Beach Consulting, Inc.
                              420 Whisman Court
                              Mountain View, CA  94043-2186
                              US

                         Tel: +1 415 968 1052
                         Fax: +1 415 968 2510

                      E-mail: mrose@dbc.mtview.ca.us"
	DESCRIPTION
                     "The MIB module for 4BSD/ISODE entities."
	::= { enterprises 4 }


-- the agents group

agents OBJECT IDENTIFIER ::= { unix 1 }


-- original "4BSD/ISODE SNMP"	{ agents 1 }

-- versions of the "4BSD/ISODE SNMP" agent are now under { agents 2 }
fourBSDisode OBJECT IDENTIFIER ::= { agents 2 }
-- fourBSDisode.1:	add SMUX
-- fourBSDisode.2:	add views
-- fourBSDisode.3:	add sets
-- fourBSDisode.4:	add mbufs
-- fourBSDisode.5:	add more sets
-- fourBSDisode.6.n:	"secure" SNMP
-- fourBSDisode.7.n:	SMP
-- fourBSDisode.8.n:	SNMPv2
-- fourBSDisode.9.n:	bug fixes, SNMPv1-equivalence

-- n gives operating system
--	1: generic 4.2BSD
--	2: 4.3BSD
--	3: 4.3BSD tahoe
--	4: 4.4BSD/OSI
--	5: SunOS 4.0
--	6: SunOS 4.1
--	7: SVR4

agentAction OBJECT-TYPE
        SYNTAX     INTEGER {
                    other(1),
                    coldStart(2),
                    dumpPartyDB(3),
                    terminate(4),
                    warmStart(5),
		    debugOn(6),
		    debugOff(7)
                }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "A control variable used to trigger an action by the agent.
                 When read, this variable always returns the value other(1).

                 When set, this variable causes the agent to undertake the
                 indicated action:

                 coldStart - initiate a coldStart (restart the agent)

                 dumpPartyDB - force dump of party database

                 terminate - terminate the agent

                 warmStart - send a warmStart trap to all managers

                 debugOn - turns on debugging in the agent

                 debugOff - turns off debugging in the agent"
        ::= { agents 3 }

iSODEContextTable OBJECT-TYPE
	SYNTAX	   SEQUENCE OF ISODEContextEntry
	MAX-ACCESS not-accessible
        STATUS	   current
        DESCRIPTION
                "Extensions to the ContextTable."
	::= { agents 4 }

iSODEContextEntry OBJECT-TYPE
	SYNTAX      ISODEContextEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"Extensions held about a particular SNMPv2 context."
	AUGMENTS   { contextEntry }
	::= { iSODEContextTable 1 }

ISODEContextEntry ::=
    SEQUENCE {
	iSODEContextName
	    DisplayString
    }

iSODEContextName   OBJECT-TYPE
        SYNTAX     DisplayString (SIZE (1..255))
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
                "A locally-assigned, textual name, for the context."
        ::= { iSODEContextEntry 1 }

iSODEPartyTestTable OBJECT-TYPE
	SYNTAX	   SEQUENCE OF ISODEPartyTestEntry
	MAX-ACCESS not-accessible
        STATUS	   current
        DESCRIPTION
                "Extensions to the PartyTable."
	::= { agents 5 }

iSODEPartyTestEntry OBJECT-TYPE
	SYNTAX      ISODEPartyTestEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"Extensions held about a particular SNMPv2 Party."
	AUGMENTS   { partyEntry }
	::= { iSODEPartyTestTable 1 }

ISODEPartyTestEntry ::=
    SEQUENCE {
	iSODEPartyTestMode
	    INTEGER
    }

iSODEPartyTestMode OBJECT-TYPE
        SYNTAX     INTEGER {
			none(0),
			lexiBroken(1),
			cellMissing(2),
			newRow(3),
			longRow(4),
			wrongTag(5),
			notMinLen(6),
			tooSmallInt(7),
			tooBigInt(8),
			notAnEnum(9),
			nonAscii(10),
			notCrNullOrLf(11),
			conString(12),
			tooSmallStr(13),
			tooBigStr(14),
			indfLen(15),
			sendResponse(16),
			readOnly(17),
			varVarBinds(18),
			varNameBinds(19),
			varValueBinds(20),
			berLesUdp(21),
			udpLesBer(22),
			sendGet(23),
			sendNext(24),
			sendSet(25),
			sendXxx(26),
			bigCounter(27),
			rollCounter(28),
			bigGauge(29),
			tooBig(30)
		   }
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
                "The test-mode for a party."
        ::= { iSODEPartyTestEntry 1 }

iSODETestTable OBJECT-TYPE
	SYNTAX	   SEQUENCE OF ISODETestEntry
	MAX-ACCESS not-accessible
        STATUS	   current
        DESCRIPTION
		"Used for testing management stations."
	::= { agents 6 }

iSODETestEntry OBJECT-TYPE
	SYNTAX      ISODETestEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"Used for testing management stations."
	INDEX   { iSODETestIndex }
	::= { iSODETestTable 1 }

ISODETestEntry ::=
    SEQUENCE {
	iSODETestIndex
	    OCTET STRING,
	iSODETestInteger
	    INTEGER,
        iSODETestString
	    DisplayString
    }

iSODETestIndex OBJECT-TYPE
	SYNTAX	    OCTET STRING
	MAX-ACCESS  read-only
	STATUS	    current
        DESCRIPTION
		"Used for testing management stations."
	::= { iSODETestEntry 1 }

iSODETestInteger OBJECT-TYPE
	SYNTAX	    INTEGER (0..1)
	MAX-ACCESS  read-only
	STATUS	    current
        DESCRIPTION
		"Used for testing management stations."
	::= { iSODETestEntry 2 }

iSODETestString OBJECT-TYPE
	SYNTAX	    DisplayString (1..2)
	MAX-ACCESS  read-only
	STATUS	    current
        DESCRIPTION
		"Used for testing management stations."
	::= { iSODETestEntry 3 }


-- the mbuf group

mbuf OBJECT IDENTIFIER ::= { unix 2 }


mbufs           OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of mbufs allocated from the page pool."
        ::= { mbuf 1 }

mbufClusters    OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS not-accessible
        STATUS     obsolete
        DESCRIPTION
                "The number of clusters allocated from the page pool."
        ::= { mbuf 2 }

mbufFreeClusters OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS not-accessible
        STATUS     obsolete
        DESCRIPTION
                "The number of clusters allocated but not in use."
        ::= { mbuf 3 }

mbufDrops       OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of requests for mbufs which failed due to
                 lack of space."
        ::= { mbuf 4 }

mbufWaits        OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of requests for mbufs which resulted in a wait."
        ::= { mbuf 5 }

mbufDrains      OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of times protocols were drained for space."
        ::= { mbuf 6 }

mbufFrees       OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of mbufs allocated but not in use."
        ::= { mbuf 7 }

mbufTable       OBJECT-TYPE
        SYNTAX     SEQUENCE OF MbufEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "The mbuf type table."
        ::= { mbuf 8 }

mbufEntry       OBJECT-TYPE
        SYNTAX     MbufEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "An entry in the mbuf type table."
        INDEX      { mbufType }
        ::= { mbufTable 1 }

MbufEntry ::=
    SEQUENCE {
        mbufType
            INTEGER (0..2147483647),
        mbufAllocates
            Counter32,
        mbufNewAllocates
            Gauge32
    }

mbufType        OBJECT-TYPE
        SYNTAX     INTEGER (0..2147483647)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The type of mbuf in use."
        ::= { mbufEntry 1 }

mbufAllocates   OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS not-accessible
        STATUS     obsolete
        DESCRIPTION
                "The number of mbufs of this type in use."
        ::= { mbufEntry 2 }

mbufNewAllocates   OBJECT-TYPE
        SYNTAX     Gauge32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of mbufs of this type in use."
        ::= { mbufEntry 3 }

mbufSpaces      OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS not-accessible
        STATUS     obsolete
        DESCRIPTION
                "The number of interface pages obtained from the page pool."
        ::= { mbuf 9 }

mbufNewClusters    OBJECT-TYPE
        SYNTAX     Gauge32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of clusters allocated from the page pool."
        ::= { mbuf 10 }

mbufNewFreeClusters OBJECT-TYPE
        SYNTAX     Gauge32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of clusters allocated but not in use."
        ::= { mbuf 11 }

mbufNewSpaces      OBJECT-TYPE
        SYNTAX     Gauge32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of interface pages obtained from the page pool."
        ::= { mbuf 12 }


-- the peer group (formerly the SMUX peer group)

peers OBJECT IDENTIFIER ::= { unix 3 }

-- versions of the BSD unixd program are under { peers 1 }
fourBSDunixd OBJECT IDENTIFIER ::=     { peers 1 }
-- fourBSDunixd.1:             mbufs
-- fourBSDunixd.2:             add print/users, remove mbufs
-- fourBSDunixd.3:             add unixFs
-- fourBSDunixd.4:             remove old GrUserTable, add GrNewUserTable

-- versions of the sendmail program are under { peers 2 }
fourBSDsendmail OBJECT IDENTIFIER ::=   { peers 2 }
-- fourBSDsendmail.1:	       initial version

-- versions of the SVR4 unixd program are under { peers 3 }
fourSVR4unixd OBJECT IDENTIFIER ::=     { peers 3 }
-- fourSVR4unixd.1:             initial release


-- the SMUX protocol group (historical)

-- smux OBJECT IDENTIFIER ::= { unix 4 }


-- the NETSTAT group

netstat OBJECT IDENTIFIER ::= { unix 5 }


unixNetstat     OBJECT-TYPE
        SYNTAX     INTEGER { enabled(1), disabled(2) }
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "Indicates whether the agent supports a UNIX-like
                 network MIB."
        ::= { netstat 1 }

-- the UNIX TCP connections table

unixTcpConnTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF UnixTcpConnEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "The TCP socket table."
        ::= { netstat 2 }

unixTcpConnEntry OBJECT-TYPE
        SYNTAX     UnixTcpConnEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "An entry in the TCP socket table."
        AUGMENTS   { tcpConnEntry }
        ::= { unixTcpConnTable 1 }

UnixTcpConnEntry ::=
    SEQUENCE {
        unixTcpConnSendQ
            INTEGER (0..2147483647),
        unixTcpConnRecvQ
            INTEGER (0..2147483647)
    }

unixTcpConnSendQ OBJECT-TYPE
        SYNTAX     INTEGER (0..2147483647)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of octets queued for sending on this TCP socket."
        ::= { unixTcpConnEntry 1 }

unixTcpConnRecvQ OBJECT-TYPE
        SYNTAX     INTEGER (0..2147483647)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of octets queued for reading from this TCP socket."
        ::= { unixTcpConnEntry 2 }


-- the UNIX UDP listener table

unixUdpTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF UnixUdpEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "The UDP socket table."
        ::= { netstat 3 }

unixUdpEntry OBJECT-TYPE
        SYNTAX     UnixUdpEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "An entry in the UDP socket table."
        AUGMENTS   { udpEntry }
        ::= { unixUdpTable 1 }

UnixUdpEntry ::=
    SEQUENCE {
        unixUdpRemAddress
            IpAddress,
        unixUdpRemPort
            INTEGER (0..65535),
        unixUdpSendQ
            INTEGER (0..2147483647),
        unixUdpRecvQ
            INTEGER (0..2147483647)
    }

unixUdpRemAddress OBJECT-TYPE
        SYNTAX     IpAddress
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The remote IP address bound to this UDP socket.  If no binding
                 has occurred, the value 0.0.0.0 is used."
        ::= { unixUdpEntry 1 }

unixUdpRemPort OBJECT-TYPE
        SYNTAX     INTEGER (0..65535)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The remote UDP port bound to this UDP socket.  If no binding
                 has occurred, the value 0 is used."
        ::= { unixUdpEntry 2 }

unixUdpSendQ OBJECT-TYPE
        SYNTAX     INTEGER (0..2147483647)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of octets queued for writing to this UDP socket."
        ::= { unixUdpEntry 3 }

unixUdpRecvQ OBJECT-TYPE
        SYNTAX     INTEGER (0..2147483647)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of octets queued for reading from this UDP socket."
        ::= { unixUdpEntry 4 }

-- the UNIX IP Routing table

unixIpRoutingTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF UnixIpRouteEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "The additional IP routing table."
        ::= { netstat 4 }

unixIpRouteEntry OBJECT-TYPE
        SYNTAX     UnixIpRouteEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "An entry in the additional IP routing table."
	AUGMENTS   { ipRouteEntry }
        ::= { unixIpRoutingTable 1 }

UnixIpRouteEntry ::=
    SEQUENCE {
        unixIpRouteFlags
            INTEGER,
        unixIpRouteRefCnt
            INTEGER (0..2147483647),
        unixIpRouteUses
            Counter32
    }

unixIpRouteFlags OBJECT-TYPE
        SYNTAX     INTEGER (0..65536)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "A value associated with the IP routing entry.

                 The value is a sum.  This sum initial takes the value zero.
                 Then, for each flag, F, in the range 1 through N, that this
                 IP routing entry has TRUE, 2 raised to (F - 1) is added to
                 the sum.

                 flag   status
                 ----   ------
                   1    route useable
                   2    destination is a gateway
                   3    host entry
                   4    re-instate route after timeout
                   5    created dynamically (by redirect)

                 Other values of flag are reserved for future definition."
        ::= { unixIpRouteEntry 1 }

unixIpRouteRefCnt OBJECT-TYPE
        SYNTAX     INTEGER (0..2147483647)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of sockets using this IP routing entry."
        ::= { unixIpRouteEntry 2 }

unixIpRouteUses OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of times this IP routing entry has been used."
        ::= { unixIpRouteEntry 3 }

-- miscellaneous UNIX routing statistics

unixRouteBadRedirects   OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of bogus routing redirects."
        ::= { netstat 5 }

unixRouteCreatedByRedirects OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of routing entries created by redirects."
        ::= { netstat 6 }

unixRouteModifiedByRedirects OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of routing entries modified by redirects."
        ::= { netstat 7 }

unixRouteLookupFails    OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of times a routing entry couldn't be found
                 for a destination."
        ::= { netstat 8 }

unixRouteWildcardUses   OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of times the `wildcard' routing entry was used."
        ::= { netstat 9 }

-- the UNIX CLNP Routing table

unixClnpRoutingTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF UnixClnpRouteEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "The additional CLNP routing table."
        ::= { netstat 10 }

unixClnpRouteEntry OBJECT-TYPE
        SYNTAX     UnixClnpRouteEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "An entry in the additional CLNP routing table."
	AUGMENTS   { clnpRouteEntry }
        ::= { unixClnpRoutingTable 1 }

UnixClnpRouteEntry ::=
    SEQUENCE {
        unixClnpRouteFlags
            INTEGER,
        unixClnpRouteRefCnt
            INTEGER (0..2147483647),
        unixClnpRouteUses
            Counter32
    }

unixClnpRouteFlags OBJECT-TYPE
        SYNTAX     INTEGER (0..65536)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "A value associated with the CLNP routing entry.

                 The value is a sum.  This sum initial takes the value zero.
                 Then, for each flag, F, in the range 1 through N, that this
                 CLNP routing entry has TRUE, 2 raised to (F - 1) is added to
                 the sum.

                 flag   status
                 ----   ------
                   1    route useable
                   2    destination is a gateway
                   3    host entry
                   4    re-instate route after timeout
                   5    created dynamically (by redirect)

                 Other values of flag are reserved for future definition."
        ::= { unixClnpRouteEntry 1 }

unixClnpRouteRefCnt OBJECT-TYPE
        SYNTAX     INTEGER (0..2147483647)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of sockets using this IP routing entry."
        ::= { unixClnpRouteEntry 2 }

unixClnpRouteUses OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of times this IP routing entry has been used."
        ::= { unixClnpRouteEntry 3 }


-- the print group

print OBJECT IDENTIFIER ::= { unix 6 }


-- the printer queue table

printQTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF PrintQEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "The printer queue table."
        ::= { print 1 }

printQEntry OBJECT-TYPE
        SYNTAX     PrintQEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "An entry for a queue in the printer table."
        INDEX      { IMPLIED printQName }
        ::= { printQTable 1 }

PrintQEntry ::=
    SEQUENCE {
        printQName
            DisplayString,
        printQStatus
            INTEGER (0..2147483647),
        printQDisplay
            DisplayString,
        printQAction
            INTEGER,
        printQEntries
            Counter32,
        printQNewEntries
            Gauge32
    }

printQName OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The name of a queue in the printer table."
        ::= { printQEntry 1 }

printQStatus OBJECT-TYPE
        SYNTAX     INTEGER (0..2147483647)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "A value which indicates the current status of a queue in the
                 printer table.

                 The value is a sum.  This sum initially takes the value zero.
                 Then, for each flag, F, in the range 1 through N, that this
                 queue has TRUE, 2 raised to (F - 1) is added to the sum.

                 flag   status
                 ----   ------
                   1    queuing is enabled
                   2    printing is enabled
                   3    daemon is present

                 Other values of flag are reserved for future definition."
        ::= { printQEntry 2 }

printQDisplay OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "A string indicating the current status of the queue."
        ::= { printQEntry 3 }

-- printQEntries 4 obsolete

printQAction OBJECT-TYPE
        SYNTAX     INTEGER {
                    other(1),
                    abort(2),
                    clean(3),
                    enable(4),
                    disable(5),
                    restart(6),
                    start(7),
                    stop(8)
                }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "A control variable used to trigger an action on a queue in
                 the printer table.  When read, this variable always returns
                 the most recent value that it was previously set to.  If it
                 has not been set since the last initialization of the network 
                 management subsystem on the node, it returns a value of
                 `other'.

                 When set, this variable causes the queue to undertake the
                 indicated action:

                 abort - terminate the current job printing in the queue
                         and disable printing other jobs

                 clean - remove incomplete jobs from the queue

                 enable - enable spooling on the queue

                 disable - disable spooling on the queue

                 restart - restart printing from the queue

                 start - start printing from the queue

                 stop - stop printing from the queue after the current job
                        completes printing"
        ::= { printQEntry 5 }

printQEntries OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS not-accessible
        STATUS     obsolete
        DESCRIPTION
                "The number of jobs currently in the queue, including the
                 current job printing (if any)."
        ::= { printQEntry 6 }

printQNewEntries OBJECT-TYPE
        SYNTAX     Gauge32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The number of jobs currently in the queue, including the
                 current job printing (if any)."
        ::= { printQEntry 7 }


-- the printer job table

printJTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF PrintJEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "The printer job table."
        ::= { print 2 }

printJEntry OBJECT-TYPE
        SYNTAX     PrintJEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "An entry for a job in a printer queue."
        INDEX      { IMPLIED printQName, printJRank }
        ::= { printJTable 1 }

PrintJEntry ::=
    SEQUENCE {
        printJRank
            INTEGER (0..2147483647),
        printJName
            DisplayString,
        printJOwner
            DisplayString,
        printJDescription
            DisplayString,
        printJSize
            INTEGER (0..2147483647),
        printJAction
            INTEGER
    }

printJRank OBJECT-TYPE
        SYNTAX    INTEGER (0..2147483647)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The rank of this job currently in the queue.  A value of zero
                 indicates that the job is currently printing, a value of
                 one indicates that it is next to print, etc."
        ::= { printJEntry 1 }

printJName OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The name of a job in the printer queue."
        ::= { printJEntry 2 }

printJOwner OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "A string indicating the owner of this job."
        ::= { printJEntry 3 }

printJDescription OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "A string describing the contents of this job."
        ::= { printJEntry 4 }

printJSize OBJECT-TYPE
        SYNTAX    INTEGER (0..2147483647)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The size of job in octets."
        ::= { printJEntry 5 }

printJAction OBJECT-TYPE
        SYNTAX     INTEGER {
                    other(1),
                    topq(2),
                    remove(3)
                }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "A control variable used to trigger an action on a job in
                 a printer queue.  When read, this variable always returns
                 the most recent value that it was previously set to.  If it
                 has not been set since the last initialization of the network 
                 management subsystem on the node, it returns a value of
                 `other'.

                 When set, this variable causes the queue to undertake the
                 indicated action:

                 topq - place this job at the front of the queue,
                        after any job which is currently printing

                remove - remove this job from the queue"
        ::= { printJEntry 6 }


-- the user-admin group

users OBJECT IDENTIFIER ::= { unix 7 }


-- the users table

userTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF UserEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "The users table."
        ::= { users 1 }

userEntry OBJECT-TYPE
        SYNTAX     UserEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "An entry in the users table."
        INDEX      { IMPLIED userName }
        ::= { userTable 1 }

UserEntry ::=
    SEQUENCE {
        userName
            DisplayString,
        userPasswd
            DisplayString,
        userID
            Integer32,
        userGroup
            DisplayString,
        userQuota
            Integer32,
        userComment
            DisplayString,
        userFullName
            DisplayString,
        userHome
            DisplayString,
        userShell
            DisplayString,
        userStatus
            INTEGER
    }

userName OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "The name of this user."
        ::= { userEntry 1 }

userPasswd OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "The encrypted password string for this user.

                 This variable is usually unavailable for reading."
        ::= { userEntry 2 }

userID OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "The user's ID in the system."
        ::= { userEntry 3 }

userGroup OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "The user's group ID in the system."
        ::= { userEntry 4 }

userQuota OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "The user's quota."
        ::= { userEntry 5 }

userComment OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "A string describing the user."
        ::= { userEntry 6 }

userFullName OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "A string giving the user's full name."
        ::= { userEntry 7 }

userHome OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "The user's home directory."
        ::= { userEntry 8 }

userShell OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "The user's shell."
        ::= { userEntry 9 }

userStatus OBJECT-TYPE
        SYNTAX     INTEGER {
                    other(1),
                    invalid(2)
                }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "The type of user.

                 Setting this object to the value invalid(2) has the effect
                 of invaliding the corresponding entry in the userTable.  It
                 is an implementation-specific matter as to whether the agent
                 removes an invalidated entry from the table.  Accordingly,
                 management stations must be prepared to receive tabular
                 information from agents that correspond to entries not
                 currently in use.  Proper interpretation of such entries
                 requires examination of the relative userStatus object."
        ::= { userEntry 10 }

-- the group table

groupTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF GroupEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "The group table."
        ::= { users 2 }

groupEntry OBJECT-TYPE
        SYNTAX     GroupEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "An entry in the group table."
        INDEX      { IMPLIED groupName }
        ::= { groupTable 1 }

GroupEntry ::=
    SEQUENCE {
        groupName
            DisplayString,
        groupPasswd
            DisplayString,
        groupID
            Integer32,
        groupStatus
            INTEGER
    }

groupName OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "The name of this group."
        ::= { groupEntry 1 }

groupPasswd OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "The encrypted password string for this group.

                 This variable is usually unavailable for reading."
        ::= { groupEntry 2 }

groupID OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "The group's ID in the system."
        ::= { groupEntry 3 }

groupStatus OBJECT-TYPE
        SYNTAX     INTEGER {
                    other(1),
                    invalid(2)
                }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "The type of group.

                 Setting this object to the value invalid(2) has the effect
                 of invaliding the corresponding entry in the groupTable.  It
                 is an implementation-specific matter as to whether the agent
                 removes an invalidated entry from the table.  Accordingly,
                 management stations must be prepared to receive tabular
                 information from agents that correspond to entries not
                 currently in use.  Proper interpretation of such entries
                 requires examination of the relative groupStatus object."
        ::= { groupEntry 4 }

-- the group/user table

grUserTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF GrUserEntry
        MAX-ACCESS not-accessible
        STATUS     obsolete
        DESCRIPTION
                "(former) group/user table."
        ::= { users 3 }

grUserEntry OBJECT-TYPE
        SYNTAX     GrUserEntry
        MAX-ACCESS not-accessible
        STATUS     obsolete
        DESCRIPTION
                "An entry in the group/user table."
        INDEX      { groupName, grUserZero, IMPLIED userName }
        ::= { grUserTable 1 }

GrUserEntry ::=
    SEQUENCE {
        grUserStatus
            INTEGER
    }

grUserStatus OBJECT-TYPE
        SYNTAX     INTEGER {
                    other(1),
                    invalid(2)
                }
        MAX-ACCESS not-accessible
        STATUS     obsolete
        DESCRIPTION
                "The type of relationship between a user and a group."
        ::= { grUserEntry 1 }

grUserZero OBJECT-TYPE
        SYNTAX     INTEGER (0..0)
        MAX-ACCESS not-accessible
        STATUS     obsolete
        DESCRIPTION
                "(former) moby hack."
        ::= { users 4 }

grNewUserTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF GrNewUserEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "The group/user table."
        ::= { users 5 }

grNewUserEntry OBJECT-TYPE
        SYNTAX     GrNewUserEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "An entry in the group/user table."
        INDEX      { groupName, IMPLIED userName }
        ::= { grNewUserTable 1 }

GrNewUserEntry ::=
    SEQUENCE {
        grNewUserStatus
            INTEGER
    }

grNewUserStatus OBJECT-TYPE
        SYNTAX     INTEGER {
                    other(1),
                    invalid(2)
                }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "The type of relationship between a user and a group.

                 Setting this object to the value invalid(2) has the effect
                 of invaliding the corresponding entry in the grUserTable.  It
                 is an implementation-specific matter as to whether the agent
                 removes an invalidated entry from the table.  Accordingly,
                 management stations must be prepared to receive tabular
                 information from agents that correspond to entries not
                 currently in use.  Proper interpretation of such entries
                 requires examination of the relative grUserStatus object."
        ::= { grNewUserEntry 1 }


-- unix file-system group

unixFs OBJECT IDENTIFIER ::= { unix 8 }


-- the file-system table

fsTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF FsTableEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "The file system table"
        ::= { unixFs 1 }

fsTableEntry OBJECT-TYPE
        SYNTAX     FsTableEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "A row in the file system table"
        INDEX      { fsIdentifier }
        ::= { fsTable 1 }

FsTableEntry ::=
    SEQUENCE { 
        fsIdentifier
            Integer32,
        fsName
            DisplayString,
        fsMountPoint
            DisplayString,
        fsMountType
            DisplayString,
        fsMountOptions
            DisplayString,
        fsBlockSize
            INTEGER (0..2147483647),
        fsBlockCount
            INTEGER (0..2147483647),
        fsBlocksFree
            INTEGER (0..2147483647),
        fsBlocksAvailable
            INTEGER (0..2147483647),
        fsInodeCount
            INTEGER (0..2147483647),
        fsInodesAvailable
            INTEGER (0..2147483647)
    }

fsIdentifier OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "A system-dependent unique identifier."
        ::= { fsTableEntry 1 }

fsName OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The name of the file system (device)."
        ::= { fsTableEntry 2 }

fsMountPoint OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "Mount point for the file system."
        ::= { fsTableEntry 3 }

fsMountType OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The type of the mounted file system."
        ::= { fsTableEntry 4 }

fsMountOptions OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "File system specific options."
        ::= { fsTableEntry 5 }

fsBlockSize OBJECT-TYPE
        SYNTAX     INTEGER (0..2147483647)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "Block size for this file system."
        ::= { fsTableEntry 6 }

fsBlockCount OBJECT-TYPE
        SYNTAX     INTEGER (0..2147483647)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "Total number on blocks in file system."
        ::= { fsTableEntry 7 }

fsBlocksFree OBJECT-TYPE
        SYNTAX     INTEGER (0..2147483647)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "Total number of blocks free in file system."
        ::= { fsTableEntry 8 }

fsBlocksAvailable OBJECT-TYPE
        SYNTAX     INTEGER (0..2147483647)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "Number of blocks available to non-privileged users."
        ::= { fsTableEntry 9 }

fsInodeCount OBJECT-TYPE
        SYNTAX     INTEGER (0..2147483647)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "Total number of i-nodes on this file system."
        ::= { fsTableEntry 10 }

fsInodesAvailable OBJECT-TYPE
        SYNTAX     INTEGER (0..2147483647)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "Number of i-nodes available on file system."
        ::= { fsTableEntry 11 }


-- agent capabilities statements

fourBSDisodeAgent AGENT-CAPABILITIES
    PRODUCT-RELEASE	"ISODE 8.0 running on SunOS 4.1"
    STATUS		current
    DESCRIPTION         "4BSD/ISODE SNMPv2"

    SUPPORTS            RFC1213-MIB
        INCLUDES        { system, ip, icmp, tcp, udp }

        VARIATION       ipDefaultTTL
            SYNTAX      INTEGER (255..255)
            DESCRIPTION "Hard-wired on 4BSD"

        VARIATION       ipInAddrErrors
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       ipInUnknownProtos
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       ipInDiscards
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       ipInDelivers
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       ipOutRequests
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION	ipOutDiscards
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION	ipReasmOKs
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION	ipFragOKs
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION	ipFragFails
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION	ipFragCreates
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       ipRouteEntry
            CREATION-REQUIRES { ipRouteNextHop }
            DESCRIPTION "Routes on 4BSD require both
                         destination and next-hop"

        VARIATION       ipRouteType
            SYNTAX       INTEGER { direct(3), indirect(4) }
            WRITE-SYNTAX INTEGER { invalid(2), direct(3),
                                   indirect(4) }
            DESCRIPTION "Information limited on 4BSD"

        VARIATION       ipRouteProto
            SYNTAX      INTEGER { other(1), icmp (4) }
            DESCRIPTION "Information limited on 4BSD"

        VARIATION       ipRouteAge
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       ipNetToMediaEntry
            CREATION-REQUIRES { ipNetToMediaPhysAddress }
            DESCRIPTION "Address mappings on 4BSD require
                         both protocol and media addresses"

        VARIATION       ipNetToMediaType
            SYNTAX       INTEGER { dynamic(3), static(4) }
            WRITE-SYNTAX INTEGER { invalid(2), dynamic(3),
                                   static(4) }
            DESCRIPTION "Information limited on 4BSD"

        VARIATION	ipRoutingDiscards
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       tcpConnState
            WRITE-SYNTAX INTEGER {
                             closed(1),
                             listen(2),
                             synSent(3),
                             synReceived(4),
                             established(5),
                             finWait1(6),
                             finWait2(7),
                             closeWait(8),
                             lastAck(9),
                             closing(10),
                             timeWait(11)
                          }
            DESCRIPTION "Unable to set deleteTCB on 4BSD"

        VARIATION       tcpOutRsts
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       udpInDatagrams
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       udpNoPorts
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       udpOutDatagrams
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

    SUPPORTS            IF-MIB
	INCLUDES	{ ifGeneralGroup, ifPacketGroup }

        VARIATION       ifAdminStatus
            SYNTAX      INTEGER { up(1), down(2) }
            DESCRIPTION "Unable to set test mode on 4BSD"

        VARIATION       ifOperStatus
            SYNTAX      INTEGER { up(1), down(2) }
            DESCRIPTION "Information limited on 4BSD"

        VARIATION       ifLastChange
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       ifLinkUpDownTrapEnable
            ACCESS      read-only
            DESCRIPTION "Agent never sends these kind of traps"

        VARIATION       ifConnectorPresent
            ACCESS      not-implemented
            DESCRIPTION "Information (probably) not available on 4BSD"

        VARIATION       ifInOctets
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       ifOutOctets
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       ifInUnknownProtos
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       ifInBroadcastPkts
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       ifInMulticastPkts
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       ifInDiscards
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       ifOutBroadcastPkts
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       ifOutMulticastPkts
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

        VARIATION       ifPromiscuousMode
            ACCESS      not-implemented
            DESCRIPTION "Information not available on 4BSD"

    SUPPORTS            SNMPv2-PARTY-MIB
        INCLUDES        { partyMIBGroup }
        VARIATION       partyEntry
            CREATION-REQUIRES {}
            DESCRIPTION "Conceptual row creation supported"
        VARIATION       aclEntry
            CREATION-REQUIRES {}
            DESCRIPTION "Conceptual row creation supported"
        VARIATION       viewEntry
            CREATION-REQUIRES {}
            DESCRIPTION "Conceptual row creation supported"

    SUPPORTS		SNMPv2-MIB
	INCLUDES	{ snmpStatsGroup, snmpV1Group, snmpORGroup,
			  snmpTrapGroup, snmpSetGroup }

--* begin hack due to limitation in SNMPv1 object groups *--
    SUPPORTS		RFC1354-MIB
	INCLUDES	{ ipForward }
	VARIATION	ipForwardNumber
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	ipForwardDest
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	ipForwardMask
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	ipForwardPolicy
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	ipForwardNextHop
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	ipForwardIfIndex
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	ipForwardType
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	ipForwardProto
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	ipForwardAge
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	ipForwardInfo
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	ipForwardNextHopAS
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	ipForwardMetric1
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	ipForwardMetric2
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	ipForwardMetric3
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	ipForwardMetric4
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	ipForwardMetric5
	    ACCESS	not-implemented
	    DESCRIPTION	""
--* end hack due to limitation in SNMPv1 object groups *--

    SUPPORTS		RFC1414-MIB
	INCLUDES	{ identInfo }

    SUPPORTS		BSDUNIX-MIB
	INCLUDES	{ agents, mbuf, netstat }

	VARIATION	mbufFrees
            ACCESS      not-implemented
            DESCRIPTION "Information no longer available on 4.3BSD"

	VARIATION	unixClnpRouteFlags
	    ACCESS	not-implemented
	    DESCRIPTION	"No CLNP on 4BSD/ISODE for SunOS 4.1"

	VARIATION	unixClnpRouteRefCnt
	    ACCESS	not-implemented
	    DESCRIPTION	"No OSI on 4BSD/ISODE for SunOS 4.1"

	VARIATION	unixClnpRouteUses
	    ACCESS	not-implemented
	    DESCRIPTION	"No OSI on 4BSD/ISODE for SunOS 4.1"

    ::= { fourBSDisode 9 6 }


fourBSDunixdPeer AGENT-CAPABILITIES
    PRODUCT-RELEASE	"ISODE 8.0 running on SunOS 4.1"
    STATUS		current
    DESCRIPTION         "unixd"

    SUPPORTS            RFC1213-MIB
        INCLUDES        { system, snmp }

    SUPPORTS		BSDUNIX-MIB
	INCLUDES	{ agents, print, users, unixFs }

	VARIATION	iSODEContextName
	    ACCESS	not-implemented
	    DESCRIPTION	"should use SNMPv2 object groups"

	VARIATION	iSODEPartyTestMode
	    ACCESS	not-implemented
	    DESCRIPTION	"should use SNMPv2 object groups"

	VARIATION	iSODETestIndex
	    ACCESS	not-implemented
	    DESCRIPTION	"should use SNMPv2 object groups"

	VARIATION	iSODETestInteger
	    ACCESS	not-implemented
	    DESCRIPTION	"should use SNMPv2 object groups"

	VARIATION	iSODETestString
	    ACCESS	not-implemented
	    DESCRIPTION	"should use SNMPv2 object groups"

	VARIATION	userEntry
            CREATION-REQUIRES {}
            DESCRIPTION "Conceptual row creation supported"

	VARIATION	userQuota
	    ACCESS	not-implemented
	    DESCRIPTION	"No PW_QUOTA on SunOS 4.1"

	VARIATION	userComment
	    ACCESS	not-implemented
	    DESCRIPTION	"No PW_COMMENT on SunOS 4.1"

	VARIATION	groupEntry
            CREATION-REQUIRES {}
            DESCRIPTION "Conceptual row creation supported"

	VARIATION	grNewUserEntry
            CREATION-REQUIRES {}
            DESCRIPTION "Conceptual row creation supported"

    ::= { fourBSDunixd 4 }


fourBSDsendmailPeer AGENT-CAPABILITIES
    PRODUCT-RELEASE	"ISODE 8.0 running on SunOS 4.1"
    STATUS		current
    DESCRIPTION         "sendmail"

    SUPPORTS            RFC1213-MIB
        INCLUDES        { system, snmp }

    SUPPORTS		APPLICATION-MIB
	INCLUDES	{ applGroup, assocGroup }

    SUPPORTS		MTA-MIB
	INCLUDES	{ mtaGroup }

	VARIATION	mtaReceivedRecipients
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaStoredRecipients
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaTransmittedRecipients
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupReceivedMessages
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupRejectedMessages
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupStoredMessages
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupTransmittedMessages
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupReceivedVolume
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupStoredVolume
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupTransmittedVolume
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupReceivedRecipients
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupStoredRecipients
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupTransmittedRecipients
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupOldestMessageStored
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupInboundAssociations
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupOutboundAssociations
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupAccumulatedInboundAssociations
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupAccumulatedOutboundAssociations
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupLastInboundActivity
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupLastOutboundActivity
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupRejectedInboundAssociations
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupFailedOutboundAssociations
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupInboundRejectionReason
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupOutboundConnectFailureReason
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupScheduledRetry
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupMailProtocol
	    ACCESS	not-implemented
	    DESCRIPTION	""
	VARIATION	mtaGroupName
	    ACCESS	not-implemented
	    DESCRIPTION	""

    ::= { fourBSDsendmail 1 }


END
