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

FreeBSD Manual Pages

  
 
  

home | help
NETSNMP_MIB_API(3)		   Net-SNMP		    NETSNMP_MIB_API(3)

NAME
       add_mibdir,    netsnmp_init_mib,	  shutdown_mib,	  netsnmp_read_module,
       read_mib, read_all_mibs,	 add_module_replacement,  snmp_set_mib_errors,
       snmp_set_mib_warnings,	   snmp_set_save_descriptions,	   read_objid,
       snmp_parse_oid, get_module_node,	print_mib, print_objid,	 fprint_objid,
       snprint_objid,  print_description, fprint_description, snprint_descrip-
       tion - netsnmp_mib_api functions

SYNOPSIS
       #include	<net-snmp/mib_api.h>

   Initialisation and Shutdown
       int add_mibdir(const char *dirname);

       void netsnmp_init_mib(void);
       void shutdown_mib(void);

   Reading and Parsing MIBs
       struct tree *netsnmp_read_module(const char *name);
       struct tree *read_mib(const char	*filename);
       struct tree *read_all_mibs(void);

       int add_module_replacement(const	char *old_module,
				  const	char *new_module,
				  const	char *tag, int len);

       void snmp_set_mib_warnings(int level);
       void snmp_set_mib_errors(int level);
       void snmp_set_save_descriptions(int save);

   Searching the MIB Tree
       int  read_objid(const char *input,
		       oid *objid, size_t *objidlen);
       oid *snmp_parse_oid(const char *input,
		       oid *objid, size_t *objidlen);
       int  get_module_node(const char *name, const char *module,
		       oid *objid, size_t *objidlen);

   Output
       void  print_mib(FILE *fp);

       void  print_objid(const oid *objid, size_t objidlen);
       void fprint_objid(FILE *fp,
			 const oid *objid, size_t objidlen);
       int snprint_objid(char *buf, size_t len,
			 const oid *objid, size_t objidlen);

       void  print_description(const oid *objid, size_t	objidlen, int width);
       void fprint_description(FILE *fp,
			       const oid *objid, size_t	objidlen, int width);
       int snprint_description(char *buf, size_t len,
			       const oid *objid, size_t	objidlen, int width);

