Behaviour module for the SNMP agent mib storage.
This module defines the behaviour of the SNMP agent mib storage.
The mib storage is used by the agent to store internal mib- related information. The mib storage module is used by several entities, not just the mib-server.
A snmpa_mib_storage compliant module must export the following functions:
- open/5
- close/1
- read/2
- write/2
- delete/1
- delete/2
- match_object/2
- match_delete/2
- tab2list/1
- info/1
- info/2
- sync/1
- backup/2
The semantics of them and their exact signatures are explained below.
Summary
Callbacks
Perform a backup of the mib-storage table.
Close the mib-storage table.
Delete an entire mib-storage table.
Delete a record from the mib-storage table.
Retrieve implementation dependent mib-storage table information.
Search the mib-storage table for record that match the specified pattern and then delete them. The records deleted are also returned.
Search the mib-storage table for record that match the specified pattern.
Create or open a mib storage table.
Read a record from the mib-storage table.
Synchronize the mib-storage table.
Return all records in the mib-storage table in the form of a list.
Write a record to the mib-storage table.
Types
Callbacks
Perform a backup of the mib-storage table.
What this means, if anything, is implementation dependent.
Close the mib-storage table.
Delete an entire mib-storage table.
Delete a record from the mib-storage table.
Types
Info = term()
Retrieve implementation dependent mib-storage table information.
Types
Info = term()
Types
TabId = mib_storage_table_id()
Pattern = ets:match_pattern()
Recs = [tuple()] | {error, Reason :: term()}
Search the mib-storage table for record that match the specified pattern and then delete them. The records deleted are also returned.
Types
TabId = mib_storage_table_id()
Pattern = ets:match_pattern()
Recs = [tuple()] | {error, Reason :: term()}
Search the mib-storage table for record that match the specified pattern.
Types
Name = RecName = atom()
Fields = mib_storage_fields()
Type = mib_storage_table_type()
Options = list()
Result = {ok, TabId :: mib_storage_table_id()} | {error, Reason :: term()}
Create or open a mib storage table.
Note that the RecordName and Fields arguments my not be used in all
implementations (they are actually only needed for mnesia-based
implementations).
Note also that the Options argument comes from the options config option of
the mib-storage config option, and is passed on as is.
Read a record from the mib-storage table.
Synchronize the mib-storage table.
What this means, if anything, is implementation dependent.
Return all records in the mib-storage table in the form of a list.
Write a record to the mib-storage table.