Blob Blame History Raw
.\" $Id: 4432 2006-05-29 16:21:11Z strauss $
.TH libsmi 3  "August 16, 2001" "IBR" "SMI Management Information Library"
libsmi \- library to access SMI management information
This library contains functions that allow access to SMI management
information stored in repositories that are managed by \fBlibsmi\fP,
currently directories containing SMIv1/v2 and SMIng MIB module files.
The libsmi API is defined in \fBsmi.h\fP. Functions are
documented in \fBsmi_config\fP(3), \fBsmi_module\fP(3),
\fBsmi_node\fP(3), \fBsmi_type\fP(3), and \fBsmi_macro\fP(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.
#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");
    for((smiNode = smiGetNode(NULL, argv[1])) &&
            (oidlen = smiNode->oidlen);
        smiNode && (first || smiNode->oidlen > oidlen);
        smiNode = smiGetNextNode(smiNode, SMI_NODEKIND_ANY),
            first = 0) {
               (smiNode->oidlen - oidlen + 1) * 2, " ",
@includedir@/smi.h    SMI library header file
.BR "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).
.BR smi.h ", "
.BR smi_config "(3), "
.BR smi_module "(3), "
.BR smi_node "(3), "
.BR smi_type "(3), "
.BR smi_macro "(3), "
(C) 1999-2001 Frank Strauss, TU Braunschweig, Germany <>