1snmpc(3)                   Erlang Module Definition                   snmpc(3)
2
3
4

NAME

6       snmpc - Interface Functions to the SNMP toolkit MIB compiler
7

DESCRIPTION

9       The  module  snmpc contains interface functions to the SNMP toolkit MIB
10       compiler.
11

EXPORTS

13       compile(File)
14       compile(File, Options) -> {ok, BinFileName} | {error, Reason}
15
16              Types:
17
18                 File = string()
19                 Options = [opt()]
20                 opt() = db() | relaxed_row_name_assign_check() | deprecated()
21                 |  description() | reference() | group_check() | i() | il() |
22                 imports() | module()  |  module_identity()  |  module_compli‐
23                 ance()  |  agent_capabilities() | outdir() | no_defs() | ver‐
24                 bosity() | warnings() | warnings_as_errors()
25                 db() = {db, volatile|persistent|mnesia}
26                 deprecated() = {deprecated, bool()}
27                 relaxed_row_name_assign_check()                             =
28                 relaxed_row_name_assign_check
29                 description() = description
30                 reference() = reference
31                 group_check() = {group_check, bool()}
32                 i() = {i, [dir()]}
33                 il() = {il, [dir()]}
34                 imports() = imports
35                 module() = {module, atom()}
36                 module_identity() = module_identity
37                 module_compliance() = module_compliance
38                 agent_capabilities() = agent_capabilities
39                 no_defs() = no_defs
40                 outdir() = {outdir, dir()}
41                 verbosity()         =        {verbosity,        silence|warn‐
42                 ing|info|log|debug|trace}
43                 warnings() = {warnings, bool()}
44                 warnings_as_errors() = warnings_as_errors
45                 dir() = string()
46                 BinFileName = string()
47
48              Compiles the specified MIB file <File>.mib.  The  compiled  file
49              BinFileName is called <File>.bin.
50
51                * The  option  db  specifies which database should be used for
52                  the default instrumentation.
53
54                  Default is volatile.
55
56                * The option deprecated specifies if a  deprecated  definition
57                  should  be  kept or not. If the option is false the MIB com‐
58                  piler will ignore all deprecated definitions.
59
60                  Default is true.
61
62                * The option relaxed_row_name_assign_check, if present, speci‐
63                  fies  that  the  row  name  assign  check  shall not be done
64                  strictly according to the SMI (which allows only  the  value
65                  1).  With  this  option,  all  values  greater  than zero is
66                  allowed (>= 1). This means that the error will be  converted
67                  to a warning.
68
69                  By default it is not included, but if this option is present
70                  it will be.
71
72                * The option description specifies if the text of the DESCRIP‐
73                  TION field will be included or not.
74
75                  By default it is not included, but if this option is present
76                  it will be.
77
78                * The option reference specifies if the text of the  REFERENCE
79                  field, when found in a table definition, will be included or
80                  not.
81
82                  By default it is not included, but if this option is present
83                  it  will  be. The reference text will be placed in the allo‐
84                  cList field of the mib-entry record (#me{}) for the table.
85
86                * The option group_check specifies whether  the  mib  compiler
87                  should  check  the  OBJECT-GROUP macro and the NOTIFICATION-
88                  GROUP macro for correctness or not.
89
90                  Default is true.
91
92                * The option i specifies the path to search for imported (com‐
93                  piled)  MIB  files. The directories should be strings with a
94                  trailing directory delimiter.
95
96                  Default is ["./"].
97
98                * The option il (include_lib) also specifies a list of  direc‐
99                  tories  to  search  for  imported  MIBs. It assumes that the
100                  first element in the directory name corresponds  to  an  OTP
101                  application.  The  compiler  will find the current installed
102                  version. For  example,  the  value  ["snmp/mibs/"]  will  be
103                  replaced  by  ["snmp-3.1.1/mibs/"] (or what the current ver‐
104                  sion may be in the system). The current  directory  and  the
105                  <snmp-home>/priv/mibs/ are always listed last in the include
106                  path.
107
108                * The option imports, if present, specifies  that  the  IMPORT
109                  statement of the MIB shall be included in the compiled mib.
110
111                * The  option module, if present, specifies the name of a mod‐
112                  ule which implements all instrumentation functions  for  the
113                  MIB.
114
115                  The  name  of all instrumentation functions must be the same
116                  as the corresponding managed object it implements.
117
118                * The option module_identity, if present, specifies  that  the
119                  info  part of the MODULE-IDENTITY statement of the MIB shall
120                  be included in the compiled mib.
121
122                * The option module_compliance, if present, specifies that the
123                  MODULE-COMPLIANCE  statement  of  the  MIB shall be included
124                  (with a mib-entry record) in the compiled mib. The mib-entry
125                  record  of  the module-compliance will contain reference and
126                  module part(s) this info in the assocList field).
127
128                * The option agent_capabilities, if  present,  specifies  that
129                  the   AGENT-CAPABILITIES  statement  of  the  MIB  shall  be
130                  included (with a mib-entry record) in the compiled mib.  The
131                  mib-entry  record of the agent-capabilitie will contain ref‐
132                  erence and  modules  part(s)  this  info  in  the  assocList
133                  field).
134
135                * The  option no_defs, if present, specifies that if a managed
136                  object  does  not  have  an  instrumentation  function,  the
137                  default instrumentation function should NOT be used, instead
138                  this is reported as an error, and the compilation aborts.
139
140                * The option verbosity specifies the verbosity of the SNMP mib
141                  compiler.  I.e.  if warning, info, log, debug and trace mes‐
142                  sages shall be shown.
143
144                  Default is silence.
145
146                  Note that if the option warnings is true and the option ver‐
147                  bosity is silence, warning messages will still be shown.
148
149                * The  option  warnings  specifies  whether  warning  messages
150                  should be shown.
151
152                  Default is true.
153
154                * The option warnings_as_errors, if present, specifies whether
155                  warnings should be treated as errors.
156
157              The  MIB compiler understands both SMIv1 and SMIv2 MIBs. It uses
158              the MODULE-IDENTITY statement to determine if the MIB is version
159              1 or 2.
160
161              The  MIB  compiler  can  be  invoked from the OS command line by
162              using the command erlc. erlc recognizes the extension .mib,  and
163              invokes the SNMP MIB compiler for files with that extension. The
164              options db,  group_check,  deprecated,  description,  verbosity,
165              imports  and  module_identity have to be specified to erlc using
166              the syntax +term. See erlc(1) for details.
167
168       is_consistent(Mibs) -> ok | {error, Reason}
169
170              Types:
171
172                 Mibs = [MibName]
173                 MibName = string()
174
175              Checks for  multiple  usage  of  object  identifiers  and  traps
176              between MIBs.
177
178       mib_to_hrl(MibName) -> ok | {error, Reason}
179
180              Types:
181
182                 MibName = string()
183
184              Generates  a  .hrl file with definitions of Erlang constants for
185              the objects in the MIB. The .hrl file is  called  <MibName>.hrl.
186              The MIB must be compiled, and present in the current directory.
187
188              The mib_to_hrl generator can be invoked from the OS command line
189              by using the command erlc. erlc recognizes the  extension  .bin,
190              and invokes this function for files with that extension.
191

SEE ALSO

193       erlc(1)
194
195
196
197Ericsson AB                        snmp 5.5                           snmpc(3)
Impressum