-- -- -- Copyright (C) 1996-2000 by SNMP Research, Incorporated. -- -- This software is furnished under a license and may be used and copied -- only in accordance with the terms of such license and with the -- inclusion of the above copyright notice. This software or any other -- copies thereof may not be provided or otherwise made available to any -- other person. No title to and ownership of the software is hereby -- transferred. -- -- The information in this software is subject to change without notice -- and should not be construed as a commitment by SNMP Research, Incorporated. -- -- Restricted Rights Legend: -- Use, duplication, or disclosure by the Government is subject to -- restrictions as set forth in subparagraph (c)(1)(ii) of the Rights -- in Technical Data and Computer Software clause at DFARS 252.227-7013; -- subparagraphs (c)(4) and (d) of the Commercial Computer -- Software-Restricted Rights Clause, FAR 52.227-19; and in similar -- clauses in the NASA FAR Supplement and other corresponding -- governmental regulations. -- -- -- -- PROPRIETARY NOTICE -- -- This software is an unpublished work subject to a confidentiality agreement -- and is protected by copyright and trade secret law. Unauthorized copying, -- redistribution or other use of this work is prohibited. -- -- The above notice of copyright on this source code product does not indicate -- any actual or intended publication of such source code. -- -- DR-WEB-CUSTOM-PAGE-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE FROM SNMPv2-SMI StorageType, DisplayString, RowStatus, TestAndIncr, TruthValue FROM SNMPv2-TC; snmpResearch OBJECT IDENTIFIER ::= { enterprises 99 } snmpResearchMIBs OBJECT IDENTIFIER ::= { snmpResearch 12 } htmlpage MODULE-IDENTITY LAST-UPDATED "9611180000Z" ORGANIZATION "SNMP Research" CONTACT-INFO " SNMP Research Postal: SNMP Research 3001 Kimberlin Heights Road Knoxville, TN 37920-9716 Tel: +1 423 573 1434 Fax: +1 423 573 9197 E-mail: info@snmp.com" DESCRIPTION "A MIB module to allow storage and retrieval of information for DR-Web custom HTML pages representing information retrievable by SNMP." REVISION "9601118000Z" DESCRIPTION "MIB renamed (htmlPage to htmlpage), OID reassigned from snmpResearchMIBs 25, and spinLocks added." REVISION "9607290000Z" DESCRIPTION " Initial revision of the custom HTML page MIB." ::= { snmpResearchMIBs 30 } -- The next four OIDs are simply for organizational purposes htmlGlobals OBJECT IDENTIFIER ::= { htmlpage 1 } htmlPages OBJECT IDENTIFIER ::= { htmlpage 2 } htmlParameters OBJECT IDENTIFIER ::= { htmlpage 3 } htmlContents OBJECT IDENTIFIER ::= { htmlpage 4 } -- -- htmlGlobals objects -- htmlConsistencyCheck OBJECT-TYPE SYNTAX INTEGER { consistent(1), verify(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object is used to instruct the agent to perform a consistency check for the three tables defined in this MIB. This means that: Any entries in either the htmlPageParameterTable or htmlContentTable which do not have a corresponding entry in the htmlPageTable are removed. When read, the value returned is always consistent(1). To perform garbage collection of unreferenced rows in the htmlPageParameterTable and htmlPageContentTable, the object is set to the value verify(2). Note that this test should not remove rows in the htmlPageParameterTable which are not used in any of the corresponding rows in the htmlPageContentTable. Neither should the test create new rows. This test is always performed at agent initialization. Note that this object is not saved to stable storage." ::= { htmlGlobals 1 } -- -- htmlPages objects -- htmlPageSetSerialNo OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "An advisory lock used to allow several cooperating SNMPv2 entities, all acting in a manager role, to coordinate their use of the Set operation in creating or altering the htmlPageOwner object of the htmlPageEntry conceptual row. See the discussion of htmlPageOwner for more information. Since this is an advisory lock, entities acting in an agent role do not enforce the use of htmlPageSetSerialNo. Note that this object is not saved to stable storage." REFERENCE "See SNMPv2-TC for definition of TestAndIncr" ::= { htmlPages 1 } htmlPageTable OBJECT-TYPE SYNTAX SEQUENCE OF HtmlPageEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each conceptual row in this table holds general information about one HTML page." ::= { htmlPages 2 } htmlPageEntry OBJECT-TYPE SYNTAX HtmlPageEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the htmlPageTable." INDEX { htmlPageName } ::= { htmlPageTable 1 } HtmlPageEntry ::= SEQUENCE { htmlPageName DisplayString, htmlPageTitle DisplayString, htmlPageAddressInfo DisplayString, htmlPageLastUpdated DisplayString, htmlPageBodyArgs DisplayString, htmlPageOwner OCTET STRING, htmlPageStorageType StorageType, htmlPageStatus RowStatus, htmlPageAutoGenHeader TruthValue } htmlPageName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS not-accessible STATUS current DESCRIPTION "The name of this htmlPage." ::= { htmlPageEntry 1 } htmlPageTitle OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "The title to be included in this HTML page. The text in this object is inserted between <text inserted here> on the HTML page. A zero-length string means that there should be no title." DEFVAL { ''H } -- the empty string ::= { htmlPageEntry 2 } htmlPageAddressInfo OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "The address information for this HTML page. This string will be inserted at the bottom of the HTML page in an
pair. The author can put anything in this string that they wish. It may be such things as:
Author's e-mail Some important link. The author's contact information Copyright © some copyright information
and so on. A zero-length string means that there should be no address information." DEFVAL { ''H } -- the empty string ::= { htmlPageEntry 3 } htmlPageLastUpdated OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "The time when this HTML page was last updated. There is no explicit format associated with this object." DEFVAL { ''H } -- the empty string ::= { htmlPageEntry 4 } htmlPageBodyArgs OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "The arguments to be used in the tag. For example, this object may have the string bgcolor='#EFEFEF' which would result in the tag of: being used. The default value of this object is the empty string." DEFVAL { ''H } -- the empty string ::= { htmlPageEntry 5 } htmlPageOwner OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..127)) MAX-ACCESS read-create STATUS current DESCRIPTION "The htmlPageOwner object is used to allow several cooperating SNMPv2 entities, all acting in a manager role, to coordinate their use of the Set operation in creating or altering any objects in any htmlPageEntry, htmlPageParameterEntry, or htmlPageContentEntry conceptual row sharing the same value of the index (htmlPageName) as this row. Since this is an advisory lock, entities acting in an agent role to not enforce the use of htmlPageOwner. It is recommended that information identifying the management entity desiring to make changes to a given custom page be used. This information should uniquely identify the management entity over all invocations of that entity. This object implements an advisory write control capability for the entire page described by this row. The intended use is as follows: An entity acting in a manager role gets the value of htmlPageOwner for this conceptual row, as well as the current value of htmlPageSetSerialNo, and takes one of the following actions: - If the row does not yet exist, then the entity may create the row, ignoring the value of htmlPageSetSerialNo. - If the value of htmlPageOwner matches the entity's identifying information, then the entity may make modifications to conceptual rows with a value of htmlPageName matching that of this row. The value of htmlPageSetSerialNo is ignored. A manager may make this row managable by any manager by setting the contents of htmlPageOwner to the empty string. - If the value of htmlPageOwner is the empty string, then the manager may change the value of this object. Using the usual TestAndIncr semantics, the entity, using the received value of htmlPageSetSerialNo, attempts to set htmlPageOwner for this row and htmlPageSetSerialNo in the same PDU. If this set succeeds, the entity may then alter conceptual rows with a value of htmlPagename matching that of this row. - If the value of this object is not the null string, and does not match the entity's identification information, then the entity may not make modifications to any object in any conceptual row with a value of the htmlPageName object matching that of this row." DEFVAL { ''H } -- the empty string ::= { htmlPageEntry 6 } htmlPageStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies how this row of the table should be stored." REFERENCE "See SNMPv2-TC for definition of StorageType" DEFVAL { volatile } ::= { htmlPageEntry 7 } htmlPageStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row in the htmlPageTable. Note that when a row is destroyed, this has no effect upon rows in the htmlPageParameterTable and htmlPageContentTable associated with this row. Garbage collection is done using htmlConsistencyCheck." REFERENCE "See SNMPv2-TC for definition of RowStatus" ::= { htmlPageEntry 8 } htmlPageAutoGenHeader OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies how the page should be formatted. When set to true(1), the other objects in this row are used to format the header and footer of this custom page. When set to false(2), all formatting is taken care of in the custom page." DEFVAL { true } ::= { htmlPageEntry 9 } -- -- htmlParameters objects -- htmlPageParameterTable OBJECT-TYPE SYNTAX SEQUENCE OF HtmlPageParameterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each conceptual row in this table holds information about a parameter that may be referenced in an htmlPageContentEntry for a particular page name. The table is indexed by the page name and the name of the parameter. Each row associates a page and a parameter with a default value for that parameter." ::= { htmlParameters 1 } htmlPageParameterEntry OBJECT-TYPE SYNTAX HtmlPageParameterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the htmlPageParameterTable." INDEX { htmlPageName, htmlPageParameterName } ::= { htmlPageParameterTable 1 } HtmlPageParameterEntry ::= SEQUENCE { htmlPageParameterName DisplayString, htmlPageParameterDefault DisplayString, htmlPageParameterStorageType StorageType, htmlPageParameterStatus RowStatus } htmlPageParameterName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS not-accessible STATUS current DESCRIPTION "Name of this HTML page parameter." ::= { htmlPageParameterEntry 1 } htmlPageParameterDefault OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "The default value for a particular parameter in a particular HTML page." DEFVAL { ''H } ::= { htmlPageParameterEntry 2 } htmlPageParameterStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies how this row of the table should be stored." REFERENCE "See SNMPv2-TC for definition of StorageType" DEFVAL { volatile } ::= { htmlPageParameterEntry 3 } htmlPageParameterStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row in the htmlPageParameterTable. Actions taken on rows of this table have no direct effects on rows in other tables in this MIB." REFERENCE "See SNMPv2-TC for definition of RowStatus" ::= { htmlPageParameterEntry 4 } -- -- htmlContents objects -- htmlPageContentTable OBJECT-TYPE SYNTAX SEQUENCE OF HtmlPageContentEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each conceptual row in this table holds information about text to be displayed on HTML pages." ::= { htmlContents 1 } htmlPageContentEntry OBJECT-TYPE SYNTAX HtmlPageContentEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the htmlPageContentTable." INDEX { htmlPageName, htmlPageContentIndex } ::= { htmlPageContentTable 1 } HtmlPageContentEntry ::= SEQUENCE { htmlPageContentIndex INTEGER (1..65535), htmlPageContentText DisplayString, htmlPageContentStorageType StorageType, htmlPageContentStatus RowStatus } htmlPageContentIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Index for one piece of text to be displayed on a HTML page." ::= { htmlPageContentEntry 1 } htmlPageContentText OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "A piece of text to be displayed on this HTML page. Generation of HTML code from the text is done by: (i) Replace all references to page parameters, written as '&$htmlPageParameterName;', with the corresponding values. For example, if you had a parameter called InterfaceNumber with a value of 3, the character string Information about interface number &$InterfaceNumber;: would become Information about interface number 3: The values for the parameters are either given by the user or are taken from htmlPageParameterDefault.htmlPageName.htmlPageParameterName Note that if there is no defined value for a parameter in the htmlParametersTable, the user will typically be prompted for this value in their Web browser. (ii) Replace all occurrences of the HTML-style element objectName with the HTML code for the value of the MIB object objectName. The tag has the following attributes: value Display only values name-value Display name = value pairs (default) For example, the following: The system description: sysDescr.0 would produce the HTML code for sysDescr.0 as a name-value pair: The system description: sysDescr.0 = some description whereas: The system description: sysDescr.0 would produce The system description: some description " ::= { htmlPageContentEntry 2 } htmlPageContentStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies how this row of the table should be stored." REFERENCE "See SNMPv2-TC for definition of StorageType" DEFVAL { volatile } ::= { htmlPageContentEntry 3 } htmlPageContentStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row in the htmlPageContentTable. Actions taken on rows of this table have no direct effects on rows in other tables in this MIB." REFERENCE "See SNMPv2-TC for definition of RowStatus" ::= { htmlPageContentEntry 4 } END