Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

snmpc (3erl)

Name

snmpc - Interface Functions to the SNMP toolkit MIB compiler

Synopsis

Please see following description for synopsis

Description

snmpc(3)                   Erlang Module Definition                   snmpc(3)



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_assign_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|warn-
                 ing|info|log|debug|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
                  allowed (>= 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
                  replaced  by  ["snmp-3.1.1/mibs/"] (or what the current ver-
                  sion 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
                  included (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
                  default 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
              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}

              Types:

                 Mibs = [MibName]
                 MibName = string()

              Checks for  multiple  usage  of  object  identifiers  and  traps
              between 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.11                          snmpc(3)