logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

snmpa_mib_storage -

Callback Functions

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

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:

         * open/5

         * close/1

         * read/2

         * write/2

         * delete/1

         * delete/2

         * match_object/2

         * match_delete/2

         * tab2list/1

         * info/1

         * sync/1

         * backup/2

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

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)->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)->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.

Ericsson AB                                         snmp 5.11                            snmpa_mib_storage(3erl)

Name

       snmpa_mib_storage -
           Behaviour module for the SNMP agent mib storage.

See Also