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

NAME

6       snmpm - Interface functions to the SNMP toolkit manager
7

DESCRIPTION

9       The module snmpm contains interface functions to the SNMP manager.
10

COMMON DATA TYPES

12       The following data types are used in the functions below:
13
14       oid() = [byte()]  -  The oid() type is used to represent an ASN.1 OBJECT IDENTIFIER
15       snmp_reply() = {error_status(), error_index(), varbinds()}
16       error_status() = noError | atom()
17       error_index() = integer()
18       varbinds() = [varbind()]
19       atl_type() = read | write | read_write
20       target_name() = string()  -  Is a unique *non-empty* string
21       vars_and_vals() = [var_and_val()]
22       var_and_val() = {oid(), value_type(), value()} | {oid(), value()}
23       value_type() = o ('OBJECT IDENTIFIER') |
24                      i ('INTEGER') |
25                      u ('Unsigned32') |
26                      g ('Unsigned32') |
27                      s ('OCTET SRING') |
28                      b ('BITS') |
29                      ip ('IpAddress') |
30                      op ('Opaque') |
31                      c32 ('Counter32') |
32                      c64 ('Counter64') |
33                      tt ('TimeTicks')
34       value() = term()
35       community() = string()
36       sec_model() = any | v1 | v2c | usm
37       sec_name() = string()
38       sec_level() = noAuthNoPriv | authNoPriv | authPriv
39
40
41       See also the  data types in snmpa_conf.
42

EXPORTS

