NAME¶
libsmi - library to access SMI management information
DESCRIPTION¶
This library contains functions that allow access to SMI management information
stored in repositories that are managed by
libsmi, currently
directories containing SMIv1/v2 and SMIng MIB module files.
The libsmi API is defined in
smi.h. Functions are documented in
smi_config(3),
smi_module(3),
smi_node(3),
smi_type(3), and
smi_macro(3).
The purpose of libsmi is to separate the weird parsing and handling of MIB
modules from management applications. MIB modules conforming to SMIv1, SMIv2
and SMIng - a new language for management information, developed at the
Technical University of Braunschweig, Germany - can be handled by libsmi.
NOTE: SMIng support in the current release of libsmi is neither stable nor
representing the work done in the IETF SMING working group. It is based
research efforts at TU Braunschweig and within the IRTF in 1999-2000.
EXAMPLE¶
#include <stdio.h>
#include <string.h>
#include <smi.h>
int main(int argc, char *argv[])
{
SmiNode *smiNode;
int oidlen, first = 1;
if (argc != 2) {
fprintf(stderr, "Usage: smisubtree oid\n");
exit(1);
}
smiInit(NULL);
for((smiNode = smiGetNode(NULL, argv[1])) &&
(oidlen = smiNode->oidlen);
smiNode && (first || smiNode->oidlen > oidlen);
smiNode = smiGetNextNode(smiNode, SMI_NODEKIND_ANY),
first = 0) {
printf("%*s%-32s\n",
(smiNode->oidlen - oidlen + 1) * 2, " ",
smiNode->name);
};
exit(0);
}
FILES¶
${prefix}/include/smi.h SMI library header file
SEE ALSO¶
RFCs 2578-2580 specify the SMIv2 standard [STD 58]. The (obsolete) SMIng
specification has been a working document of the IRTF Network Management
Working Group (NMRG) (draft-irtf-nmrg-sming-02).
smi.h,
smi_config(3),
smi_module(3),
smi_node(3),
smi_type(3),
smi_macro(3),
AUTHOR¶
(C) 1999-2001 Frank Strauss, TU Braunschweig, Germany
<strauss@ibr.cs.tu-bs.de>