Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
snmpa_mib_data(3)	   Erlang Module Definition	     snmpa_mib_data(3)

NAME
       snmpa_mib_data -	Behaviour module for the SNMP agent mib-server
	 data 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

       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.

CALLBACK FUNCTIONS
       The  following  functions must be exported from a mib-server data call-
       back 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, New-
       State} |	{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} | {sub-
		 agent,	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	 vari-
	      able,  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, Rea-
		 son}
		 PidOrOid = pid() | oid()
		 Pid = pid()
		 Reason	= term()

	      Unregister the subagent, handling	part of	the mib-tree, as spec-
	      ified 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 argu-
	      ments.

Ericsson AB			  snmp 5.2.12		     snmpa_mib_data(3)

NAME | DESCRIPTION | CALLBACK FUNCTIONS | EXPORTS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=snmpa_mib_data&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help