IANA-LANGUAGE-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-IDENTITY, mib-2
        FROM SNMPv2-SMI;

ianaLanguages MODULE-IDENTITY
    LAST-UPDATED "201405220000Z" -- May 22, 2014
    ORGANIZATION "IANA"
    CONTACT-INFO
        "Internet Assigned Numbers Authority (IANA)

         Postal: ICANN
                 12025 Waterfront Drive, Suite 300
                 Los Angeles, CA 90094-2536

         Tel:    +1 310-301-5800
         E-Mail: iana&iana.org"
    DESCRIPTION
        "The MIB module registers object identifier values for
         well-known programming and scripting languages. Every
         language registration MUST describe the format used
         when transferring scripts written in this language.

         Any additions or changes to the contents of this MIB
         module require Designated Expert Review as defined in
         the Guidelines for Writing IANA Considerations Section
         document. The Designated Expert will be selected by
         the IESG Area Director of the OPS Area.

         Note, this module does not have to register all possible
         languages since languages are identified by object
         identifier values. It is therefore possible to registered 
         languages in private OID trees. The references given below are not
         normative with regard to the language version. Other
         references might be better suited to describe some newer 
         versions of this language. The references are only
         provided as `a pointer into the right direction'."

 -- Revision log, in reverse chronological order

    REVISION    "201405220000Z" -- May 22, 2014
    DESCRIPTION "Updated contact info."

    REVISION    "200005100000Z" -- May 10, 2000
    DESCRIPTION "Import mib-2 instead of experimental, so that
                 this module compiles"

    REVISION    "199909090900Z" -- September 9, 1999
    DESCRIPTION "Initial version as published at time of
                 publication of RFC 2591."
    ::= { mib-2 73 }

ianaLangJavaByteCode OBJECT-IDENTITY
    STATUS  current
    DESCRIPTION
        "Java byte code to be processed by a Java virtual machine.
         A script written in Java byte code is transferred by using
         the Java archive file format (JAR)."
    REFERENCE
        "The Java Virtual Machine Specification.
         ISBN 0-201-63452-X"
    ::= { ianaLanguages 1 }

ianaLangTcl OBJECT-IDENTITY
    STATUS  current
    DESCRIPTION
        "The Tool Command Language (Tcl). A script written in the
         Tcl language is transferred in Tcl source code format."
    REFERENCE
        "Tcl and the Tk Toolkit.
         ISBN 0-201-63337-X"
    ::= { ianaLanguages 2 }

ianaLangPerl OBJECT-IDENTITY
    STATUS  current
    DESCRIPTION
        "The Perl language. A script written in the Perl language
         is transferred in Perl source code format."
    REFERENCE
        "Programming Perl.
         ISBN 1-56592-149-6"
    ::= { ianaLanguages 3 }

ianaLangScheme OBJECT-IDENTITY
    STATUS  current
    DESCRIPTION
        "The Scheme language. A script written in the Scheme
         language is transferred in Scheme source code format."
    REFERENCE
        "The Revised^4 Report on the Algorithmic Language Scheme.
         MIT Press"
    ::= { ianaLanguages 4 }

ianaLangSRSL OBJECT-IDENTITY
    STATUS  current
    DESCRIPTION
        "The SNMP Script Language defined by SNMP Research. A
         script written in the SNMP Script Language is transferred
         in the SNMP Script Language source code format."
    ::= { ianaLanguages 5 }

ianaLangPSL OBJECT-IDENTITY
    STATUS  current
    DESCRIPTION
        "The Patrol Script Language defined by BMC Software. A script
         written in the Patrol Script Language is transferred in the
         Patrol Script Language source code format."
    REFERENCE
        "PATROL Script Language Reference Manual, Version 3.0,
         November 30, 1995. BMC Software, Inc. 2101 City West Blvd.,
         Houston, Texas 77042."
    ::= { ianaLanguages 6 }

ianaLangSMSL OBJECT-IDENTITY
    STATUS  current
    DESCRIPTION
        "The Systems Management Scripting Language. A script written
         in the SMSL language is transferred in the SMSL source code
         format."
    REFERENCE
        "ISO/ITU Command Sequencer.
         ISO 10164-21 or ITU X.753"
    ::= { ianaLanguages 7 }

END
