Two initial commands are provided by the SmithySDK package at load time. These are smilib
, provided by the smilib sub-package, and snmplib
, provided by the snmplib sub-package. These correspond to the master SMI Database and SNMP Session, which will are described briefly below and in more detail in later chapters. All APIs provided through the SDK are initially through these two commands.
The MIB Smithy SDK extension can be loaded either using Tcl's package require
command or directly through the load
command. Using package require
is the suggested method, as it allows some amount of version control if your application requires features of a particuler version of the SDK that aren't present in earlier versions.
To use the package mechanism, make sure the lib/smithysdk
directory is listed within Tcl's auto_path
global variable and use the package require SmithySDK
command. One quick and easy way to accomplish this is to install the smithysdk directory in the same location as the directories for the Tcl/Tk library files (e.g. /usr/local/lib/smithysdk
, C:\Program Files\Tcl\lib\smithysdk
).
To use the load
mechanism, you do not need to list the smithysdk directory in auto_path. Use load path
, where path
is the path/directory to the .dll (Windows) or .so (Unix) file for the extension.
A license key file is required to run this software after installation. This file contains information about your license that is required by the extension.
For evaluation versions of the software, this license key allows you to try most features of the product for a period of 15 days from the time of download. The evaluation license key can be downloaded from the same page where you downloaded the software.
For non-evaluation versions of the software, this includes a Host ID that ties the installation to the computer you are licensed for. Typically, this is the ethernet address of one of the NIC cards in your computer. When you first load the extension, without a license key file present, you will be informed of the Host IDs available for use. After obtaining available Host IDs, log in to the Muonics web site with the account used to purchase the software, and select the "Licenses" option in the User Menu or go to:
https://www.muonics.com/User/licenses.php
There you may select a licensed product serial number, enter your Host ID, and download a license key file. Licensed users may return to the Licenses Page to re-download their license key at any time should reinstallation be necessary. If you need to change Host IDs, for reasons such as equipment failure/replacement or license transfer, please contact support@muonics.com. Per your license agreement, you may change computers/Host IDs at most once every six months (twice total during the period of an annual support contract). If you change Host IDs more often than this period, you will need to purchase a support contract renewal for a nominal fee.
MIB Smithy SDK allows some flexibility in where the license key is located and how it is named, as well as providing a GUI interface to install the license key. By default it will search the following locations, in order of precedence, where prefix
is the same as the prefix of the product distribution file you downloaded (such as smithysdk
or smithysdkdemo
):
SMITHY_LICENSE_FILE
environment variable.HOME
environment variable) with the name .prefix.key
, .prefix.lic
, prefix.key
or prefix.lic
.license.key
within the installation directory or any parent directory thereof..prefix.key
, .prefix.lic
, prefix.key
or prefix.lic
in /usr/local/etc
..prefix.key
, .prefix.lic
, prefix.key
or prefix.lic
in /etc
.To install the license key, you can either copy it to one of the above locations (e.g. $(HOME)/.smithysdkdemo.lic
) or let the SDK install it for you. For the SDK to install it for you, start Wish (the Tcl/Tk GUI shell) and issue the package require SmithySDK
command, just as you would do to make use of the SDK in your scripts. If no valid license key is found automatically, a dialog will be provided where you can paste or import the license from a specified file. The key will be installed in your home directory using the prefix.lic
naming convention to avoid conflicts with other MIB Smithy editions you may have installed. To install the key system-wide for all users you will need to manually copy it into one of the above locations.
MIB Smithy SDK supports any number of databases that can be created, used, and destroyed as necessary. Each database may be used to load a number of related MIB files and modules that are to be cross-indexed internally to provide runtime resolution of types and values such as relational object identifiers. Each database is entirely separate from every other database, and an individual database is generally used to load all of the modules required for a particular project, such as those implemented specific agent, where databases can be used (for example) for each agent that implements a separate set of MIB modules.
For more information, see The SMI Database Command
Like SMI Databases, MIB Smithy SDK supports any number of active SNMP sessions that can be created, used, and destroyed as necessary. Each session may be used to communicate with an individual SNMP agent, and each session can be configured to use one of any of the active SMI databases.
For more information, see The SNMP Session Command
The SDK can be used with multiple interpreters (e.g., created with Tcl's interp
command). If you issue a load
or package require
command in the slave interpreter, it will be given its own database and session commands, separate from those of the master interpreter. If you want to share the same databases/sessions between interpreters, Tcl's interp alias
command may be of use to you.