1snmpc(3) Erlang Module Definition snmpc(3)
2
3
4
6 snmpc - Interface Functions to the SNMP toolkit MIB compiler
7
9 The module snmpc contains interface functions to the SNMP toolkit MIB
10 compiler.
11
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() = relaxed_row_name_as‐
28 sign_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|warning|info|log|de‐
42 bug|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 al‐
66 lowed (>= 1). This means that the error will be converted to
67 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 re‐
103 placed by ["snmp-3.1.1/mibs/"] (or what the current version
104 may be in the system). The current directory and the <snmp-
105 home>/priv/mibs/ are always listed last in the include path.
106
107 * The option imports, if present, specifies that the IMPORT
108 statement of the MIB shall be included in the compiled mib.
109
110 * The option module, if present, specifies the name of a mod‐
111 ule which implements all instrumentation functions for the
112 MIB.
113
114 The name of all instrumentation functions must be the same
115 as the corresponding managed object it implements.
116
117 * The option module_identity, if present, specifies that the
118 info part of the MODULE-IDENTITY statement of the MIB shall
119 be included in the compiled mib.
120
121 * The option module_compliance, if present, specifies that the
122 MODULE-COMPLIANCE statement of the MIB shall be included
123 (with a mib-entry record) in the compiled mib. The mib-entry
124 record of the module-compliance will contain reference and
125 module part(s) this info in the assocList field).
126
127 * The option agent_capabilities, if present, specifies that
128 the AGENT-CAPABILITIES statement of the MIB shall be in‐
129 cluded (with a mib-entry record) in the compiled mib. The
130 mib-entry record of the agent-capabilitie will contain ref‐
131 erence and modules part(s) this info in the assocList
132 field).
133
134 * The option no_defs, if present, specifies that if a managed
135 object does not have an instrumentation function, the de‐
136 fault instrumentation function should NOT be used, instead
137 this is reported as an error, and the compilation aborts.
138
139 * The option verbosity specifies the verbosity of the SNMP mib
140 compiler. I.e. if warning, info, log, debug and trace mes‐
141 sages shall be shown.
142
143 Default is silence.
144
145 Note that if the option warnings is true and the option ver‐
146 bosity is silence, warning messages will still be shown.
147
148 * The option warnings specifies whether warning messages
149 should be shown.
150
151 Default is true.
152
153 * The option warnings_as_errors, if present, specifies whether
154 warnings should be treated as errors.
155
156 The MIB compiler understands both SMIv1 and SMIv2 MIBs. It uses
157 the MODULE-IDENTITY statement to determine if the MIB is version
158 1 or 2.
159
160 The MIB compiler can be invoked from the OS command line by us‐
161 ing the command erlc. erlc recognizes the extension .mib, and
162 invokes the SNMP MIB compiler for files with that extension. The
163 options db, group_check, deprecated, description, verbosity, im‐
164 ports and module_identity have to be specified to erlc using the
165 syntax +term. See erlc(1) for details.
166
167 is_consistent(Mibs) -> ok | {error, Reason}
168
169 Types:
170
171 Mibs = [MibName]
172 MibName = string()
173
174 Checks for multiple usage of object identifiers and traps be‐
175 tween MIBs.
176
177 mib_to_hrl(MibName) -> ok | {error, Reason}
178
179 Types:
180
181 MibName = string()
182
183 Generates a .hrl file with definitions of Erlang constants for
184 the objects in the MIB. The .hrl file is called <MibName>.hrl.
185 The MIB must be compiled, and present in the current directory.
186
187 The mib_to_hrl generator can be invoked from the OS command line
188 by using the command erlc. erlc recognizes the extension .bin,
189 and invokes this function for files with that extension.
190
192 erlc(1)
193
194
195
196Ericsson AB snmp 5.8.0.1 snmpc(3)