DESCRIPTION
       The functions dealing with MIB modules fall into	four  groups  -	 those
       dealing	with  initialisation and shutdown, with	reading	in and parsing
       MIB files, with searching the MIB tree, and output routines.

   Initialisation and Shutdown
       add_mibdir is used to add the specified directory to the	path of	 loca-
       tions  which  are searched for files containing MIB modules.  Note that
       this does not actually load the MIB modules located in that  directory,
       but  is	simply	an  initialisation step	to make	them available to net-
       snmp_read_module.  This function	returns	a count	of files found in  the
       directory,  or  a  -1 if	there is an error.  It should be called	before
       invoking	netsnmp_init_mib.

       netsnmp_init_mib	 configures  the  MIB  directory  search  path	(using
       add_mibdir  ),  sets  up	the internal MIB framework, and	then loads the
       appropriate MIB modules (using netsnmp_read_module and read_mib).   See
       the ENVIRONMENTAL VARIABLES section for details.
       It  should  be  called before any other routine that manipulates	or ac-
       cesses the MIB tree (but	after any additional add_mibdir	calls).

       shutdown_mib will clear the  information	 that  was  gathered  by  net-
       snmp_read_module,   add_mibdir	and   add_module_replacement.	It  is
       strongly	recommended that one does not invoke shutdown_mib while	 there
       are SNMP	sessions being actively	managed.

   Reading and Parsing MIBs
       netsnmp_read_module  takes  the name of a MIB module (which need	not be
       the same	as the name of the file	that  contains	the  module),  locates
       this within the configured list of MIB directories, and loads the defi-
       nitions	from  the  module into the active MIB tree.  It	also loads any
       MIB modules listed in the IMPORTS clause	of this	module.

       read_mib	is similar, but	takes the name of the file containing the  MIB
       module.	 Note that this	file need not be located within	the MIB	direc-
       tory search list	(although any modules listed  in  the  IMPORTS	clause
       do).

       read_all_mibs  will read	in all the MIB modules found on	the MIB	direc-
       tory search list.

       In general, the parser is silent	about what strangenesses  it  sees  in
       the  MIB	 files.	 To  get warnings reported, call snmp_set_mib_warnings
       with a level of 1 (or 2 for even	more warnings).

       add_module_replacement can be used to allow new MIB modules to obsolete
       older ones, without needing to amend the	IMPORTS	clauses	of other  mod-
       ules.   It takes	the names of the old and new modules, together with an
       indication of which portions of the old module are affected.
	      tag      len	 load the new module when:
	      NULL     0	 always	(the old module	is a strict subset of
				 the new)
	      name     0	 for the given tag only
	      name     non-0	 for any identifier with this prefix
       It can also be used to handle errors in the module identifiers used  in
       MIB   IMPORTS   clauses	(such  as  referring  to  RFC1213  instead  of
       RFC1213-MIB).

   Searching the MIB Tree
       read_objid takes	a string containing a textual  version	of  an	object
       identifier  (in either numeric or descriptor form), and transforms this
       into the	corresponding list of sub-identifiers.	This  is  returned  in
       the  output  parameter, with the	number of sub-identifiers returned via
       out_len.	 When called, out_len must hold	the maximum length of the out-
       put array.  If multiple object identifiers are  being  processed,  then
       this  length should be reset before each	call.  This function returns a
       value of	1 if it	succeeds in parsing the	string and 0 otherwise.

       snmp_parse_oid is similar, but returns a	 pointer  to  the  parsed  OID
       buffer (or NULL).

       get_module_node	takes  a  descriptor and the name of a module, and re-
       turns the corresponding oid list, in the	same way as read_objid above.
       If the module name is specified as "ANY", then this routine will	assume
       that the	descriptor given is unique within the tree,  and  will	return
       the  matching entry.  If	this assumption	is invalid, then the behaviour
       as to which variable is returned	is implementation dependent.

   Output
       print_mib will print out	a representation of the	currently  active  MIB
       tree to the specified FILE pointer.

       print_objid  will take an object	identifier (as returned	by read_objid,
       snmp_parse_oid or get_module_node), and prints the textual form of this
       OID to the standard output.

       fprint_objid does the same, but prints to the FILE pointer specified by
       the initial parameter.

       snprint_objid prints the	same information into the buffer pointed to by
       buf which is of length  len.   It  returns  the	number	of  characters
       printed,	or -1 if the buffer was	not large enough.  In the latter case,
       buf  will typically contain a truncated version of the information (but
       this behaviour is not guaranteed).

       print_description, fprint_description, and snprint_description  take  a
       similar object identifier and print out a version of the	MIB definition
       for  that  object,  together with the full OID. The width argument con-
       trols how the OID is laid out.

       By default, the parser does not save descriptions  since	 they  may  be
       huge.   In  order  to  be able to print them, it	is necessary to	invoke
       snmp_set_save_descriptions(1)before calling init_mib (or	similar).

ENVIRONMENT VARIABLES
       The main	use of environmental variables with respect to these API calls
       is to configure which MIB modules should	be loaded, and where they  are
       located.

       MIBDIRS	 A  colon-separated list of directories	to search for MIB mod-
		 ules.
		 Default: /usr/local/share/snmp/mibs
		 Used by init_mib, netsnmp_read_module,	read_all_mibs and (im-
		 plicitly) by read_mib.

       MIBS	 A colon-separated list	of MIB modules to load.
		 The default list of modules will depend on how	 the  Net-SNMP
		 software was originally compiled, but is typically:
		 IP-MIB:IF-MIB:TCP-MIB:UDP-MIB:SNMPv2-MIB:RFC1213-MIB:
		 UCD-SNMP-MIB:HOST-RESOURCES-MIB

		 If the	value of the MIBS environmental	variable starts	with a
		 '+'  character,  then	these MIB modules will be added	to the
		 default list.	Otherwise these	modules	(plus  any  that  they
		 IMPORT	from) will be loaded instead of	the default list.

		 If  the  MIBS	environmental  variable	has the	value ALL then
		 read_all_mibs will be called to load the full	collection  of
		 all available MIB modules.

		 Used by init_mib only.

       MIBFILES	 A colon-separated list	of files to load.
		 Default: (none)
		 Used by init_mib only.

SEE ALSO
       netsnmp_session_api(3), netsnmp_pdu_api(3), netsnmp_varbind_api(3)

V5.9.5.2			  13 Aug 2010		    NETSNMP_MIB_API(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=netsnmp_mib_api&sektion=3&manpath=FreeBSD+Ports+15.0.quarterly>

home | help