Provided by: erlang-manpages_25.2.3+dfsg-1_all bug

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_compliance()  |  agent_capabilities()  | outdir() |
                 no_defs() | verbosity() | 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|warning|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  compiler will ignore all deprecated
                  definitions.

                  Default is true.

                * The option relaxed_row_name_assign_check, if present, specifies  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 DESCRIPTION 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 allocList 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  (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 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
                  reference 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 messages shall be shown.

                  Default is silence.

                  Note that if the option warnings is true and the option verbosity  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)