Blame lib/libsmi.3.in

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