snmpc
Interface Functions to the SNMP toolkit MIB compiler
The module snmpc contains interface functions to the
SNMP toolkit MIB compiler.
Functions
compile(File)
compile(File, Options) -> {ok, BinFileName} | {error, Reason}
File = string()Options = [opt()]opt() = db() | deprecated() | description() | reference() | group_check() | i() | il() | imports() | module() | module_identity() | outdir() | no_defs() | verbosity() | warnings()db() = {db, volatile|persistent|mnesia}deprecated() = {deprecated, bool()}description() = descriptionreference() = referencegroup_check() = {group_check, bool()}i() = {i, [dir()]}il() = {il, [dir()]}imports() = importsmodule() = {module, atom()}module_identity() = module_identityno_defs() = no_defsoutdir() = {outdir, dir()}verbosity() = {verbosity, silence|warning|info|log|debug|trace}warnings() = {warnings, bool()}dir() = string()BinFileName = string()
Compiles the specified MIB file <File>.mib. The
compiled file BinFileName is called
<File>.bin.
- The option
dbspecifies which database should be used for the default instrumentation. Default isvolatile. - The option
deprecatedspecifies if a deprecated definition should be kept or not. If the option is false the MIB compiler will ignore all deprecated definitions. Default istrue. - The option
descriptionspecifies if the text of the DESCRIPTION field will be included or not. By default it is not included, but if this option is present it will be. - The option
referencespecifies if the text of the REFERENCE field, when found in a table definition, will be included or not. By default it is not included, but if this option is present it will be. The reference text will be placed in the allocList field of the mib-entry record (#me{}) for the table. - The option
group_checkspecifies whether the mib compiler should check the OBJECT-GROUP macro and the NOTIFICATION-GROUP macro for correctness or not. Default istrue. - The option
ispecifies the path to search for imported (compiled) MIB files. The directories should be strings with a trailing directory delimiter. Default is["./"]. - The option
il(include_lib) also specifies a list of directories to search for imported MIBs. It assumes that the first element in the directory name corresponds to an OTP application. The compiler will find the current installed version. For example, the value ["snmp/mibs/"] will be replaced by ["snmp-3.1.1/mibs/"] (or what the current version may be in the system). The current directory and the<snmp-home>/priv/mibs/are always listed last in the include path. - The option
imports, if present, specifies that the IMPORT statement of the MIB shall be included in the compiled mib. - The option
module, if present, specifies the name of a module which implements all instrumentation functions for the MIB. The name of all instrumentation functions must be the same as the corresponding managed object it implements. - The option
module_identity, if present, specifies that the info part of the MODULE-IDENTITY statement of the MIB shall be included in the compiled mib. - The option
no_defs, if present, specifies that if a managed object does not have an instrumentation function, the default instrumentation function should NOT be used, instead this is reported as an error, and the compilation aborts. - The option
verbosityspecifies the verbosity of the SNMP mib compiler. I.e. if warning, info, log, debug and trace messages shall be shown. Default issilence. Note that if the optionwarningsistrueand the optionverbosityissilence, warning messages will still be shown. - The option
warningsspecifies whether warning messages should be shown. Default istrue.
The MIB compiler understands both SMIv1 and SMIv2 MIBs. It
uses the MODULE-IDENTITY statement to determine if the MIB is
version 1 or 2.
The MIB compiler can be invoked from the OS command line by
using the command erlc. erlc recognizes the
extension .mib, and invokes the SNMP MIB compiler for
files with that extension. The options db,
group_check, deprecated, description,
verbosity, imports and module_identity
have to be specified to erlc using the syntax
+term. See erlc(1) for details.
is_consistent(Mibs) -> ok | {error, Reason}
Mibs = [MibName]MibName = string()
Checks for multiple usage of object identifiers and traps between MIBs.
mib_to_hrl(MibName) -> ok | {error, Reason}
MibName = string()
Generates a .hrl file with definitions of Erlang
constants for the objects in the MIB. The .hrl file is
called <MibName>.hrl. The MIB must be compiled, and
present in the current directory.
The mib_to_hrl generator can be invoked from the OS
command line by using the command erlc. erlc
recognizes the extension .bin, and invokes this function
for files with that extension.
See Also
erlc(1)