INTERNAL-MIB DEFINITIONS ::= BEGIN
 
          IMPORTS
                  IpAddress
                      FROM RFC1155-SMI
                  DisplayString, mib-2
                      FROM RFC1213-MIB
                  OBJECT-TYPE
                      FROM RFC-1212
                  TruthValue, RowStatus      
                      FROM STANDARD-MIB
                      ;
 


-- Object Identifiers for all the Managed Objects must be defined
-- if this MIB (or parts of it) shall be loaded.
-- It is entirely up to the implementation to assign OIDs for the
-- objects. The SNMP agent does not rely on the OIDs, but on the
-- symbolic names of the managed objects.

ericsson		OBJECT IDENTIFIER ::= {enterprises 193}
snmpAdm			OBJECT IDENTIFIER ::= {ericsson 1}
community		OBJECT IDENTIFIER ::= {snmpAdm 1}
trap             	OBJECT IDENTIFIER ::= {snmpAdm 2}
view    		OBJECT IDENTIFIER ::= {snmpAdm 3}


          -- Datatype

          StorageType ::=
                      INTEGER {
                               other(1),       -- eh?
                               volatile(2),    -- e.g., in RAM
                               nonVolatile(3), -- e.g., in NVRAM
                               permanent(4)    -- e.g., in ROM
                           }

          -- Managed Objects

          intCommunityTable OBJECT-TYPE
              SYNTAX      SEQUENCE OF IntCommunityEntry
              ACCESS      not-accessible
              STATUS      mandatory
              DESCRIPTION
		      "This table defines access for the different
                      communities.

                      When a request comes from a certain ip address,
                      referring to a community string, the mib view
                      and access corresponding to these are looked up
                      in this table. Then the operation is validatated against
                      the access, and all requested objects validated against
                      the mib view."
	      ::= { community 1}

          intCommunityEntry OBJECT-TYPE
              SYNTAX      IntCommunityEntry
              ACCESS      not-accessible
              STATUS      mandatory
              DESCRIPTION
		      ""
              INDEX      { intCommunityDestination, intCommunityString }
              ::= { intCommunityTable 1 }

          IntCommunityEntry ::=
              SEQUENCE {
                  intCommunityDestination      IpAddress,
                  intCommunityString           DisplayString,
                  intCommunityViewIndex        INTEGER,
                  intCommunityAccess           INTEGER,
                  intCommunityStatus           RowStatus
              }

          intCommunityDestination OBJECT-TYPE
              SYNTAX      IpAddress
              ACCESS      not-accessible
              STATUS      mandatory
              DESCRIPTION
                      "The ip address of a management station. The special
                      ip address {0.0.0.0} is a wildcard, meaning all possible
                      ip addresses. In this way, access can be granted to all
                      ip addressed for some communities."
              ::= { intCommunityEntry 1 }

          intCommunityString OBJECT-TYPE
              SYNTAX      DisplayString
              ACCESS      not-accessible
              STATUS      mandatory
              DESCRIPTION
                      "The community string, defining the community."
              ::= { intCommunityEntry 2 }

          intCommunityViewIndex OBJECT-TYPE
              SYNTAX      INTEGER
              ACCESS      read-write
              STATUS      mandatory
              DESCRIPTION
                      "Identifies a mib view.  Index into the
                      intViewTable."
              ::= { intCommunityEntry 3 }

          intCommunityAccess OBJECT-TYPE
              SYNTAX      INTEGER { read(1), readWrite(2) }
              ACCESS      read-write
              STATUS      mandatory
              DESCRIPTION
                      "Defines which operations the manager can perform
                      on the objects in the mib view."
              ::= { intCommunityEntry 4 }

          intCommunityStatus OBJECT-TYPE
              SYNTAX      RowStatus
              ACCESS      read-write
              STATUS      mandatory
              DESCRIPTION
                      "The status of this conceptual row in the
                      intCommunityTable."
              ::= { intCommunityEntry 5 }

          intAgentIpAddress OBJECT-TYPE
              SYNTAX      IpAddress
              ACCESS      read-only
              STATUS      mandatory
              DESCRIPTION
		"The IP address of this agent."
	      ::= { community 2 }

          intAgentUDPPort OBJECT-TYPE
              SYNTAX      INTEGER
              ACCESS      read-only
              STATUS      mandatory
              DESCRIPTION
		"The UDP port the agent listens to."
	      ::= { community 3 }

          intAgentMaxPacketSize OBJECT-TYPE
              SYNTAX      INTEGER (484..65535)
              ACCESS      read-only
              STATUS      mandatory
              DESCRIPTION
		"The maximum packet size in bytes this agent will send to a
                manager."
	      ::= { community 4 }


          intAddressTable OBJECT-TYPE
              SYNTAX      SEQUENCE OF IntAddressEntry
              ACCESS      not-accessible
              STATUS      mandatory
              DESCRIPTION
		"This table holds UDP related information on each known
                management station."
	      ::= { community 5 }


          intAddressEntry OBJECT-TYPE
              SYNTAX      IntAddressEntry
              ACCESS      not-accessible
              STATUS      mandatory
              DESCRIPTION
		""
              INDEX      { intAddressDestination }
              ::= { intAddressTable 1 }

          IntAddressEntry ::=
              SEQUENCE {
                  intAddressDestination        IpAddress,
                  intAddressUDPPort            INTEGER,
                  intAddressMaxPacketSize      INTEGER (484..65535),
                  intAddressStatus             RowStatus
              }

          intAddressDestination OBJECT-TYPE
              SYNTAX      IpAddress
              ACCESS      not-accessible
              STATUS      mandatory
              DESCRIPTION
                      "The ip address of the management station."
              ::= { intAddressEntry 1 }

          intAddressUDPPort OBJECT-TYPE
              SYNTAX      INTEGER
              ACCESS      read-write
              STATUS      mandatory
              DESCRIPTION
                      "The UDP port to which traps will be sent to
                      this destination."
	      DEFVAL { 162 }
              ::= { intAddressEntry 2 }

          intAddressMaxPacketSize OBJECT-TYPE
              SYNTAX      INTEGER (484..65535)
              ACCESS      read-write
              STATUS      mandatory
              DESCRIPTION
                      "The maximum packet size in bytes for Messages
                      sent to this destination.  The max size of a packet
                      sent to this destination will be the minumim of
                      this variable and agentMaxPacketSize.0."
              ::= { intAddressEntry 3 }

          intAddressStatus OBJECT-TYPE
              SYNTAX      RowStatus
              ACCESS      read-write
              STATUS      mandatory
              DESCRIPTION
                      "The status of this conceptual row in the
                      intAddressTable."
              ::= { intAddressEntry 4 }

          intTrapDestTable OBJECT-TYPE
              SYNTAX      SEQUENCE OF IntTrapDestEntry
              ACCESS      not-accessible
              STATUS      mandatory
              DESCRIPTION
		"The intTrapDestTable defines to which destination all traps
                for a specific community should be sent."
	      ::= { trap 1 }

          intTrapDestEntry OBJECT-TYPE
              SYNTAX      IntTrapDestEntry
              ACCESS      not-accessible
              STATUS      mandatory
              DESCRIPTION
		""
              INDEX      { intTrapDestCommunityString, intTrapDestDestination }
              ::= { intTrapDestTable 1 }

          IntTrapDestEntry ::=
              SEQUENCE {
                  intTrapDestCommunityString  DisplayString,
                  intTrapDestDestination      IpAddress,
                  intTrapDestStatus           RowStatus,
		  intTrapDestSnmpVersion      INTEGER
              }

          intTrapDestCommunityString OBJECT-TYPE
              SYNTAX      DisplayString (SIZE (0..255))
              ACCESS      not-accessible
              STATUS      mandatory
              DESCRIPTION
                      ""
              ::= { intTrapDestEntry 1 }

          intTrapDestDestination OBJECT-TYPE
              SYNTAX      IpAddress
              ACCESS      not-accessible
              STATUS      mandatory
              DESCRIPTION
                      ""
              ::= { intTrapDestEntry 2 }

          intTrapDestStatus OBJECT-TYPE
              SYNTAX      RowStatus
              ACCESS      read-write
              STATUS      mandatory
              DESCRIPTION
                      "The status of this conceptual row in the
                      intTrapDestTable."
              ::= { intTrapDestEntry 3 }

          intTrapDestSnmpVersion OBJECT-TYPE
              SYNTAX      INTEGER { v1(1), v2c(2) }
              ACCESS      read-write
              STATUS      mandatory
              DESCRIPTION
                      "The SNMP version of the manager.  If it is v1,
		      SNMPv1Traps are sent.  If it is v2c,
		      SNMPv2Traps are sent"
              ::= { intTrapDestEntry 4 }

          intViewTable OBJECT-TYPE
              SYNTAX      SEQUENCE OF IntViewEntry
              ACCESS      not-accessible
              STATUS      mandatory
              DESCRIPTION
                      "Locally held information about the MIB views
                      known to this agent.

                      Each MIB view is defined by two
                      collections of view subtrees: the included view
                      subtrees, and the excluded view subtrees.  Every
                      such subtree, both included and excluded, is
                      defined in this table.

                      To determine if a particular object instance is in
                      a particular MIB view, compare the object
                      instance's OBJECT IDENTIFIER with each of the MIB
                      view's entries in this table.  If none match, then
                      the object instance is not in the MIB view.  If
                      one or more match, then the object instance is
                      included in, or excluded from, the MIB view
                      according to the value of viewType in the entry
                      whose value of viewSubtree has the most sub-
                      identifiers.  If multiple entries match and have
                      the same number of sub-identifiers, then the
                      lexicographically greatest instance of viewType
                      determines the inclusion or exclusion.

                      An object instance's OBJECT IDENTIFIER X matches
                      an entry in this table when the number of sub-
                      identifiers in X is at least as many as in the
                      value of viewSubtree for the entry, and each sub-
                      identifier in the value of viewSubtree matches its
                      corresponding sub-identifier in X.  Two sub-
                      identifiers match either if the corresponding bit
                      of viewMask is zero (the 'wild card' value), or if
                      they are equal.

                      Due to this 'wild card' capability, we introduce
                      the term, a 'family' of view subtrees, to refer to
                      the set of subtrees defined by a particular
                      combination of values of viewSubtree and viewMask.
                      In the case where no 'wild card' is defined in
                      viewMask, the family of view subtrees reduces to a
                      single view subtree."
              ::= { view 1 }

          intViewEntry OBJECT-TYPE
              SYNTAX      IntViewEntry
              ACCESS      not-accessible
              STATUS      mandatory
              DESCRIPTION
                      "Information on a particular family of view
                      subtrees included in or excluded from a particular
                      MIB view.

                      Implementations must not restrict the number of
                      families of view subtrees for a given MIB view,
                      except as dictated by resource constraints on the
                      overall number of entries in the viewTable."
              INDEX      { intViewIndex, intViewSubtree }
              ::= { intViewTable 1 }

          IntViewEntry ::=
              SEQUENCE {
                  intViewIndex        INTEGER,
                  intViewSubtree      OBJECT IDENTIFIER,
                  intViewMask         OCTET STRING,
                  intViewType         INTEGER,
                  intViewStorageType  StorageType,
                  intViewStatus       RowStatus
              }


          intViewIndex OBJECT-TYPE
              SYNTAX      INTEGER (1..65535)
              ACCESS      not-accessible
              STATUS      mandatory
              DESCRIPTION
                      "A unique value for each MIB view.  The value for
                      each MIB view must remain constant at least from
                      one re-initialization of the entity's network
                      management system to the next re-initialization."
              ::= { intViewEntry 1 }

          intViewSubtree OBJECT-TYPE
              SYNTAX      OBJECT IDENTIFIER
              ACCESS      not-accessible
              STATUS      mandatory
              DESCRIPTION
                      "A MIB subtree."
              ::= { intViewEntry 2 }

          intViewMask OBJECT-TYPE
              SYNTAX      OCTET STRING (SIZE (0..16))
              ACCESS      read-write
              STATUS      mandatory
              DESCRIPTION
                      "The bit mask which, in combination with the
                      corresponding instance of viewSubtree, defines a
                      family of view subtrees.

                      Each bit of this bit mask corresponds to a sub-
                      identifier of viewSubtree, with the most
                      significant bit of the i-th octet of this octet
                      string value (extended if necessary, see below)
                      corresponding to the (8*i - 7)-th sub-identifier,
                      and the least significant bit of the i-th octet of
                      this octet string corresponding to the (8*i)-th
                      sub-identifier, where i is in the range 1 through
                      16.

                      Each bit of this bit mask specifies whether or not
                      the corresponding sub-identifiers must match when
                      determining if an OBJECT IDENTIFIER is in this
                      family of view subtrees; a '1' indicates that an
                      exact match must occur; a '0' indicates 'wild
                      card', i.e., any sub-identifier value matches.


                      Thus, the OBJECT IDENTIFIER X of an object
                      instance is contained in a family of view subtrees
                      if the following criteria are met:

                           for each sub-identifier of the value of
                           viewSubtree, either:

                                the i-th bit of viewMask is 0, or

                                the i-th sub-identifier of X is equal to
                                the i-th sub-identifier of the value of
                                viewSubtree.

                      If the value of this bit mask is M bits long and
                      there are more than M sub-identifiers in the
                      corresponding instance of viewSubtree, then the
                      bit mask is extended with 1's to be the required
                      length.

                      Note that when the value of this object is the
                      zero-length string, this extension rule results in
                      a mask of all-1's being used (i.e., no 'wild
                      card'), and the family of view subtrees is the one
                      view subtree uniquely identified by the
                      corresponding instance of viewSubtree."
              DEFVAL      { ''H }
              ::= { intViewEntry 3 }


          intViewType OBJECT-TYPE
              SYNTAX      INTEGER  {
                              included(1),
                              excluded(2)
                          }
              ACCESS      read-write
              STATUS      mandatory
              DESCRIPTION
                      "The status of a particular family of view
                      subtrees within the particular
                      MIB view.  The value 'included(1)' indicates that
                      the corresponding instances of viewSubtree and
                      viewMask define a family of view subtrees included
                      in the MIB view.  The  value 'excluded(2)'
                      indicates that the corresponding instances of
                      viewSubtree and viewMask define a family of view
                      subtrees excluded from the MIB view."
              DEFVAL      { included }
              ::= { intViewEntry 4 }

          intViewStorageType OBJECT-TYPE
              SYNTAX      StorageType
              ACCESS      read-write
              STATUS      mandatory
              DESCRIPTION
                      "The storage type for this conceptual row in the
                      intViewTable."
              DEFVAL      { nonVolatile }
              ::= { intViewEntry 5 }

          intViewStatus OBJECT-TYPE
              SYNTAX      RowStatus
              ACCESS      read-write
              STATUS      mandatory
              DESCRIPTION
                      "The status of this conceptual row in the
                      intViewTable."
              ::= { intViewEntry 6 }

	

END