Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

libsmi(3) [debian man page]

libsmi(3)						SMI Management Information Library						 libsmi(3)

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, cur- rently 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 "); 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 ", (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> IBR
August 16, 2001 libsmi(3)

Check Out this Related Man Page

smi_module(3)						SMI Management Information Library					     smi_module(3)

NAME
smiGetModule, smiGetFirstModule, smiGetNextModule, smiGetModuleIdentityNode, smiGetFirstImport, smiGetNextImport, smiIsImported, smiGet- FirstRevision, smiGetNextRevision - SMI module information routines SYNOPSIS
#include <time.h> #include <smi.h> SmiModule *smiGetModule(char *module); SmiModule *smiGetFirstModule(); SmiModule *smiGetNextModule(SmiModule *smiModulePtr); SmiNode *smiGetModuleIdentityNode(SmiModule *smiModulePtr); SmiImport *smiGetFirstImport(SmiModule *smiModulePtr); SmiImport *smiGetNextImport(SmiImport *smiImportPtr); int smiIsImported(SmiModule *smiModulePtr, SmiModule *importedModulePtr, char *importedName); SmiRevision *smiGetFirstRevision(SmiModule *smiModulePtr); SmiRevision *smiGetNextRevision(SmiRevision *smiRevisionPtr); typedef struct SmiModule { SmiIdentifier name; char *path; char *organization; char *contactinfo; char *description; char *reference; SmiLanguage language; int conformance; } SmiModule; typedef struct SmiRevision { time_t date; char *description; } SmiRevision; typedef struct SmiImport { SmiIdentifier module; SmiIdentifier name; } SmiImport; DESCRIPTION
These functions retrieve various meta information on MIB modules. Other functions to retrieve the definitions within a module are docu- mented in smi_type(3), smi_node(3), and smi_macro(3). The smiGetModule() function retrieves a struct SmiModule that represents the SMI module named module. Elements not available or not present for this module contain NULL. If the module is not found, smiGetModule() returns NULL. The smiGetFirstModule() and smiGetNextModule() functions are used to iteratively retrieve struct SmiModules of all known modules. smiGet- FirstModule() returns the first known module. Subsequent calls to smiGetNextModule() return the following ones. If there are no more mod- ules NULL is returned. The smiGetModuleIdentityNode() function retrieves a struct SmiNode that represents the node that is used to identify the containing MIB module specified by smiModulePtr. If there is no such identity node, i.e. if this is not an SMIv2 or SMIng module converted from SMIv2, smiGetModuleIdentityNode() returns NULL. The smiGetFirstImport() and smiGetNextImport() functions are used to iteratively retrieve struct SmiImports of a given module. smiGet- FirstImport() returns the first identifier imported by the module specified by smiModulePtr. Subsequent calls to smiGetNextImport() return the following ones. If there are no more imported identifiers NULL is returned. The smiIsImported() function returns a positive value if the identifier importedName defined in the module specified by importedModulePtr is imported in the module specified by smiModulePtr, or zero otherwise. The smiGetFirstRevision() and smiGetNextRevision() functions are used to iteratively retrieve struct SmiRevisions of a given module. smiGetFirstRevision() returns the first (that is most recent) revision information of the module specified by smiModulePtr. Subsequent calls to smiGetNextRevision() return the revision after (timely before) that one. If there are no more revisions NULL is returned. FILES
${prefix}/include/smi.h SMI library header file SEE ALSO
libsmi(3), smi_config(3), smi_node(3), smi.h AUTHOR
(C) 1999-2001 Frank Strauss, TU Braunschweig, Germany <strauss@ibr.cs.tu-bs.de> IBR
August 16, 2001 smi_module(3)
Man Page