snmpc(3erl) Erlang Module Definition snmpc(3erl)
NAME
snmpc - Interface Functions to the SNMP toolkit MIB compiler
DESCRIPTION
The module snmpc contains interface functions to the SNMP toolkit MIB
compiler.
EXPORTS
compile(File)
compile(File, Options) -> {ok, BinFileName} | {error, Reason}
Types:
File = string()
Options = [opt()]
opt() = db() | relaxed_row_name_assign_check() | deprecated()
| description() | reference() | group_check() | i() | il() |
imports() | module() | module_identity() | module_compli-
ance() | agent_capabilities() | outdir() | no_defs() | ver-
bosity() | warnings() | warnings_as_errors()
db() = {db, volatile|persistent|mnesia}
deprecated() = {deprecated, bool()}
relaxed_row_name_assign_check() = relaxed_row_name_as-
sign_check
description() = description
reference() = reference
group_check() = {group_check, bool()}
i() = {i, [dir()]}
il() = {il, [dir()]}
imports() = imports
module() = {module, atom()}
module_identity() = module_identity
module_compliance() = module_compliance
agent_capabilities() = agent_capabilities
no_defs() = no_defs
outdir() = {outdir, dir()}
verbosity() = {verbosity, silence|warning|info|log|de-
bug|trace}
warnings() = {warnings, bool()}
warnings_as_errors() = warnings_as_errors
dir() = string()
BinFileName = string()
Compiles the specified MIB file <File>.mib. The compiled file
BinFileName is called <File>.bin.
* The option db specifies which database should be used for
the default instrumentation.
Default is volatile.
* The option deprecated specifies if a deprecated definition
should be kept or not. If the option is false the MIB com-
piler will ignore all deprecated definitions.
Default is true.
* The option relaxed_row_name_assign_check, if present, speci-
fies that the row name assign check shall not be done
strictly according to the SMI (which allows only the value
1). With this option, all values greater than zero is al-
lowed (>= 1). This means that the error will be converted to
a warning.
By default it is not included, but if this option is present
it will be.
* The option description specifies if the text of the DESCRIP-
TION field will be included or not.
By default it is not included, but if this option is present
it will be.
* The option reference specifies 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 allo-
cList field of the mib-entry record (#me{}) for the table.
* The option group_check specifies whether the mib compiler
should check the OBJECT-GROUP macro and the NOTIFICATION-
GROUP macro for correctness or not.
Default is true.
* The option i specifies the path to search for imported (com-
piled) MIB files. The directories should be strings with a
trailing directory delimiter.
Default is ["./"].
* The option il (include_lib) also specifies a list of direc-
tories 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 re-
placed 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 mod-
ule 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 module_compliance, if present, specifies that the
MODULE-COMPLIANCE statement of the MIB shall be included
(with a mib-entry record) in the compiled mib. The mib-entry
record of the module-compliance will contain reference and
module part(s) this info in the assocList field).
* The option agent_capabilities, if present, specifies that
the AGENT-CAPABILITIES statement of the MIB shall be in-
cluded (with a mib-entry record) in the compiled mib. The
mib-entry record of the agent-capabilitie will contain ref-
erence and modules part(s) this info in the assocList
field).
* The option no_defs, if present, specifies that if a managed
object does not have an instrumentation function, the de-
fault instrumentation function should NOT be used, instead
this is reported as an error, and the compilation aborts.
* The option verbosity specifies the verbosity of the SNMP mib
compiler. I.e. if warning, info, log, debug and trace mes-
sages shall be shown.
Default is silence.
Note that if the option warnings is true and the option ver-
bosity is silence, warning messages will still be shown.
* The option warnings specifies whether warning messages
should be shown.
Default is true.
* The option warnings_as_errors, if present, specifies whether
warnings should be treated as errors.
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 us-
ing 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, im-
ports and module_identity have to be specified to erlc using the
syntax +term. See erlc(1) for details.
is_consistent(Mibs) -> ok | {error, Reason}
Types:
Mibs = [MibName]
MibName = string()
Checks for multiple usage of object identifiers and traps be-
tween MIBs.
mib_to_hrl(MibName) -> ok | {error, Reason}
Types:
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)
Ericsson AB snmp 5.6 snmpc(3erl)