ACCOUNTING-CONTROL-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    mib-2, Integer32                              FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, RowStatus, TestAndIncr,
    DisplayString, TruthValue                     FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
                                                  FROM SNMPv2-CONF
    ifIndex                                       FROM IF-MIB;


accountingControlMIB MODULE-IDENTITY
    LAST-UPDATED "9809281000Z"
    ORGANIZATION "IETF AToM MIB Working Group"
    CONTACT-INFO "Keith McCloghrie
                  Cisco Systems, Inc.
                  170 West Tasman Drive,
                  San Jose CA 95134-1706.
                  Phone: +1 408 526 5260
                  Email: kzm@cisco.com"
    DESCRIPTION
            "The MIB module for managing the collection and storage of
            accounting information for connections in a connection-
            oriented network such as ATM."
    ::= { mib-2 60 }


acctngMIBObjects       OBJECT IDENTIFIER ::= { accountingControlMIB 1 }

acctngSelectionControl OBJECT IDENTIFIER ::= { acctngMIBObjects 1 }
acctngFileControl      OBJECT IDENTIFIER ::= { acctngMIBObjects 2 }
acctngInterfaceControl OBJECT IDENTIFIER ::= { acctngMIBObjects 3 }
acctngTrapControl      OBJECT IDENTIFIER ::= { acctngMIBObjects 4 }

-- Textual Conventions


DataCollectionSubtree ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "The subtree component of a (subtree, list) tuple.  Such a
            (subtree, list) tuple defines a set of objects and their
            values to be collected as accounting data for a connection.
            The subtree specifies a single OBJECT IDENTIFIER value such
            that each object in the set is named by the subtree value
            appended with a single additional sub-identifier."
    SYNTAX       OBJECT IDENTIFIER

DataCollectionList ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "The list component of a (subtree, list) tuple.  Such a
            (subtree, list) tuple defines a set of objects and their
            values to be collected as accounting data for a connection.
            The subtree specifies a single OBJECT IDENTIFIER value such
            that each object in the set is named by the subtree value
            appended with a single additional sub-identifier.  The list
            specifies a set of data items, where the presence of an item
            in the list indicates that the item is (to be) present in
            the data collected for a connection; the absence of an item
            from the list indicates that the item is not (to be) present
            in the data collected for a connection.  Each data item is
            represented by an integer which when appended (as as
            additional sub-identifier) to the OBJECT IDENTIFIER value of
            the subtree identified by the tuple, is the name of an
            object defining that data item (its description and its
            syntax).

            The list is specified as an OCTET STRING in which each data
            item is represented by a single bit, where data items 1
            through 8 are represented by the bits in the first octet,
            data items 9 through 16 by the bits in the second octet,
            etc.  In each octet, the lowest numbered data item is
            represented by the most significant bit, and the highest
            numbered data item by the least significant bit.  A data
            item is present in the list when its bit is set, and absent
            when its bit is reset.  If the length of an OCTET STRING
            value is too short to represent one or more data items
            defined in a subtree, then those data items are absent from
            the set identified by the tuple of that subtree and that
            OCTET STRING value."
    SYNTAX       OCTET STRING (SIZE(0..8))

FileIndex ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "An arbitrary integer value identifying a file into which
            accounting data is being collected."
    SYNTAX       Integer32 (1..65535)


-- The Accounting Information Selection table

acctngSelectionTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AcctngSelectionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A list of accounting information selection entries.

            Note that additions, modifications and deletions of entries
            in this table can occur at any time, but such changes only
            take effect on the next occasion when collection begins into
            a new file.  Thus, between modification and the next 'swap',
            the content of this table does not reflect the current
            selection."
    ::= { acctngSelectionControl 1 }

acctngSelectionEntry OBJECT-TYPE
    SYNTAX      AcctngSelectionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry identifying an (subtree, list) tuple used to
            select a set of accounting information which is to be
            collected."
    INDEX   { acctngSelectionIndex }
    ::= { acctngSelectionTable 1 }

