Manpage logo

libsmi - library to access SMI management information

NAME  DESCRIPTION  EXAMPLE  FILES  SEE ALSO  AUTHOR 

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 originally at the Technical University of Braunschweig, Germany - can be handled by libsmi.

EXAMPLE

#include <stdio.h>
#include <string.h>
#include <smi.h>

int main(int argc, char *argv[])
{
SmiNode *smiNode;
SmiModule *smiModule;
int i, oidlen, first = 1;

const char *modules[] = {

"SNMPv2-SMI", "SNMPv2-TC", "SNMPv2-CONF",

"SNMPv2-MIB", "IF-MIB", NULL

};

if (argc != 2) {

fprintf(stderr, "Usage: smisubtree oid0);

exit(1);

}

smiInit(NULL);

for (i = 0; modules[i]; i++) {

fprintf(stderr, "loading MIB module ’%s’0, modules[i]);

(void) smiLoadModule(modules[i]);

}

for((smiNode = smiGetNode(NULL, argv[1])) &&

(oidlen = smiNode->oidlen);

smiNode && (first || smiNode->oidlen > oidlen);

smiNode = smiGetNextNode(smiNode, SMI_NODEKIND_ANY),

first = 0) {

printf("%*s%-32s0,

(smiNode->oidlen - oidlen + 1) * 2, " ",

smiNode->name ? smiNode->name : "<?>");

};

exit(0);
}

FILES

${prefix}/include/smi.h SMI library header file

SEE ALSO

RFCs 2578-2580 specify the SMIv2 standard [STD 58]. RFCs 3780-3781 define SMIng as defined by the Network Management Working Group (NMRG).

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 <[email protected]>


Updated 2026-06-01 - jenkler.se | uex.se