These ASL scripts, as shipped with Network Protocol Manager, are shown in Figure 15 on page 53 and Figure 17 on page 55. You use the sm_edit utility to edit these scripts to add the ASL convenience patterns, the parsing rules, and the processing rules that perform the actual processing. You can also add additional initialization code and/or additional EOF or DEFAULT code.

/*
*~ ic-eigrp-cisco-cli-object-custom.asl
*
* Copyright 2008 by VMware Corporation ("VMware").
* All rights reserved.
*
* UNPUBLISHED CONFIDENTIAL AND PROPRIETARY PROPERTY OF VMware.  The copyright
* notice above does not evidence any actual or intended publication of this
* software.  Disclosure and dissemination are pursuant to separate agreements.
* Unauthorized use, distribution or dissemination are strictly prohibited.
*
* RCS $Id: ic-eigrp-cisco-cli-object-custom.asl,v 1.1.2.1 2008/10/27 03:39:24 yesilt Exp $
* $Source: /apps/cvs/smarts/smarts/rpm-eigrp/custom/Attic/ic-eigrp-cisco-cli-object-custom.asl,v $
* 
*/
default debug = FALSE;
default detailDebug = FALSE;
default objectName  = "";
default elementName = "";
default elementType = "";
default changed = "TRUE";
default result = "SUCCESS";
default discoveryError = "";
agentObj = object(elementName);
if (agentObj->isNull()) {
    stop();
}
nodeObj = agentObj->getSystem();
if (nodeObj->isNull()) {
    stop();
}
manager = self->object("MSI_AdapterManager", "EIGRP-Adapter-Manager");
factory = self->object("MSI_ObjectFactory", "MSI-ObjectFactory");
topo_manager = object(getInstances("ICF_TopologyManager")[0]);
default DEBUG = FALSE;
me = this->ReadsRulesFrom->fileName.": ";
blanks = "    ";
/*
 * Add additional initialization here.
 */ 
/*
 * Add convenience patterns here.
 */
/*****************************************************************************/
START {
    /*
     * Add Parsing rules here.
     */
    .. eol
} do {
    /*
     * Add processing rules here.
     */
    changed = "TRUE"; 
    result = "SUCCESS"; 
    objectName = elementName;
    if (DEBUG) {
        print("Executing rule set ".me);
    }
}
/*
 * Addition EOF or DEFAULT here if necessary.
 */
/**********************************************************/
/*
 * Local Variables:
 * mode: C++
 * End:
 */
/*
*~ ic-isis-cisco-cli-object-custom.asl
*
* Copyright 2008 by VMware Corporation ("VMware").
* All rights reserved.
*
* UNPUBLISHED CONFIDENTIAL AND PROPRIETARY PROPERTY OF VMware.  The copyright
* notice above does not evidence any actual or intended publication of this
* software.  Disclosure and dissemination are pursuant to separate agreements.
* Unauthorized use, distribution or dissemination are strictly prohibited.
*
* RCS $Id: ic-isis-cisco-cli-object-custom.asl,v 1.1.2.1 2008/11/11 01:20:31 yesilt Exp $
* $Source: /apps/cvs/smarts/smarts/rpm-isis/custom/Attic/ic-isis-cisco-cli-object-custom.asl,v $
* 
*/
default debug = FALSE;
default detailDebug = FALSE;
default objectName  = "";
default elementName = "";
default elementType = "";
default changed = "TRUE";
default result = "SUCCESS";
default discoveryError = "";
agentObj = object(elementName);
if (agentObj->isNull()) {
    stop();
}
nodeObj = agentObj->getSystem();
if (nodeObj->isNull()) {
    stop();
}
manager = self->object("MSI_AdapterManager", "ISIS-Adapter-Manager");
factory = self->object("MSI_ObjectFactory", "MSI-ObjectFactory");
topo_manager = object(getInstances("ICF_TopologyManager")[0]);
default DEBUG = FALSE;
me = this->ReadsRulesFrom->fileName.": ";
blanks = "    ";
/*
 * Add additional initialization here.
 */ 
/*
 * Add convenience patterns here.
 */
/*****************************************************************************/
START {
    /*
     * Add Parsing rules here.
     */
    .. eol
} do {
    /*
     * Add processing rules here.
     */
    changed = "TRUE"; 
    result = "SUCCESS"; 
    objectName = elementName;
    if (DEBUG) {
        print("Executing rule set ".me);
    }
}
/*
 * Addition EOF or DEFAULT here if necessary.
 */
/**********************************************************/
/*
 * Local Variables:
 * mode: C++
 * End:
 */