AcctngSelectionEntry ::=
    SEQUENCE {
        acctngSelectionIndex     Integer32,
        acctngSelectionSubtree   DataCollectionSubtree,
        acctngSelectionList      DataCollectionList,
        acctngSelectionFile      FileIndex,
        acctngSelectionType      BITS,
        acctngSelectionRowStatus RowStatus
    }

acctngSelectionIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An arbitrary integer value which uniquely identifies a
            tuple stored in this table.  This value is required to be
            the permanent 'handle' for an entry in this table for as
            long as that entry exists, including across restarts and
            power outages."
    ::= { acctngSelectionEntry 1 }

acctngSelectionSubtree OBJECT-TYPE
    SYNTAX      DataCollectionSubtree
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The combination of acctngSelectionSubtree and
            acctngSelectionList specifies one (subtree, list) tuple
            which is to be collected."
    ::= { acctngSelectionEntry 2 }

acctngSelectionList OBJECT-TYPE
    SYNTAX      DataCollectionList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The combination of acctngSelectionSubtree and
            acctngSelectionList specifies one (subtree, list) tuple
            which is to be collected."
    ::= { acctngSelectionEntry 3 }

acctngSelectionFile OBJECT-TYPE
    SYNTAX      FileIndex
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "An indication of the file into which the accounting
            information identified by this entry is to be stored.  If
            there is no conceptual row in the acctngFileTable for which
            the value of acctngFileIndex has the same value as this
            object, then the information selected by this entry is not
            collected."
    ::= { acctngSelectionEntry 4 }

acctngSelectionType OBJECT-TYPE
    SYNTAX      BITS { svcIncoming(0),
                       svcOutgoing(1),
                       svpIncoming(2),
                       svpOutgoing(3),
                       pvc(4),
                       pvp(5),
                       spvcOriginator(6),
                       spvcTarget(7),
                       spvpOriginator(8),
                       spvpTarget(9) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "Indicates the types of connections for which the
            information selected by this entry are to be collected."
    DEFVAL      { { svcIncoming, svcOutgoing,
                    svpIncoming, svpOutgoing } }
    ::= { acctngSelectionEntry 5 }

acctngSelectionRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The status of this conceptual row.  An agent may refuse to
            create new conceptual rows and/or modify existing conceptual
            rows, if such creation/modification would cause multiple
            rows to have the same values of acctngSelectionSubtree and
            acctngSelectionList.

            A conceptual row can not have the status of 'active' until
            values have been assigned to the acctngSelectionSubtree,
            acctngSelectionList and acctngSelectionFile columnar objects
            within that row.

            An agent must not refuse to change the values of the
            acctngSelectionSubtree, acctngSelectionList and
            acctngSelectionFile columnar objects within a conceptual row
            even while that row's status is 'active'.  Similarly, an
            agent must not refuse to destroy an existing conceptual row
            while the file referenced by that row's instance of
            acctngSelectionFile is in active use, i.e., while the
            corresponding instance of acctngFileRowStatus has the value
            'active'.  However, such changes only take effect upon the
            next occasion when collection begins into a new (version of
            the) file."
    ::= { acctngSelectionEntry 6 }

-- The Accounting File table

acctngFileTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AcctngFileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A list of files into which accounting information is to be
            stored."
    ::= { acctngFileControl 1 }

acctngFileEntry OBJECT-TYPE
    SYNTAX      AcctngFileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry identifying a file into which accounting
            information is to be collected."
    INDEX   { acctngFileIndex }
    ::= { acctngFileTable 1 }

AcctngFileEntry ::=
    SEQUENCE {
        acctngFileIndex                 FileIndex,
        acctngFileName                  DisplayString,
        acctngFileNameSuffix            DisplayString,
        acctngFileDescription           DisplayString,
        acctngFileCommand               INTEGER,
        acctngFileMaximumSize           Integer32,
        acctngFileCurrentSize           Integer32,
        acctngFileFormat                INTEGER,
        acctngFileCollectMode           BITS,
        acctngFileCollectFailedAttempts BITS,
        acctngFileInterval              Integer32,
        acctngFileMinAge                Integer32,
        acctngFileRowStatus             RowStatus
    }

acctngFileIndex OBJECT-TYPE
    SYNTAX      FileIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A unique value identifying a file into which accounting
            data is to be stored.  This value is required to be the
            permanent 'handle' for an entry in this table for as long as
            that entry exists, including across restarts and power
            outages."
    ::= { acctngFileEntry 1 }

acctngFileName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(1..32))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The name of the file into which accounting data is to be
            stored.  If files are named using suffixes, then the name of
            the current file is the concatenation of acctngFileName and
            acctngFileNameSuffix.

            An agent will respond with an error (e.g., 'wrongValue') to
            a management set operation which attempts to modify the
            value of this object to the same value as already held by
            another instance of acctngFileName.  An agent will also
            respond with an error (e.g., 'wrongValue') if the new value
            is invalid for use as a file name on the local file system
            (e.g., many file systems do not support white space embedded
            in file names).

            The value of this object can not be modified while the
            corresponding instance of acctngFileRowStatus is 'active'."
    ::= { acctngFileEntry 2 }