44       monitor() -> Ref
45
46              Types:
47
48                 Ref = reference()
49
50              Monitor the SNMP manager. In case of a crash, the calling (moni‐
51              toring) process will get a 'DOWN' message (see the erlang module
52              for more info).
53
54       demonitor(Ref) -> void()
55
56              Types:
57
58                 Ref = reference()
59
60              Turn off monitoring of the SNMP manager.
61
62       notify_started(Timeout) -> Pid
63
64              Types:
65
66                 Timeout = integer()
67                 Pid = pid()
68
69              Request  a  notification  (message)  when  the  SNMP manager has
70              started.
71
72              The Timeout is the time the request is valid. The value  has  to
73              be greater then zero.
74
75              The Pid is the process handling the supervision of the SNMP man‐
76              ager start. When the manager has started  a  completion  message
77              will  be  sent  to the client from this process: {snmpm_started,
78              Pid}. If the SNMP manager was not started  in  time,  a  timeout
79              message will be sent to the client: {snmpm_start_timeout, Pid}.
80
81              A  client application that is dependent on the SNMP manager will
82              use this function in order to be notified of  when  the  manager
83              has started. There are two situations when this is useful:
84
85                * During  the  start  of  a  system, when a client application
86                  could start prior to the SNMP manager but is dependent  upon
87                  it, and therefor has to wait for it to start.
88
89                * When  the  SNMP  manager  has  crashed, the dependent client
90                  application has to wait for the SNMP manager to be restarted
91                  before it can reconnect.
92
93              The  function  returns the pid() of a handler process, that does
94              the supervision on behalf of the client application.  Note  that
95              the client application is linked to this handler.
96
97              This function is used in conjunction with the monitor function.
98
99       cancel_notify_started(Pid) -> void()
100
101              Types:
102
103                 Pid = pid()
104
105              Cancel a previous request to be notified of SNMP manager start.
106
107       register_user(Id, Module, Data) -> ok | {error, Reason}
108       register_user(Id,  Module,  Data,  DefaultAgentConfig)  -> ok | {error,
109       Reason}
110
111              Types:
112
113                 Id = term()
114                 Module = snmpm_user()
115                 Data = term()
116                 DefaultAgentConfig = [default_agent_config()]
117                 default_agent_config() = {Item, Val}
118                 Item = community | timeout |  max_message_size  |  version  |
119                 sec_model | sec_name | sec_level
120                 Val = term()
121                 Reason = term()
122                 snmpm_user() = Module implementing the snmpm_user behaviour
123
124              Register  the  manager  entity  (=user) responsible for specific
125              agent(s).
126
127              Module is the callback module (snmpm_user behaviour) which  will
128              be  called  whenever something happens (detected agent, incoming
129              reply or incoming trap/notification). Note that this could  have
130              already  been  done  as  a  consequence of the node config. (see
131              users.conf).
132
133              The argument DefaultAgentConfig is used as default  values  when
134              this user register agents.
135
136              The type of Val depends on Item:
137
138              community = string()
139              timeout = integer() | snmp_timer()
140              max_message_size = integer()
141              version = v1 | v2 | v3
142              sec_model = any | v1 | v2c | usm
143              sec_name = string()
144              sec_level = noAuthNoPriv | authNoPriv | authPriv
145
146
147       register_user_monitor(Id, Module, Data) -> ok | {error, Reason}
148       register_user_monitor(Id,  Module,  Data,  DefaultAgentConfig)  -> ok |
149       {error, Reason}
150
151              Types:
152
153                 Id = term()
154                 Module = snmpm_user()
155                 DefaultAgentConfig = [default_agent_config()]
156                 default_agent_config() = {Item, Val}
157                 Item = community | timeout |  max_message_size  |  version  |
158                 sec_model | sec_name | sec_level
159                 Val = term()
160                 Data = term()
161                 Reason = term()
162                 snmpm_user() = Module implementing the snmpm_user behaviour
163
164              Register  the  monitored  manager entity (=user) responsible for
165              specific agent(s).
166
167              The process performing the registration will be monitored. Which
168              means  that if that process should die, all agents registered by
169              that user process will be unregistered. All outstanding requests
170              will be canceled.
171
172              Module  is the callback module (snmpm_user behaviour) which will
173              be called whenever something happens (detected  agent,  incoming
174              reply  or incoming trap/notification). Note that this could have
175              already been done as a consequence  of  the  node  config.  (see
176              users.conf).
177
178              The  argument  DefaultAgentConfig is used as default values when
179              this user register agents.
180
181              The type of Val depends on Item:
182
183              community = string()
184              timeout = integer() | snmp_timer()
185              max_message_size = integer()
186              version = v1 | v2 | v3
187              sec_model = any | v1 | v2c | usm
188              sec_name = string()
189              sec_level = noAuthNoPriv | authNoPriv | authPriv
190
191
192       unregister_user(Id) -> ok | {error, Reason}
193
194              Types:
195
196                 Id = term()
197
198              Unregister the user.
199
200       which_users() -> Users
201
202              Types:
203
204                 Users = [UserId]
205                 UserId = term()
206
207              Get a list of the identities of all registered users.
208
209       register_agent(UserId, TargetName, Config) -> ok | {error, Reason}
210
211              Types:
212
213                 UserId = term()
214                 TargetName = target_name()
215                 Config = [agent_config()]
216                 agent_config() = {Item, Val}
217                 Item = engine_id | address | port |  community  |  timeout  |
218                 max_message_size | version | sec_model | sec_name | sec_level
219                 | tdomain
220                 Val = term()
221                 Reason = term()
222
223              Explicitly instruct the  manager  to  handle  this  agent,  with
224              UserId as the responsible user.
225
226              Called to instruct the manager that this agent shall be handled.
227              This function is used when  the  user  knows  in  advance  which
228              agents the manager shall handle. Note that there is an alternate
229              way to do the same thing: Add the agent to  the  manager  config
230              files (see agents.conf).
231
232              TargetName  is  a  non-empty  string,  uniquely  identifying the
233              agent.
234
235              The type of Val depends on Item:
236
237              [mandatory] engine_id = string()
238              [mandatory] tadress = transportAddress()  % Depends on tdomain
239              [optional]  port = inet:port_number()
240              [optional]  tdomain = transportDomain()
241              [optional]  community = string()
242              [optional]  timeout = integer() | snmp_timer()
243              [optional]  max_message_size = integer()
244              [optional]  version = v1 | v2 | v3
245              [optional]  sec_model = any | v1 | v2c | usm
246              [optional]  sec_name = string()
247              [optional]  sec_level = noAuthNoPriv | authNoPriv | authPriv
248
249
250              Note that if no tdomain is given, the default value,  transport‐
251              DomainUdpIpv4, is used.
252
253              Note that if no port is given and if taddress does not contain a
254              port number, the default value is used.
255
256       unregister_agent(UserId, TargetName) -> ok | {error, Reason}
257
258              Types:
259
260                 UserId = term()
261                 TargetName = target_name()
262
263              Unregister the agent.
264
265       agent_info(TargetName, Item) -> {ok, Val} | {error, Reason}
266
267              Types:
268
269                 TargetName = target_name()
270                 Item = atom()
271                 Reason = term()
272
273              Retrieve agent config.
274
275       update_agent_info(UserId, TargetName, Info) -> ok | {error, Reason}
276       update_agent_info(UserId, TargetName, Item, Val) -> ok |  {error,  Rea‐
277       son}
278
279              Types:
280
281                 UserId = term()
282                 TargetName = target_name()
283                 Info = [{item(), item_value()}]
284                 Item = item()
285                 item() = atom()
286                 Val = item_value()
287                 item_value() = term()
288                 Reason = term()
289
290              Update  agent config. The function update_agent_info/3 should be
291              used when several values needs to be updated atomically.
292
293              See function register_agent for more info  about  what  kind  of
294              items are allowed.
295
296       which_agents() -> Agents
297       which_agents(UserId) -> Agents
298
299              Types:
300
301                 UserId = term()
302                 Agents = [TargetName]
303                 TargetName = target_name()
304
305              Get  a list of all registered agents or all agents registered by
306              a specific user.
307
308       register_usm_user(EngineID, UserName, Conf) -> ok | {error, Reason}
309
310              Types:
311
312                 EngineID = string()
313                 UserName = string()
314                 Conf = [usm_config()]
315                 usm_config() = {Item, Val}
316                 Item = sec_name | auth | auth_key | priv | priv_key
317                 Val = term()
318                 Reason = term()
319
320              Explicitly instruct the manager to handle this  USM  user.  Note
321              that there is an alternate way to do the same thing: Add the usm
322              user to the manager config files (see usm.conf).
323
324              The type of Val depends on Item:
325
326              sec_name = string()
327              auth = usmNoAuthProtocol | usmHMACMD5AuthProtocol | usmHMACSHAAuthProtocoltimeout
328              auth_key = [integer()]   (length 16 if auth = usmHMACMD5AuthProtocol,
329                                        length 20 if auth = usmHMACSHAAuthProtocol)
330              priv = usmNoPrivProtocol | usmDESPrivProtocol | usmAesCfb128Protocol
331              priv_key = [integer()]   (length is 16 if priv = usmDESPrivProtocol | usmAesCfb128Protocol).
332
333
334       unregister_usm_user(EngineID, UserName) -> ok | {error, Reason}
335
336              Types:
337
338                 EngineID = string()
339                 UserName = string()
340                 Reason = term()
341
342              Unregister this USM user.
343
344       usm_user_info(EngineID, UserName, Item) -> {ok, Val} | {error, Reason}
345
346              Types:
347
348                 EngineID = string()
349                 UsmName = string()
350                 Item = sec_name | auth | auth_key | priv | priv_key
351                 Reason = term()
352
353              Retrieve usm user config.
354
355       update_usm_user_info(EngineID, UserName, Item, Val)  ->  ok  |  {error,
356       Reason}
357
358              Types:
359
360                 EngineID = string()
361                 UsmName = string()
362                 Item = sec_name | auth | auth_key | priv | priv_key
363                 Val = term()
364                 Reason = term()
365
366              Update usm user config.
367
368       which_usm_users() -> UsmUsers
369
370              Types:
371
372                 UsmUsers = [{EngineID,UserName}]
373                 EngineID = string()
374                 UsmName = string()
375
376              Get a list of all registered usm users.
377
378       which_usm_users(EngineID) -> UsmUsers
379
380              Types:
381
382                 UsmUsers = [UserName]
383                 UserName = string()
384
385              Get a list of all registered usm users with engine-id EngineID.
386
387       sync_get2(UserId,  TargetName,  Oids)  ->  {ok, SnmpReply, Remaining} |
388       {error, Reason}
389       sync_get2(UserId,  TargetName,  Oids,  SendOpts)  ->  {ok,   SnmpReply,
390       Remaining} | {error, Reason}
391
392              Types:
393
394                 UserId = term()
395                 TargetName = target_name()
396                 Oids = [oid()]
397                 SendOpts = send_opts()
398                 send_opts() = [send_opt()]
399                 send_opt() = {context, string()} | {timeout, pos_integer()} |
400                 {extra, term()}  |  {community,  community()}  |  {sec_model,
401                 sec_model()}    |    {sec_name,   string()}   |   {sec_level,
402                 sec_level()} | {max_message_size, pos_integer()}
403                 SnmpReply = snmp_reply()
404                 Remaining = integer()
405                 Reason    =    {send_failed,    ReqId,    ActualReason}     |
406                 {invalid_sec_info, SecInfo, SnmpInfo} | term()
407                 ReqId = term()
408                 ActualReason = term()
409                 SecInfo = [sec_info()]
410                 sec_info() = {sec_tag(), ExpectedValue, ReceivedValue}
411                 sec_tag() = atom()
412                 ExpectedValue = ReceivedValue = term()
413                 SnmpInfo = term()
414
415              Synchronous get-request.
416
417              Remaining  is the remaining time of the given (or default) time‐
418              out time.
419
420              When Reason is {send_failed,  ...}  it  means  that  the  net_if
421              process failed to send the message. This could happen because of
422              any number of reasons, i.e. encoding error. ActualReason is  the
423              actual reason in this case.
424
425              The  send option extra specifies an opaque data structure passed
426              on to the net-if process. The net-if process  included  in  this
427              application  makes,  with one exception, no use of this info, so
428              the only use for it in such a option (when using  the  built  in
429              net-if)  would be tracing. The one usage exception is: Any tuple
430              with snmpm_extra_info_tag as its first element is  reserved  for
431              internal use.
432
433              Some  of  the  send  options  (community,  sec_model,  sec_name,
434              sec_level and max_message_size) are override options.  That  is,
435              for  this request, they override any configuration done when the
436              agent was registered.
437
438              For SnmpInfo, see the user callback function handle_report.
439
440       sync_get(UserId, TargetName, Oids)  ->  {ok,  SnmpReply,  Remaining}  |
441       {error, Reason}
442       sync_get(UserId,  TargetName,  ContextName,  Oids)  ->  {ok, SnmpReply,
443       Remaining} | {error, Reason}
444       sync_get(UserId, TargetName, Oids, Timeout) -> {ok, SnmpReply,  Remain‐
445       ing} | {error, Reason}
446       sync_get(UserId,  TargetName,  ContextName, Oids, Timeout) -> {ok, Snm‐
447       pReply, Remaining} | {error, Reason}
448       sync_get(UserId, TargetName, ContextName, Oids, Timeout, ExtraInfo)  ->
449       {ok, SnmpReply, Remaining} | {error, Reason}
450
451              Types:
452
453                 UserId = term()
454                 TargetName = target_name()
455                 ContextName = string()
456                 Oids = [oid()]
457                 Timeout = integer()
458                 ExtraInfo = term()
459                 SnmpReply = snmp_reply()
460                 Remaining = integer()
461                 Reason   =   {send_failed,  ReqId,  R}  |  {invalid_sec_info,
462                 SecInfo, SnmpInfo} | term()
463                 R = term()
464                 SecInfo = [sec_info()]
465                 sec_info() = {sec_tag(), ExpectedValue, ReceivedValue}
466                 sec_tag() = atom()
467                 ExpectedValue = ReceivedValue = term()
468                 SnmpInfo = term()
469
470              Synchronous get-request.
471
472              Remaining is the remaining time of the given or default  timeout
473              time.
474
475              When  Reason  is  {send_failed,  ...}  it  means that the net_if
476              process failed to send the message. This could happen because of
477              any number of reasons, i.e. encoding error. R is the actual rea‐
478              son in this case.
479
480              ExtraInfo is an opaque data structure passed on  to  the  net-if
481              process.  The net-if process included in this application makes,
482              with one exception, no use of this info, so the only use for  it
483              in  such  a configuration (when using the built in net-if) would
484              be  tracing.  The  one  usage  exception  is:  Any  tuple   with
485              snmpm_extra_info_tag as its first element is reserved for inter‐
486              nal use.
487
488              For SnmpInfo, see the user callback function handle_report.
489
490       async_get2(UserId, TargetName, Oids) -> {ok, ReqId} | {error, Reason}
491       async_get2(UserId, TargetName, Oids, SendOpts) -> {ok, ReqId} | {error,
492       Reason}
493
494              Types:
495
496                 UserId = term()
497                 TargetName = target_name()
498                 Oids = [oid()]
499                 SendOpts = send_opts()
500                 send_opts() = [send_opt()]
501                 send_opt() = {context, string()} | {timeout, pos_integer()} |
502                 {extra, term()}  |  {community,  community()}  |  {sec_model,
503                 sec_model()}    |    {sec_name,   string()}   |   {sec_level,
504                 sec_level()} | {max_message_size, pos_integer()}
505                 ReqId = term()
506                 Reason = term()
507
508              Asynchronous get-request.
509
510              The reply, if it arrives, will be delivered to the user  through
511              a call to the snmpm_user callback function handle_pdu.
512
513              The  send  option  timeout specifies for how long the request is
514              valid (after which the manager is free to delete it).
515
516              The send option extra specifies an opaque data structure  passed
517              on  to  the  net-if process. The net-if process included in this
518              application makes, with one exception, no use of this  info,  so
519              the  only  use  for it in such a option (when using the built in
520              net-if) would be tracing. The one usage exception is: Any  tuple
521              with  snmpm_extra_info_tag  as its first element is reserved for
522              internal use.
523
524              Some  of  the  send  options  (community,  sec_model,  sec_name,
525              sec_level  and  max_message_size) are override options. That is,
526              for this request, they override any configuration done when  the
527              agent was registered.
528
529       async_get(UserId, TargetName, Oids) -> {ok, ReqId} | {error, Reason}
530       async_get(UserId,  TargetName,  ContextName,  Oids)  ->  {ok,  ReqId} |
531       {error, Reason}
532       async_get(UserId, TargetName, Oids, Expire) -> {ok,  ReqId}  |  {error,
533       Reason}
534       async_get(UserId, TargetName, ContextName, Oids, Expire) -> {ok, ReqId}
535       | {error, Reason}
536       async_get(UserId, TargetName, ContextName, Oids, Expire, ExtraInfo)  ->
537       {ok, ReqId} | {error, Reason}
538
539              Types:
540
541                 UserId = term()
542                 TargetName = target_name()
543                 ContextName = string()
544                 Oids = [oid()]
545                 Expire = integer()
546                 ExtraInfo = term()
547                 ReqId = term()
548                 Reason = term()
549
550              Asynchronous get-request.
551
552              The  reply, if it arrives, will be delivered to the user through
553              a call to the snmpm_user callback function handle_pdu.
554
555              The Expire time indicates for how  long  the  request  is  valid
556              (after which the manager is free to delete it).
557
558              ExtraInfo  is  an  opaque data structure passed on to the net-if
559              process. The net-if process included in this application  makes,
560              with  one exception, no use of this info, so the only use for it
561              in such a configuration (when using the built in  net-if)  would
562              be   tracing.  The  one  usage  exception  is:  Any  tuple  with
563              snmpm_extra_info_tag as its first element is reserved for inter‐
564              nal use.
565
566       sync_get_next2(UserId,  TargetName, Oids) -> {ok, SnmpReply, Remaining}
567       | {error, Reason}
568       sync_get_next2(UserId, TargetName, Oids, SendOpts) ->  {ok,  SnmpReply,
569       Remaining} | {error, Reason}
570
571              Types:
572
573                 UserId = term()
574                 TargetName = target_name()
575                 Oids = [oid()]
576                 SendOpts = send_opts()
577                 send_opts() = [send_opt()]
578                 send_opt() = {context, string()} | {timeout, pos_integer()} |
579                 {extra, term()}  |  {community,  community()}  |  {sec_model,
580                 sec_model()}    |    {sec_name,   string()}   |   {sec_level,
581                 sec_level()} | {max_message_size, pos_integer()}
582                 SnmpReply = snmp_reply()
583                 Remaining = integer()
584                 Reason    =    {send_failed,    ReqId,    ActualReason}     |
585                 {invalid_sec_info, SecInfo, SnmpInfo} | term()
586                 ReqId = term()
587                 ActualReason = term()
588                 SecInfo = [sec_info()]
589                 sec_info() = {sec_tag(), ExpectedValue, ReceivedValue}
590                 sec_tag() = atom()
591                 ExpectedValue = ReceivedValue = term()
592                 SnmpInfo = term()
593
594              Synchronous get-next-request.
595
596              Remaining  is the remaining time of the given (or default) time‐
597              out time.
598
599              When Reason is {send_failed,  ...}  it  means  that  the  net_if
600              process failed to send the message. This could happen because of
601              any number of reasons, i.e. encoding error. ActualReason is  the
602              actual reason in this case.
603
604              The  send option extra specifies an opaque data structure passed
605              on to the net-if process. The net-if process  included  in  this
606              application  makes,  with one exception, no use of this info, so
607              the only use for it in such a option (when using  the  built  in
608              net-if)  would be tracing. The one usage exception is: Any tuple
609              with snmpm_extra_info_tag as its first element is  reserved  for
610              internal use.
611
612              Some  of  the  send  options  (community,  sec_model,  sec_name,
613              sec_level and max_message_size) are override options.  That  is,
614              for  this request, they override any configuration done when the
615              agent was registered.
616
617              For SnmpInfo, see the user callback function handle_report.
618
619       sync_get_next(UserId, TargetName, Oids) -> {ok, SnmpReply, Remaining} |
620       {error, Reason}
621       sync_get_next(UserId, TargetName, ContextName, Oids) -> {ok, SnmpReply,
622       Remaining} | {error, Reason}
623       sync_get_next(UserId, TargetName, Oids,  Timeout)  ->  {ok,  SnmpReply,
624       Remaining} | {error, Reason}
625       sync_get_next(UserId,  TargetName,  ContextName, Oids, Timeout) -> {ok,
626       SnmpReply, Remaining} | {error, Reason}
627       sync_get_next(UserId,   TargetName,   ContextName,    Oids,    Timeout,
628       ExtraInfo) -> {ok, SnmpReply, Remaining} | {error, Reason}
629
630              Types:
631
632                 UserId = term()
633                 TargetName = target_name()
634                 ContextName = string()
635                 Oids = [oid()]
636                 Timeout = integer()
637                 ExtraInfo = term()
638                 SnmpReply = snmp_reply()
639                 Remaining = integer()
640                 Reason   =   {send_failed,  ReqId,  R}  |  {invalid_sec_info,
641                 SecInfo, SnmpInfo} | term()
642                 R = term()
643
644              Synchronous get-next-request.
645
646              Remaining time of the given or default timeout time.
647
648              When Reason is {send_failed,  ...}  it  means  that  the  net_if
649              process failed to send the message. This could happen because of
650              any number of reasons, i.e. encoding error. R is the actual rea‐
651              son in this case.
652
653              ExtraInfo  is  an  opaque data structure passed on to the net-if
654              process. The net-if process included in this application  makes,
655              with  one exception, no use of this info, so the only use for it
656              in such a configuration (when using the built in  net-if)  would
657              be   tracing.  The  one  usage  exception  is:  Any  tuple  with
658              snmpm_extra_info_tag as its first element is reserved for inter‐
659              nal use.
660
661       async_get_next2(UserId, TargetName, Oids) -> {ok, ReqId} | {error, Rea‐
662       son}
663       async_get_next2(UserId, TargetName, Oids, SendOpts) ->  {ok,  ReqId}  |
664       {error, Reason}
665
666              Types:
667
668                 UserId = term()
669                 TargetName = target_name()
670                 Oids = [oid()]
671                 send_opt() = {context, string()} | {timeout, pos_integer()} |
672                 {extra, term()}  |  {community,  community()}  |  {sec_model,
673                 sec_model()}    |    {sec_name,   string()}   |   {sec_level,
674                 sec_level()} | {max_message_size, pos_integer()}
675                 ReqId = integer()
676                 Reason = term()
677
678              Asynchronous get-next-request.
679
680              The reply will be delivered to the user through a  call  to  the
681              snmpm_user callback function handle_pdu.
682
683              The  send  option  timeout specifies for how long the request is
684              valid (after which the manager is free to delete it).
685
686              The send option extra specifies an opaque data structure  passed
687              on  to  the  net-if process. The net-if process included in this
688              application makes, with one exception, no use of this  info,  so
689              the  only  use  for it in such a option (when using the built in
690              net-if) would be tracing. The one usage exception is: Any  tuple
691              with  snmpm_extra_info_tag  as its first element is reserved for
692              internal use.
693
694              Some  of  the  send  options  (community,  sec_model,  sec_name,
695              sec_level  and  max_message_size) are override options. That is,
696              for this request, they override any configuration done when  the
697              agent was registered.
698
699       async_get_next(UserId,  TargetName, Oids) -> {ok, ReqId} | {error, Rea‐
700       son}
701       async_get_next(UserId, TargetName, ContextName, Oids) -> {ok, ReqId}  |
702       {error, Reason}
703       async_get_next(UserId,  TargetName,  Oids,  Expire)  ->  {ok,  ReqId} |
704       {error, Reason}
705       async_get_next(UserId, TargetName, ContextName, Oids, Expire)  ->  {ok,
706       ReqId} | {error, Reason}
707       async_get_next(UserId,    TargetName,    ContextName,   Oids,   Expire,
708       ExtraInfo) -> {ok, ReqId} | {error, Reason}
709
710              Types:
711
712                 UserId = term()
713                 TargetName = target_name()
714                 ContextName = string()
715                 Oids = [oid()]
716                 Expire = integer()
717                 ExtraInfo = term()
718                 ReqId = integer()
719                 Reason = term()
720
721              Asynchronous get-next-request.
722
723              The reply will be delivered to the user through a  call  to  the
724              snmpm_user callback function handle_pdu.
725
726              The  Expire  time  indicates  for  how long the request is valid
727              (after which the manager is free to delete it).
728
729              ExtraInfo is an opaque data structure passed on  to  the  net-if
730              process.  The net-if process included in this application makes,
731              with one exception, no use of this info, so the only use for  it
732              in  such  a configuration (when using the built in net-if) would
733              be  tracing.  The  one  usage  exception  is:  Any  tuple   with
734              snmpm_extra_info_tag as its first element is reserved for inter‐
735              nal use.
736
737       sync_set2(UserId, TargetName, VarsAndVals) -> {ok,  SnmpReply,  Remain‐
738       ing} | {error, Reason}
739       sync_set2(UserId, TargetName, VarsAndVals, SendOpts) -> {ok, SnmpReply,
740       Remaining} | {error, Reason}
741
742              Types:
743
744                 UserId = term()
745                 TargetName = target_name()
746                 VarsAndVals = vars_and_vals()
747                 SendOpts = send_opts()
748                 send_opts() = [send_opt()]
749                 send_opt() = {context, string()} | {timeout, pos_integer()} |
750                 {extra,  term()}  |  {community,  community()}  | {sec_model,
751                 sec_model()}   |   {sec_name,   string()}    |    {sec_level,
752                 sec_level()} | {max_message_size, pos_integer()}
753                 SnmpReply = snmp_reply()
754                 Remaining = integer()
755                 Reason     =    {send_failed,    ReqId,    ActualReason}    |
756                 {invalid_sec_info, SecInfo, SnmpInfo} | term()
757                 ReqId = term()
758                 ActualReason = term()
759                 SecInfo = [sec_info()]
760                 sec_info() = {sec_tag(), ExpectedValue, ReceivedValue}
761                 sec_tag() = atom()
762                 ExpectedValue = ReceivedValue = term()
763                 SnmpInfo = term()
764
765              Synchronous set-request.
766
767              Remaining is the remaining time of the given (or default)  time‐
768              out time.
769
770              When  Reason  is  {send_failed,  ...}  it  means that the net_if
771              process failed to send the message. This could happen because of
772              any  number of reasons, i.e. encoding error. ActualReason is the
773              actual reason in this case.
774
775              When var_and_val() is {oid(), value()},  the  manager  makes  an
776              educated guess based on the loaded mibs.
777
778              The  send option extra specifies an opaque data structure passed
779              on to the net-if process. The net-if process  included  in  this
780              application  makes,  with one exception, no use of this info, so
781              the only use for it in such a option (when using  the  built  in
782              net-if)  would be tracing. The one usage exception is: Any tuple
783              with snmpm_extra_info_tag as its first element is  reserved  for
784              internal use.
785
786              Some  of  the  send  options  (community,  sec_model,  sec_name,
787              sec_level and max_message_size) are override options.  That  is,
788              for  this request, they override any configuration done when the
789              agent was registered.
790
791              For SnmpInfo, see the user callback function handle_report.
792
793       sync_set(UserId, TargetName, VarsAndVals) -> {ok, SnmpReply, Remaining}
794       | {error, Reason}
795       sync_set(UserId,  TargetName, ContextName, VarsAndVals) -> {ok, SnmpRe‐
796       ply, Remaining} | {error, Reason}
797       sync_set(UserId, TargetName, VarsAndVals, Timeout) ->  {ok,  SnmpReply,
798       Remaining} | {error, Reason}
799       sync_set(UserId, TargetName, ContextName, VarsAndVals, Timeout) -> {ok,
800       SnmpReply, Remaining} | {error, Reason}
801       sync_set(UserId,   TargetName,   ContextName,   VarsAndVals,   Timeout,
802       ExtraInfo) -> {ok, SnmpReply, Remaining} | {error, Reason}
803
804              Types:
805
806                 UserId = term()
807                 TargetName = target_name()
808                 ContextName = string()
809                 VarsAndVals = vars_and_vals()
810                 Timeout = integer()
811                 ExtraInfo = term()
812                 SnmpReply = snmp_reply()
813                 Remaining = integer()
814                 Reason     =    {send_failed,    ReqId,    ActualReason}    |
815                 {invalid_sec_info, SecInfo, SnmpInfo} | term()
816                 ActualReason = term()
817
818              Synchronous set-request.
819
820              Remaining time of the given or default timeout time.
821
822              When Reason is {send_failed,  ...}  it  means  that  the  net_if
823              process failed to send the message. This could happen because of
824              any number of reasons, i.e. encoding error. R is the actual rea‐
825              son in this case.
826
827              When  var_and_val()  is  {oid(),  value()}, the manager makes an
828              educated guess based on the loaded mibs.
829
830              ExtraInfo is an opaque data structure passed on  to  the  net-if
831              process.  The net-if process included in this application makes,
832              with one exception, no use of this info, so the only use for  it
833              in  such  a configuration (when using the built in net-if) would
834              be  tracing.  The  one  usage  exception  is:  Any  tuple   with
835              snmpm_extra_info_tag as its first element is reserved for inter‐
836              nal use.
837
838       async_set2(UserId, TargetName, VarsAndVals) -> {ok,  ReqId}  |  {error,
839       Reason}
840       async_set2(UserId,  TargetName, VarsAndVals, SendOpts) -> {ok, ReqId} |
841       {error, Reason}
842
843              Types:
844
845                 UserId = term()
846                 TargetName = target_name()
847                 VarsAndVals = vars_and_vals()
848                 SendOpts = send_opts()
849                 send_opts() = [send_opt()]
850                 send_opt() = {context, string()} | {timeout, pos_integer()} |
851                 {extra,  term()}  |  {community,  community()}  | {sec_model,
852                 sec_model()}   |   {sec_name,   string()}    |    {sec_level,
853                 sec_level()} | {max_message_size, pos_integer()}
854                 ReqId = term()
855                 Reason = term()
856
857              Asynchronous set-request.
858
859              The  reply  will  be delivered to the user through a call to the
860              snmpm_user callback function handle_pdu.
861
862              The send option timeout specifies for how long  the  request  is
863              valid (after which the manager is free to delete it).
864
865              When  var_and_val()  is  {oid(),  value()}, the manager makes an
866              educated guess based on the loaded mibs.
867
868              The send option extra specifies an opaque data structure  passed
869              on  to  the  net-if process. The net-if process included in this
870              application makes, with one exception, no use of this  info,  so
871              the  only  use  for it in such a option (when using the built in
872              net-if) would be tracing. The one usage exception is: Any  tuple
873              with  snmpm_extra_info_tag  as its first element is reserved for
874              internal use.
875
876              Some  of  the  send  options  (community,  sec_model,  sec_name,
877              sec_level  and  max_message_size) are override options. That is,
878              for this request, they override any configuration done when  the
879              agent was registered.
880
881       async_set(UserId,  TargetName,  VarsAndVals)  ->  {ok, ReqId} | {error,
882       Reason}
883       async_set(UserId, TargetName, ContextName, VarsAndVals) -> {ok,  ReqId}
884       | {error, Reason}
885       async_set(UserId,  TargetName,  VarsAndVals,  Expire)  -> {ok, ReqId} |
886       {error, Reason}
887       async_set(UserId, TargetName, ContextName, VarsAndVals, Expire) -> {ok,
888       ReqId} | {error, Reason}
889       async_set(UserId,   TargetName,   ContextName,   VarsAndVals,   Expire,
890       ExtraInfo) -> {ok, ReqId} | {error, Reason}
891
892              Types:
893
894                 UserId = term()
895                 TargetName = target_name()
896                 VarsAndVals = vars_and_vals()
897                 Expire = integer()
898                 ExtraInfo = term()
899                 ReqId = term()
900                 Reason = term()
901
902              Asynchronous set-request.
903
904              The reply will be delivered to the user through a  call  to  the
905              snmpm_user callback function handle_pdu.
906
907              The  Expire  time  indicates  for  how long the request is valid
908              (after which the manager is free to delete it).
909
910              When var_and_val() is {oid(), value()},  the  manager  makes  an
911              educated guess based on the loaded mibs.
912
913              ExtraInfo  is  an  opaque data structure passed on to the net-if
914              process. The net-if process included in this application  makes,
915              with  one exception, no use of this info, so the only use for it
916              in such a configuration (when using the built in  net-if)  would
917              be   tracing.  The  one  usage  exception  is:  Any  tuple  with
918              snmpm_extra_info_tag as its first element is reserved for inter‐
919              nal use.
920
921       sync_get_bulk2(UserId,  TragetName,  NonRep, MaxRep, Oids) -> {ok, Snm‐
922       pReply, Remaining} | {error, Reason}
923       sync_get_bulk2(UserId, TragetName, NonRep, MaxRep, Oids,  SendOpts)  ->
924       {ok, SnmpReply, Remaining} | {error, Reason}
925
926              Types:
927
928                 UserId = term()
929                 TargetName = target_name()
930                 NonRep = integer()
931                 MaxRep = integer()
932                 Oids = [oid()]
933                 SendOpts = send_opts()
934                 send_opts() = [send_opt()]
935                 send_opt() = {context, string()} | {timeout, pos_integer()} |
936                 {extra, term()}  |  {community,  community()}  |  {sec_model,
937                 sec_model()}    |    {sec_name,   string()}   |   {sec_level,
938                 sec_level()} | {max_message_size, pos_integer()}
939                 SnmpReply = snmp_reply()
940                 Remaining = integer()
941                 Reason    =    {send_failed,    ReqId,    ActualReason}     |
942                 {invalid_sec_info, SecInfo, SnmpInfo} | term()
943                 ReqId = term()
944                 ActualReason = term()
945                 SecInfo = [sec_info()]
946                 sec_info() = {sec_tag(), ExpectedValue, ReceivedValue}
947                 sec_tag() = atom()
948                 ExpectedValue = ReceivedValue = term()
949                 SnmpInfo = term()
950
951              Synchronous get-bulk-request (See RFC1905).
952
953              Remaining  is the remaining time of the given (or default) time‐
954              out time.
955
956              When Reason is {send_failed,  ...}  it  means  that  the  net_if
957              process failed to send the message. This could happen because of
958              any number of reasons, i.e. encoding error. ActualReason is  the
959              actual reason in this case.
960
961              The  send option extra specifies an opaque data structure passed
962              on to the net-if process. The net-if process  included  in  this
963              application  makes,  with one exception, no use of this info, so
964              the only use for it in such a option (when using  the  built  in
965              net-if)  would be tracing. The one usage exception is: Any tuple
966              with snmpm_extra_info_tag as its first element is  reserved  for
967              internal use.
968
969              Some  of  the  send  options  (community,  sec_model,  sec_name,
970              sec_level and max_message_size) are override options.  That  is,
971              for  this request, they override any configuration done when the
972              agent was registered.
973
974              For SnmpInfo, see the user callback function handle_report.
975
976       sync_get_bulk(UserId, TragetName, NonRep, MaxRep, Oids) -> {ok, SnmpRe‐
977       ply, Remaining} | {error, Reason}
978       sync_get_bulk(UserId, TragetName, NonRep, MaxRep, ContextName, Oids) ->
979       {ok, SnmpReply, Remaining} | {error, Reason}
980       sync_get_bulk(UserId, TragetName, NonRep,  MaxRep,  Oids,  Timeout)  ->
981       {ok, SnmpReply, Remaining} | {error, Reason}
982       sync_get_bulk(UserId,  TragetName,  NonRep,  MaxRep, ContextName, Oids,
983       Timeout) -> {ok, SnmpReply, Remaining} | {error, Reason}
984       sync_get_bulk(UserId, TragetName, NonRep,  MaxRep,  ContextName,  Oids,
985       Timeout, ExtraInfo) -> {ok, SnmpReply, Remaining} | {error, Reason}
986
987              Types:
988
989                 UserId = term()
990                 TargetName = target_name()
991                 NonRep = integer()
992                 MaxRep = integer()
993                 ContextName = string()
994                 Oids = [oid()]
995                 Timeout = integer()
996                 ExtraInfo = term()
997                 SnmpReply = snmp_reply()
998                 Remaining = integer()
999                 Reason   =   {send_failed,  ReqId,  R}  |  {invalid_sec_info,
1000                 SecInfo, SnmpInfo} | term()
1001
1002              Synchronous get-bulk-request (See RFC1905).
1003
1004              Remaining time of the given or default timeout time.
1005
1006              When Reason is {send_failed,  ...}  it  means  that  the  net_if
1007              process failed to send the message. This could happen because of
1008              any number of reasons, i.e. encoding error. R is the actual rea‐
1009              son in this case.
1010
1011              ExtraInfo  is  an  opaque data structure passed on to the net-if
1012              process. The net-if process included in this application  makes,
1013              with  one exception, no use of this info, so the only use for it
1014              in such a configuration (when using the built in  net-if)  would
1015              be   tracing.  The  one  usage  exception  is:  Any  tuple  with
1016              snmpm_extra_info_tag as its first element is reserved for inter‐
1017              nal use.
1018
1019       async_get_bulk2(UserId,  TargetName,  NonRep,  MaxRep,  Oids)  ->  {ok,
1020       ReqId} | {error, Reason}
1021       async_get_bulk2(UserId, TargetName, NonRep, MaxRep, Oids, SendOpts)  ->
1022       {ok, ReqId} | {error, Reason}
1023
1024              Types:
1025
1026                 UserId = term()
1027                 TargetName = target_name()
1028                 NonRep = integer()
1029                 MaxRep = integer()
1030                 Oids = [oid()]
1031                 SendOpts = send_opts()
1032                 send_opts() = [send_opt()]
1033                 send_opt() = {context, string()} | {timeout, pos_integer()} |
1034                 {extra, term()}  |  {community,  community()}  |  {sec_model,
1035                 sec_model()}    |    {sec_name,   string()}   |   {sec_level,
1036                 sec_level()} | {max_message_size, pos_integer()}
1037                 ReqId = integer()
1038                 Reason = term()
1039
1040              Asynchronous get-bulk-request (See RFC1905).
1041
1042              The reply will be delivered to the user through a  call  to  the
1043              snmpm_user callback function handle_pdu.
1044
1045              The  send  option  timeout specifies for how long the request is
1046              valid (after which the manager is free to delete it).
1047
1048              The send option extra specifies an opaque data structure  passed
1049              on  to  the  net-if process. The net-if process included in this
1050              application makes no use of this info, so the only use for it in
1051              such  a  configuration (when using the built in net-if) would be
1052              tracing.
1053
1054              Some  of  the  send  options  (community,  sec_model,  sec_name,
1055              sec_level  and  max_message_size) are override options. That is,
1056              for this request, they override any configuration done when  the
1057              agent was registered.
1058
1059       async_get_bulk(UserId, TargetName, NonRep, MaxRep, Oids) -> {ok, ReqId}
1060       | {error, Reason}
1061       async_get_bulk(UserId, TargetName, NonRep, MaxRep,  ContextName,  Oids)
1062       -> {ok, ReqId} | {error, Reason}
1063       async_get_bulk(UserId,  TargetName,  NonRep,  MaxRep,  Oids, Expire) ->
1064       {ok, ReqId} | {error, Reason}
1065       async_get_bulk(UserId, TargetName, NonRep, MaxRep,  ContextName,  Oids,
1066       Expire) -> {ok, ReqId} | {error, Reason}
1067       async_get_bulk(UserId,  TargetName,  NonRep, MaxRep, ContextName, Oids,
1068       Expire, ExtraInfo) -> {ok, ReqId} | {error, Reason}
1069
1070              Types:
1071
1072                 UserId = term()
1073                 TargetName = target_name()
1074                 NonRep = integer()
1075                 MaxRep = integer()
1076                 ContextName = string()
1077                 Oids = [oid()]
1078                 Expire = integer()
1079                 ExtraInfo = term()
1080                 ReqId = integer()
1081                 Reason = term()
1082
1083              Asynchronous get-bulk-request (See RFC1905).
1084
1085              The reply will be delivered to the user through a  call  to  the
1086              snmpm_user callback function handle_pdu.
1087
1088              The  Expire  time  indicates  for  how long the request is valid
1089              (after which the manager is free to delete it).
1090
1091              ExtraInfo is an opaque data structure passed on  to  the  net-if
1092              process.  The net-if process included in this application makes,
1093              with one exception, no use of this info, so the only use for  it
1094              in  such  a configuration (when using the built in net-if) would
1095              be  tracing.  The  one  usage  exception  is:  Any  tuple   with
1096              snmpm_extra_info_tag as its first element is reserved for inter‐
1097              nal use.
1098
1099       cancel_async_request(UserId, ReqId) -> ok | {error, Reason}
1100
1101              Types:
1102
1103                 UserId = term()
1104                 ReqId = term()
1105                 Reason = term()
1106
1107              Cancel a previous asynchronous request.
1108
1109       log_to_txt(LogDir)
1110       log_to_txt(LogDir, Block | Mibs)
1111       log_to_txt(LogDir, Mibs, Block | OutFile) -> ok | {error, Reason}
1112       log_to_txt(LogDir, Mibs, OutFile, Block | LogName) -> ok | {error, Rea‐
1113       son}
1114       log_to_txt(LogDir,  Mibs,  OutFile,  LogName,  Block | LogFile) -> ok |
1115       {error, Reason}
1116       log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile, Block |  Start)  ->
1117       ok | {error, Reason}
1118       log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile, Block, Start) -> ok
1119       | {error, Reason}
1120       log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile, Start, Stop) ->  ok
1121       | {error, Reason}
1122       log_to_txt(LogDir, Mibs, OutFile, LogName, LogFile, Block, Start, Stop)
1123       -> ok | {error, Reason}
1124
1125              Types:
1126
1127                 LogDir = string()
1128                 Mibs = [MibName]
1129                 MibName = string()
1130                 Block = boolean()
1131                 OutFile = string()
1132                 LogName = string()
1133                 LogFile = string()
1134                 Start = Stop = null | calendar:datetime() | {local_time, cal‐
1135                 endar:datetime()} | {universal_time, calendar:datetime()}
1136                 Reason = disk_log_open_error() | file_open_error() | term()
1137                 disk_log_open_error() = {LogName, term()}
1138                 file_open_error() = {OutFile, term()}
1139
1140              Converts  an  Audit  Trail  Log to a readable text file. OutFile
1141              defaults to "./snmpm_log.txt". LogName defaults to  "snmpm_log".
1142              LogFile defaults to "snmpm.log".
1143
1144              The Block argument indicates if the log should be blocked during
1145              conversion. This could be usefull  when  converting  large  logs
1146              (when  otherwise the log could wrap during conversion). Defaults
1147              to true.
1148
1149              See snmp:log_to_txt for more info.
1150
1151       log_to_io(LogDir) -> ok | {error, Reason}
1152       log_to_io(LogDir, Block | Mibs) -> ok | {error, Reason}
1153       log_to_io(LogDir, Mibs) -> ok | {error, Reason}
1154       log_to_io(LogDir, Mibs, Block | LogName) -> ok | {error, Reason}
1155       log_to_io(LogDir, Mibs, LogName, Block | LogFile) -> ok | {error,  Rea‐
1156       son}
1157       log_to_io(LogDir,  Mibs,  LogName,  LogFile,  Block  |  Start)  -> ok |
1158       {error, Reason}
1159       log_to_io(LogDir, Mibs, LogName, LogFile, Block, Start) -> ok | {error,
1160       Reason}
1161       log_to_io(LogDir,  Mibs, LogName, LogFile, Start, Stop) -> ok | {error,
1162       Reason}
1163       log_to_io(LogDir, Mibs, LogName, LogFile, Block, Start, Stop) ->  ok  |
1164       {error, Reason}
1165
1166              Types:
1167
1168                 LogDir = string()
1169                 Mibs = [MibName]
1170                 MibName = string()
1171                 Block = boolean()
1172                 LogName = string()
1173                 LogFile = string()
1174                 Start = Stop = null | calendar:datetime() | {local_time, cal‐
1175                 endar:datetime()} | {universal_time, calendar:datetime()}
1176                 Reason = disk_log_open_error() | file_open_error() | term()
1177                 disk_log_open_error() = {LogName, term()}
1178                 file_open_error() = {OutFile, term()}
1179
1180              Converts an Audit Trail Log to a readable format and  prints  it
1181              on  stdio.  LogName defaults to "snmpm_log". LogFile defaults to
1182              "snmpm.log".
1183
1184              The Block argument indicates if the log should be blocked during
1185              conversion.  This  could  be  usefull when converting large logs
1186              (when otherwise the log could wrap during conversion).  Defaults
1187              to true.
1188
1189              See snmp:log_to_io for more info.
1190
1191       change_log_size(NewSize) -> ok | {error, Reason}
1192
1193              Types:
1194
1195                 NewSize = {MaxBytes, MaxFiles}
1196                 MaxBytes = integer()
1197                 MaxFiles = integer()
1198                 Reason = term()
1199
1200              Changes  the  log  size  of the Audit Trail Log. The application
1201              must be configured to use the audit trail log  function.  Please
1202              refer  to  disk_log(3) in Kernel Reference Manual for a descrip‐
1203              tion of how to change the log size.
1204
1205              The change is permanent, as long as the log is not deleted. That
1206              means, the log size is remembered across reboots.
1207
1208       set_log_type(NewType) -> {ok, OldType} | {error, Reason}
1209
1210              Types:
1211
1212                 NewType = OldType = atl_type()
1213                 Reason = term()
1214
1215              Changes the run-time Audit Trail log type.
1216
1217              Note that this has no effect on the application configuration as
1218              defined by configuration files, so a node  restart  will  revert
1219              the config to whatever is in those files.
1220
1221              This  function  is primarily useful in testing/debugging scenar‐
1222              ios.
1223
1224       load_mib(Mib) -> ok | {error, Reason}
1225
1226              Types:
1227
1228                 Mib = MibName
1229                 MibName = string()
1230                 Reason = term()
1231
1232              Load a Mib into the manager. The MibName is the name of the Mib,
1233              including the path to where the compiled mib is found. For exam‐
1234              ple,
1235
1236                        Dir = code:priv_dir(my_app) ++ "/mibs/",
1237                        snmpm:load_mib(Dir ++ "MY-MIB").
1238
1239
1240       unload_mib(Mib) -> ok | {error, Reason}
1241
1242              Types:
1243
1244                 Mib = MibName
1245                 MibName = string()
1246                 Reason = term()
1247
1248              Unload a Mib from the manager. The MibName is the  name  of  the
1249              Mib,  including the path to where the compiled mib is found. For
1250              example,
1251
1252                        Dir = code:priv_dir(my_app) ++ "/mibs/",
1253                        snmpm:unload_mib(Dir ++ "MY-MIB").
1254
1255
1256       which_mibs() -> Mibs
1257
1258              Types:
1259
1260                 Mibs = [{MibName, MibFile}]
1261                 MibName = atom()
1262                 MibFile = string()
1263
1264              Get a list of all the mib's loaded into the manager.
1265
1266       name_to_oid(Name) -> {ok, Oids} | {error, Reason}
1267
1268              Types:
1269
1270                 Name = atom()
1271                 Oids = [oid()]
1272
1273              Transform a alias-name to its oid.
1274
1275              Note that an alias-name is only unique within the mib,  so  when
1276              loading  several  mib's  into  a manager, there might be several
1277              instances of the same aliasname.
1278
1279       oid_to_name(Oid) -> {ok, Name} | {error, Reason}
1280
1281              Types:
1282
1283                 Oid = oid()
1284                 Name = atom()
1285                 Reason = term()
1286
1287              Transform a oid to its aliasname.
1288
1289       oid_to_type(Oid) -> {ok, Type} | {error, Reason}
1290
1291              Types:
1292
1293                 Oid = oid()
1294                 Type = atom()
1295                 Reason = term()
1296
1297              Retreive the type (asn1 bertype) of an oid.
1298
1299       backup(BackupDir) -> ok | {error, Reason}
1300
1301              Types:
1302
1303                 BackupDir = string()
1304
1305              Backup persistent data handled by the manager.
1306
1307              BackupDir cannot be identical to DbDir.
1308
1309       info() -> [{Key, Value}]
1310
1311              Types:
1312
1313                 Key = atom()
1314                 Value = term()
1315
1316              Returns a list (a dictionary) containing information  about  the
1317              manager. Information includes statistics counters, miscellaneous
1318              info about each process (e.g. memory allocation), and so on.
1319
1320       verbosity(Ref, Verbosity) -> void()
1321
1322              Types:
1323
1324                 Ref = server | config | net_if | note_store | all
1325                 Verbosity = verbosity()
1326                 verbosity() = silence | info | log | debug | trace
1327
1328              Sets verbosity for the designated process. For the  lowest  ver‐
1329              bosity  silence,  nothing  is printed. The higher the verbosity,
1330              the more is printed.
1331
1332       format_reason(Reason) -> string()
1333       format_reason(Prefix, Reason) -> string()
1334
1335              Types:
1336
1337                 Reason = term()
1338                 Prefix = integer() | string()
1339
1340              This utility function is used  to  create  a  formatted  (pretty
1341              printable) string of the error reason received from either:
1342
1343                * The  Reason returned value if any of the sync/async get/get-
1344                  next/set/get-bulk functions returns {error, Reason}
1345
1346                * The Reason parameter in the handle_error user callback func‐
1347                  tion.
1348
1349              Prefix should either be an indention string (e.g. a list of spa‐
1350              ces) or a positive integer (which will be  used  to  create  the
1351              indention string of that length).
1352
1353
1354
1355Ericsson AB                      snmp 5.2.11.1                        snmpm(3)
Impressum