Copyright (C) 2000-2012 |
Manpages MIB_APISection: C Library Functions (3)Updated: 07 Aug 2000 Index Return to Main Contents NAMEinit_mib, add_mibdir, init_mib_internals, add_module_replacement, read_module, read_mib, read_all_mibs, read_objid, read_module_node, get_module_node snmp_set_mib_warnings, snmp_set_save_descriptions, shutdown_mib, print_mib, print_variable, print_value, print_objid, print_description - mib_api functionsSYNOPSIS#include <stdio.h>#include <sys/types.h> #include <ucd-snmp/asn1.h> #include <ucd-snmp/mib.h> #include <ucd-snmp/parse.h>
void init_mib( void )
void shutdown_mib( void ) void print_mib( FILE *fp)
int read_objid( char *input, oid *output, size_t *out_len)
void print_variable( oid *objid, size_t objidlen, struct variable_list *variable)
DESCRIPTIONThe functions dealing with MIB modules fall into four groups. Those dealing with initialisation, those that read in and parse MIB files, those that search the MIB tree, and various output routines.init_mib is a convenience function that handles all calls to add_mibdir, read_module and read_mib for standard applications. It should be called before any other routine that manipulates or accesses the MIB tree. This routine sets up various internal structures, as well as reading in the default MIB modules, as detailed below. add_mibdir is used to define the range of directory locations which are searched for files containing MIB modules (one module per file). By default, this will be set to the directory DATADIR/mibs but this can be overridden by setting the environment variable MIBDIRS to a (colon-separated) list of directories to search. Note that this does not actually load the MIB modules located in that directory, but is an initialisation step to make them available. This function returns a count of files found in the directory, or a -1 if there is an error. init_mib_internals sets up the internal structures, preparatory to reading in MIB modules. It should be called after all calls to add_mibdir, and before and calls to read_module. This is called automatically if init_mib is used. add_module_replacement can be used to allow new MIB modules to obsolete older ones, without needing to amend the imports clauses of other modules. It takes the names of the old and new modules, together with an indication of which portions of the old module are affected.
read_module
locates and
parses the module specified, together with any modules that it imports
from, and adds the contents of these modules to the active MIB tree.
Note that
add_mibdir
must first be called to add the directory containing the file with the
module definition, if this is not in the standard path.
read_mib
parses the file specified, together with any modules that it imports
from, and adds the contents to the active MIB tree.
Such a file can contain more then one module, though care must be taken
that any imports occur earlier in the file, if they are not to be read
from the installed modules.
Note that the file specified does not need to be in any of the
directories initialised by
add_mibdir
(or the default setup), though any imported modules do.
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 output array. This function returns a value of 1 if it succeeds in parsing the string and 0 otherwise.
get_module_node
takes a descriptor and the name of a module, and returns the corresponding
oid list, in the same way as
read_objid
above.
shutdown_mib will clear the information that was gathered by 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. print_mib will print out a representation of the currently active MIB tree to the specified FILE pointer.
print_variable
will take an object identifier (as returned by
read_objid
or
get_module_node
) and an instance of such a variable, and prints out
the textual form of the object identifier together with the value
of the variable.
print_value and sprint_value do the same as the equivalent print_variable routines, but only displaying the value of the variable, without the corresponding object identifier>
print_objid
and
sprint_objid
print_description takes an object identifier (as for print_objid above) and prints out the associated description. Note that there is no corresponding routine sprint_description By default the parser does not save descriptions - they may be huge. In order to be able to print them, you must call snmp_set_save_descriptions(1). 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 parameter of 1 (or 2 for even more warnings). ENVIRONMENT VARIABLES
SEE ALSOsnmp_api(3)
IndexThis document was created by man2html, using the manual pages. Time: 09:48:02 GMT, April 20, 2024 |