--
-- Copyright (c) 2008
--   Stefan Walter <stef@memberwebs.com>
--
-- Redistribution and use in source and binary forms, with or without
-- modification, are permitted provided that the following conditions
-- are met:
-- 1. Redistributions of source code must retain the above copyright
--    notice, this list of conditions and the following disclaimer.
-- 2. Redistributions in binary form must reproduce the above copyright
--    notice, this list of conditions and the following disclaimer in the
--    documentation and/or other materials provided with the distribution.
--
-- THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-- ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
-- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-- SUCH DAMAGE.
--
JAILS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Counter64, Integer32, TimeTicks, Unsigned32
    FROM SNMPv2-SMI
    begemot
    FROM BEGEMOT-MIB;

jails MODULE-IDENTITY
    LAST-UPDATED "200903010000Z"
    ORGANIZATION "Stef Walter"
    CONTACT-INFO "stef@memberwebs.com"
    DESCRIPTION "The MIB for the bsnmp-jail module."

    ::= { begemot 1111 }

-- --------------------------------------------------------------------------

jailCount  OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "The number jails running on the system."
    ::= { jails 1 }

jailTable OBJECT-TYPE
    SYNTAX SEQUENCE OF JailEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION "A list of entries representing jails running on the system. The number of entries is given by the value of jailCount."
    ::= { jails 2 }

jailEntry OBJECT-TYPE
    SYNTAX JailEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION "An entry containing information about a running jail."
    INDEX { jailIndex }
    ::= { jailTable 1 }

JailEntry ::=
    SEQUENCE {
        jailIndex Integer32,
        jailHost OCTET STRING,
        jailInOctets Counter64,
        jailInPackets Counter64,
        jailOutOctets Counter64,
        jailOutPackets Counter64,
	jailProcesses Integer32,
	jailThreads Integer32,
	jailCpuTime TimeTicks,
	jailDiskSpace Counter64,
	jailDiskFiles Counter64
    }

jailIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Index of this jailEntry."
    ::= { jailEntry 0 }

jailHost OBJECT-TYPE
    SYNTAX OCTET STRING
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "The host name of this jail."
    ::= { jailEntry 1 }

jailInOctets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Number of octets received by this jail."
    ::= { jailEntry 10 }

jailInPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Number of packets received by this jail."
    ::= { jailEntry 11 }

jailOutOctets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Number of octets sent by this jail."
    ::= { jailEntry 12 }

jailOutPackets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Number of packets sent by this jail."
    ::= { jailEntry 13 }

jailProcesses OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Number of processes running in this jail."
    ::= { jailEntry 20 }

jailThreads OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Number of threads running in this jail."
    ::= { jailEntry 21 }

jailCpuTime OBJECT-TYPE
    SYNTAX TimeTicks
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Amount of CPU time taken by this jail."
    ::= { jailEntry 25 }

jailDiskSpace OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Amount of disk space taken by this jail. Zero means unknown."
    ::= { jailEntry 30 }

jailDiskFiles OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Number of files (inodes) in this jail. Zero means unknown."
    ::= { jailEntry 31 }

END
