table of contents
other versions
- jessie 1:17.3-dfsg-4+deb8u2
- jessie-backports 1:19.2.1+dfsg-2+deb9u1~bpo8+1
- stretch 1:19.2.1+dfsg-2+deb9u2
- testing 1:21.2.5+dfsg-1
- unstable 1:21.2.6+dfsg-1
- experimental 1:22.0~rc1+dfsg-1
snmpa_mib_data(3erl) | Erlang Module Definition | snmpa_mib_data(3erl) |
NAME¶
snmpa_mib_data - Behaviour module for the SNMP agent mib-serverdata module.
DESCRIPTION¶
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
CALLBACK FUNCTIONS¶
The following functions must be exported from a mib-server data callback module:EXPORTS¶
Module:new(Storage) -> State
Types:
Storage = mib_storage()
State = term()
Create a new mib-server data instance.
Module:close(State) -> void()
Types:
State = term()
Close the mib-storage.
Module:sync(State) -> void()
Types:
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).
Module:load_mib(State, Filename, MeOverride, TeOverride) -> {ok, NewState}
| {error, Reason}
Types:
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.
Module:unload_mib(State, Filename) -> {ok, NewState} | {error, Reason}
Types:
State = NewState = term()
Filename = filename()
Reason = not_loaded | term()
Unload the mib specified by the Filename argument from the
mib-server.
Module:lookup(State, Oid) -> Reply
Types:
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>.
Module:next(State, Oid, MibView) -> Reply
Types:
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.
Module:register_subagent(State, Oid, Pid) -> Reply
Types:
State = NewState = term()
Reply = {ok, NewState} | {error, Reason}
Oid = oid()
Pid = pid()
Reason = term()
Register the subagent, process, handling part of the mib-tree.
Module:unregister_subagent(State, PidOrOid) -> Reply
Types:
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.
Module:dump(State, Destination) -> Reply
Types:
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.
Module:which_mib(State, Oid) -> Reply
Types:
State = term()
Reply = {ok, MibFile} | {error, Reason}
Oid = oid()
MibFile = string()
Reason = term()
Retrieve the mib-file to which an given oid() belongs.
Module:which_mibs(State) -> Reply
Types:
State = term()
Reply = [{MibName, Filename}]
MibName = atom()
Filename = string()
Retrieve all loaded mib-files.
Module:whereis_mib(State, MibName) -> Reply
Types:
State = term()
MibName = atom()
Reply = {ok, Filename} | {error, Reason}
Filename = string()
Reason = term()
Retrieve the mib file for the mib.
Module:info(State) -> Reply
Types:
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.
Module:backup(State, BackupDir) -> Reply
Types:
State = term()
Reply = ok | {error, Reason}
BackupDir = string()
Reason = term()
Perform a backup of the mib-server data.
Note that its implementation dependant (and also dependent on mib-storage is
used) if a backup is possible.
Module:code_change(Destination, Vsn, Extra, State) -> NewState
Types:
Destination = up | down
Vsn = 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.
snmp 5.2.4 | Ericsson AB |