Simple Network Management Protocol (SNMP)

Reference Manual

Version 5.2.5

Table of Contents

snmpa_mib_storage

Module

snmpa_mib_storage

Module Summary

Behaviour module for the SNMP agent mib storage.

Description

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:

The semantics of them and their exact signatures are explained below.

CALLBACK FUNCTIONS

The following functions must be exported from a mib-server data callback module:

Exports

Module:open(Name, RecordName, Fields, Type, Options) -> {ok, TabId} | {error, Reason}

Types

Name = atom()
RecordName = atom()
Fields = [atom()]
Type = set | bag()
Options = list()
TabId = term()
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.

Module:close(TabId) -> void()

Types

State = term()

Close the mib-storage table.

Module:read(TabId, Key) -> false | {value, Record}

Types

TabId = term()
Key = term()
Record = tuple()

Read a record from the mib-storage table.

Module:write(TabId, Record) -> ok | {error, Reason}

Types

TabId = term()
Record = tuple()
Reason = term()

Write a record to the mib-storage table.

Module:delete(TabId) -> void()

Types

TabId = term()

Delete an entire mib-storage table.

Module:delete(TabId, Key) -> ok | {error, Reason}

Types

TabId = term()
Key = term()
Reason = term()

Delete a record from the mib-storage table.

Module:match_object(TabId, Pattern) -> {ok, Recs} | {error, Reason}

Types

TabId = term()
Pattern = match_pattern()
Recs = [tuple()]
Reason = term()

Search the mib-storage table for record that match the specified pattern.

Module:match_delete(TabId, Pattern) -> {ok, Recs} | {error, Reason}

Types

TabId = term()
Pattern = match_pattern()
Recs = [tuple()]
Reason = term()

Search the mib-storage table for record that match the specified pattern and then delete them. The records deleted are also returned.

Module:tab2list(TabId) -> Recs

Types

TabId = term()
Recs = [tuple()]

Return all records in the mib-storage table in the form of a list.

Module:info(TabId) -> {ok, Info} | {error, Reason}

Types

TabId = term()
Info = term()
Reason = term()

Retrieve implementation dependent mib-storage table information.

Module:sync(TabId) -> void()

Types

TabId = term()

Synchronize the mib-storage table.

What this means, if anything, is implementation dependent.

Module:backup(TabId, BackupDir) -> ok | {error, Reason}

Types

TabId = term()
BackupDir = string()
Reason = term()

Perform a backup of the mib-storage table.

What this means, if anything, is implementation dependent.