Module:new(Storage) -> State OTP R16B01
Types
Storage = mib_storage()State = term()Create a new mib-server data instance.
This module defines the behaviour of the SNMP agent mib-server data module. A snmpa_mib_data compliant module must export the following functions:
new/1 close/1 sync/1 load_mib/4 unload_mib/4 lookup/2 next/3 register_subagent/3 unregister_subagent/2 which_mib/2 which_mibs/1 whereis_mib/2 dump/2 info/1 backup/2 code_change/4 The semantics of them and their exact signatures are explained below.
Note that the data extracted from the imported (loaded) mibs are stored partly by the mib-server and partly by the symbolic-store server. See the default mib-server data module, snmpa_mib_data_tttn for details.
The following functions must be exported from a mib-server data callback module:
Storage = mib_storage()State = term()Create a new mib-server data instance.
State = term()Close the mib-storage.
State = term()Synchronize (write to disc, if possible) the mib-server data. This depends on the mib_storage option, and will only have an effect if the mib-storage option has an actual disc component (such as dets, or ets with a file).
State = NewState = term()Filename = filename()MeOverride = boolean()TeOverride = boolean()Reason = already_loaded | term()Load the mib specified by the Filename argument into the mib-server. The MeOverride and TeOverride arguments specifies how the mib-server shall handle duplicate mib- and trap- entries.
State = NewState = term()Filename = filename()Reason = not_loaded | term()Unload the mib specified by the Filename argument from the mib-server.
State = term()Reply = {variable, ME} | {table_column, ME, TEOid} | {subagent, SAPid, SAOid} | {false, Reason}Oid = TEOid = SAOid = oid()SAPid = pid()ME = me()Reason = term()Find the mib-entry corresponding to the Oid. If it is a variable, the Oid must be <Oid for var>.0 and if it is a table, Oid must be <table>.<entry>.<col>.<any>.
State = term()Reply = false | endOfTable | {subagent, SAPid, SAOid} | {variable, ME, VarOid} | {table, TableOid, TableRestOid, ME}Oid = SAOid = VarOid = TableOid = TableRestOid = oid()SAPid = pid()ME = me()Finds the lexicographically next oid.
State = NewState = term()Reply = {ok, NewState} | {error, Reason}Oid = oid()Pid = pid()Reason = term()Register the subagent, process, handling part of the mib-tree.
State = NewState = term()Reply = {ok, NewState} | {ok, NewState, Pid} | {error, Reason}PidOrOid = pid() | oid()Pid = pid()Reason = term()Unregister the subagent, handling part of the mib-tree, as specified by the oid() or pid() (PidOrOid).
When unregister the subagent using an oid(), the pid() of the process handling the sub-tree is also returned.
State = term()Reply = ok | {error, Reason}Destination = io | filename()Pid = pid()Reason = term()Dump the mib-server data to stdio (Destination = io) or the specified file.
State = term()Reply = {ok, MibFile} | {error, Reason}Oid = oid()MibFile = string()Reason = term()Retrieve the mib-file to which an given oid() belongs.
State = term()Reply = [{MibName, Filename}]MibName = atom()Filename = string()Retrieve all loaded mib-files.
State = term()MibName = atom()Reply = {ok, Filename} | {error, Reason}Filename = string()Reason = term()Retrieve the mib file for the mib.
State = term()Reply = {ok, Filename} | {error, Reason}Filename = string()Reason = term()Retrieve misc info for the mib data.
This is a utility function used to inspect, for instance, memory usage, in a simple way.
State = term()Reply = ok | {error, Reason}BackupDir = string()Reason = term()Perform a backup of the mib-server data.
Note that its implementation dependent (and also dependent on mib-storage is used) if a backup is possible.
Destination = up | downVsn = term()Extra = term()State = NewState = term()Perform a code-change (upgrade or downgrade).
See gen_server for more info regarding the Vsn and Extra arguments.
© 2010–2023 Ericsson AB
Licensed under the Apache License, Version 2.0.