acctngFileNameSuffix OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..8))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The suffix, if any, of the name of a file into which
            accounting data is currently being stored.  If suffixes are
            not used, then the value of this object is the zero-length
            string.  Note that if a separator, such as a period, is used
            in appending the suffix to the file name, then that
            separator appears as the first character of this value."
    ::= { acctngFileEntry 3 }

acctngFileDescription OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The textual description of the accounting data which will
            be stored (on the next occasion) when header information is
            stored in the file.  The value of this object may be
            modified at any time."
    DEFVAL      { "" }
    ::= { acctngFileEntry 4 }

acctngFileCommand OBJECT-TYPE
    SYNTAX      INTEGER {
                    -- the following two values are states:
                    -- they may be read but not written
                    idle(1),
                    cmdInProgress(2),
                    -- the following two values are actions:
                    -- they may be written, but are never read
                    swapToNewFile(3),
                    collectNow(4)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "A control object for the collection of accounting data.
            When read the value is either 'idle' or 'cmdInProgress'.
            Writing a value is only allowed when the current value is
            'idle'.  When a value is successfully written, the value
            changes to 'cmdInProgress' until completion of the action,
            at which time the value reverts to 'idle'.  Actions are
            invoked by writing the following values:

               'swapToNewFile' - the collection of data into the current
                      file is terminated, and collection continues into
                      a new (version of the) file.

               'collectNow' - the agent creates and stores a connection
                      record into the current file for each active
                      connection having a type matching
                      acctngSelectionType and an age greater than
                      acctngFileMinAge."
    DEFVAL      { idle }
    ::= { acctngFileEntry 5 }

acctngFileMaximumSize OBJECT-TYPE
    SYNTAX      Integer32 (100..2147483647)
    UNITS       "bytes"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The maximum size of the file (including header
            information).  When the file of collected data reaches this
            size, either the agent automatically swaps to a new version
            (i.e., a new value acctngFileNameSuffix) of the file, or new
            records are discarded.  Since a file must contain an
            integral number of connection records, the actual maximum
            size of the file may be just less OR Just greater than the
            value of this object.

            The value of this object can not be modified while the
            corresponding instance of acctngFileRowStatus is 'active'.
            The largest value of the maximum file size in some agents
            will be less than 2147483647 bytes."
    DEFVAL      { 5000000 }
    ::= { acctngFileEntry 6 }

acctngFileCurrentSize OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    UNITS       "bytes"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The current size of the file into which data is currently
            being collected, including header information."
    ::= { acctngFileEntry 7 }

acctngFileFormat OBJECT-TYPE
    SYNTAX      INTEGER { other(1), ber(2) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "An indication of the format in which the accounting data is
            to be stored in the file.  If the value is modified, the new
            value takes effect after the next 'swap' to a new file.  The
            value ber(2) indicates the standard format."
    DEFVAL      { ber }
    ::= { acctngFileEntry 8 }

acctngFileCollectMode OBJECT-TYPE
    SYNTAX      BITS { onRelease(0), periodically(1) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "An indication of when accounting data is to be written into
            this file.  Note that in addition to the occasions indicated
            by the value of this object, an agent always writes
            information on appropriate connections to the file when the
            corresponding instance of acctngFileCommand is set to
            'collectNow'.

              - 'onRelease' - whenever a connection (or possibly,
                      connection attempt) is terminated, either through
                      a Release message or through management removal,
                      information on that connection is written.

              - 'periodically' - information on appropriate connections
                      is written on the expiry of a periodic timer,

            This value may be modified at any time."
    DEFVAL      { { onRelease } }
    ::= { acctngFileEntry 9 }

acctngFileCollectFailedAttempts OBJECT-TYPE
    SYNTAX      BITS { soft(0), regular(1) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "An indication of whether connection data is to be collected
            for failed connection attempts when the value of the
            corresponding instance of acctngFileCollectMode includes
            'onRelease'.  The individual values have the following
            meaning:

              'soft' - indicates that connection data is to be collected
            for failed Soft PVCs/PVPs which originate or terminate at
            the relevant interface.

              'regular' - indicates that connection data is to be
            collected for failed SVCs, including Soft PVCs/PVPs not
            originating or terminating at the relevant interface.

            This value may be modified at any time."
    DEFVAL      { { soft, regular } }
    ::= { acctngFileEntry 10 }

acctngFileInterval OBJECT-TYPE
    SYNTAX      Integer32 (60..86400)
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The number of seconds between the periodic collections of
            accounting data when the value of the corresponding instance
            of acctngFileCollectMode includes 'periodically'.  Some
            agents may impose restrictions on the range of this
            interval.  This value may be modified at any time."
    DEFVAL     { 3600 }
    ::= { acctngFileEntry 11 }

acctngFileMinAge OBJECT-TYPE
    SYNTAX      Integer32 (60..86400)
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The minimum age of a connection, as used to determine the
            set of connections for which data is to be collected at the
            periodic intervals and/or when acctngFileCommand is set to
            'collectNow'.  The age of a connection is the elapsed time
            since it was last installed.

            When the periodic interval expires for a file or when
            acctngFileCommand is set to 'collectNow', accounting data is
            collected and stored in the file for each connection having
            a type matching acctngSelectionType and whose age at that
            time is greater than the value of acctngFileMinAge
            associated with the file.  This value may be modified at any
            time."
    DEFVAL     { 3600 }
    ::= { acctngFileEntry 12 }

acctngFileRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The status of this conceptual row.

            This object can not be set to 'active' until a value has
            been assigned to the corresponding instance of
            acctngFileName.  Collection of data into the file does not
            begin until this object has the value 'active' and one or
            more (active) instances of acctngSelectionFile refer to it.
            If this value is modified after a collection has begun,
            collection into this file terminates and a new (or new
            version of the) file is immediately made ready for future
            collection (as if acctngFileCommand had been set to
            'swapToNewFile'), but collection into the new (or new
            version of the) file does not begin until the value is
            subsequently set back to active."
    ::= { acctngFileEntry 13 }

-- Overall Control

acctngAdminStatus OBJECT-TYPE
    SYNTAX      INTEGER { enabled(1), disabled(2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "A control object to indicate the administratively desired
            state of the collection of accounting records across all
            interfaces.

            Modifying the value of acctngAdminStatus to 'disabled' does
            not remove or change the current configuration as
            represented by the active rows in the acctngSelectionTable,
            acctngFileTable and acctngInterfaceTable tables."
    ::= { acctngInterfaceControl 1 }

acctngOperStatus OBJECT-TYPE
    SYNTAX      INTEGER { enabled(1), disabled(2) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A status object to indicate the operational state of the
            collection of accounting records across all interfaces.

            When the value of acctngAdminStatus is modified to be
            'enabled', the value of this object will change to 'enabled'
            providing it is possible to begin collecting accounting
            records.

            When the value of acctngAdminStatus is modified to be
            'disabled', the value of this object will change to
            'disabled' as soon as the collection of accounting records
            has terminated."
    ::= { acctngInterfaceControl 2 }

acctngProtection OBJECT-TYPE
    SYNTAX      TestAndIncr
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "A control object to protect against duplication of control
            commands.  Over some transport/network protocols, it is
            possible for SNMP messages to get duplicated.  Such
            duplication, if it occurred at just the wrong time could
            cause serious disruption to the collection and retrieval of
            accounting data, e.g., if a SNMP message setting
            acctngFileCommand to 'swapToNewFile' were to be duplicated,
            a whole file of accounting data could be lost.

            To protect against such duplication, a management
            application should retrieve the value of this object, and
            include in the Set operation needing protection, a variable
            binding which sets this object to the retrieved value."
    ::= { acctngInterfaceControl 3 }

acctngAgentMode OBJECT-TYPE
    SYNTAX      INTEGER { swapOnCommand(1), swapOnFull(2) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "An indication of the behaviour mode of the agent when a
            file becomes full:

               'swapOnCommand' - the agent does not automatically swap
                      to a new file; rather, it discards newly collected
                      data until a management application subsequently
                      instructs it to swap to a new file.

               'swapOnFull' - the agent terminates collection into the
                      current file as and when that file becomes full."
    ::= { acctngInterfaceControl 4 }


--  Per-interface control table

acctngInterfaceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AcctngInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A table controlling the collection of accounting data on
            specific interfaces of the switch."
    ::= { acctngInterfaceControl 5 }

acctngInterfaceEntry OBJECT-TYPE
    SYNTAX      AcctngInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry which controls whether accounting data is to be
            collected on an interface.  The types of interfaces which
            are represented in this table is implementation-specific."
    INDEX   { ifIndex }
    ::= { acctngInterfaceTable 1 }

AcctngInterfaceEntry ::=
    SEQUENCE {
        acctngInterfaceEnable     TruthValue
    }

acctngInterfaceEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Indicates whether the collection of accounting data is
            enabled on this interface."
    ::= { acctngInterfaceEntry 1 }

-- Objects for controlling the use of Notifications

acctngControlTrapThreshold OBJECT-TYPE
    SYNTAX      INTEGER (0..99)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "A percentage of the maximum file size at which a 'nearly-
            full' trap is generated.  The value of 0 indicates that no
            'nearly-full' trap is to be generated."
    ::= { acctngTrapControl 1 }

acctngControlTrapEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "An indication of whether the acctngFileNearlyFull and
            acctngFileFull traps are enabled."
    ::= { acctngTrapControl 2 }

-- notifications

acctngNotifications OBJECT IDENTIFIER ::= { accountingControlMIB 2 }

acctngNotifyPrefix OBJECT IDENTIFIER ::= { acctngNotifications 0 }


acctngFileNearlyFull NOTIFICATION-TYPE
    OBJECTS     { acctngFileName,
                  acctngFileMaximumSize,
                  acctngControlTrapThreshold,
                  acctngFileNameSuffix }
    STATUS      current
    DESCRIPTION
            "An indication that the size of the file into which
            accounting information is currently being collected has
            exceeded the threshold percentage of its maximum file size.
            This notification is generated only at the time of the
            transition from not-exceeding to exceeding."
    ::= { acctngNotifyPrefix 1 }


acctngFileFull NOTIFICATION-TYPE
    OBJECTS     { acctngFileName,
                  acctngFileMaximumSize,
                  acctngFileNameSuffix }
    STATUS      current
    DESCRIPTION
            "An indication that the size of the file into which
            accounting information is currently being collected has
            transistioned to its maximum file size.  This notification
            is generated (for all values of acctngAgentMode) at the time
            of the transition from not-full to full.  If acctngAgentMode
            has the value 'swapOnCommand', it is also generated
            periodically thereafter until such time as collection of
            data is no longer inhibited by the file full condition."
    ::= { acctngNotifyPrefix 2 }


-- conformance information

acctngConformance OBJECT IDENTIFIER ::= { accountingControlMIB 3 }
acctngGroups      OBJECT IDENTIFIER ::= { acctngConformance 1 }
acctngCompliances OBJECT IDENTIFIER ::= { acctngConformance 2 }

acctngCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for switches which implement the
            Accounting Control MIB."

    MODULE  -- this module
        MANDATORY-GROUPS { acctngBasicGroup,
                           acctngNotificationsGroup }

        OBJECT      acctngSelectionType
        SYNTAX      BITS { svcIncoming(0), svcOutgoing(1) }
        DESCRIPTION "The minimal requirement is collection for SVCs."

        OBJECT      acctngSelectionRowStatus
        MIN-ACCESS  read-only
        DESCRIPTION "Write access is not required."

        OBJECT      acctngFileName
        MIN-ACCESS  read-only
        DESCRIPTION "Write access is not required."

        OBJECT      acctngFileCommand
        MIN-ACCESS  read-only
        DESCRIPTION "Write access is not required."

        OBJECT      acctngFileFormat
        SYNTAX      INTEGER { ber(2) }
        MIN-ACCESS  read-only
        DESCRIPTION "Only the standard format is required, and write
                    access is not required."

        OBJECT      acctngFileMaximumSize
        MIN-ACCESS  read-only
        DESCRIPTION "Write access is not required."

        OBJECT      acctngFileCollectMode
        SYNTAX      BITS { onRelease(0) }
        MIN-ACCESS  read-only
        DESCRIPTION "The minimal requirement is for collection on
                    connection release."

        OBJECT      acctngFileInterval
        MIN-ACCESS  read-only
        DESCRIPTION "Write access is not required."

        OBJECT      acctngFileCollectFailedAttempts
        MIN-ACCESS  read-only
        DESCRIPTION "Write access is not required."

        OBJECT      acctngFileRowStatus
        MIN-ACCESS  read-only
        DESCRIPTION "Write access is not required."

    ::= { acctngCompliances 1 }


-- units of conformance

acctngBasicGroup    OBJECT-GROUP
    OBJECTS { acctngSelectionSubtree, acctngSelectionList,
              acctngSelectionFile, acctngSelectionType,
              acctngSelectionRowStatus, acctngFileName,
              acctngFileNameSuffix, acctngFileDescription,
              acctngFileCommand, acctngFileMaximumSize,
              acctngFileCurrentSize, acctngFileRowStatus,
              acctngFileFormat, acctngFileCollectMode,
              acctngFileCollectFailedAttempts, acctngFileInterval,
              acctngFileMinAge,
              acctngAdminStatus, acctngOperStatus,
              acctngProtection, acctngAgentMode,
              acctngInterfaceEnable,
              acctngControlTrapThreshold,
              acctngControlTrapEnable
            }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing control of the basic
            collection of accounting data for connection-oriented
            networks."
    ::= { acctngGroups 1 }

acctngNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS { acctngFileNearlyFull, acctngFileFull }
    STATUS        current
    DESCRIPTION
            "The notifications of events relating to controlling the
            collection of accounting data."
    ::= { acctngGroups 2 }

END
