NAME¶
smiGetClass smiGetFirstClass, smiGetNextClass, smiGetClassModule,
smiGetParentClass, smiIsClassScalar - SMI class information routines
SYNOPSIS¶
#include <smi.h>
SmiClass *smiGetClass(SmiModule *smiModulePtr, char *name);
SmiClass *smiGetFirstClass(SmiModule *smiModulePtr);
SmiClass *smiGetNextClass(SmiClass *smiClassPtr);
SmiClass *smiGetParentClass(SmiClass *smiClassPtr);
SmiModule *smiGetClassModule(SmiClass *smiClassPtr);
int smiIsClassScalar(SmiClass *smiClassPtr);
typedef struct SmiClass {
SmiIdentifier name;
SmiDecl decl;
SmiStatus status;
char *description;
char *reference;
} SmiClass;
DESCRIPTION¶
These functions retrieve information on a SMIng class definition (SMIng).
smiGetClass(SmiModule *smiModulePtr,char *name) returns a pointer to
struct SmiClass that represents the class with the given
name in
the given module(
smiModulePtr ), or NULL if the class with the given
name does not exist.
smiGetFirstClass(SmiModule *smiModulePtr) and
smiGetNextClass(SmiClass
*smiClassPtr) are used to iterate through the classes of the module given
by
smiModulePtr. They return a pointer to
struct SmiClass that
represents a class or NULL if there are no classes left in the module, or
error has occurred.
smiGetClassModule(SmiClass *smiClassPtr) returns a pointer to
struct
SmiModule, of the module containing the given class.
smiGetParentClass(SmiClass *smiClassPtr) returns a pointer to
struct
SmiClass pointing to the parent of the given
smiClassPtr, or NULL
if the class is not derived.
smiIsClassScalar(SmiClass *smiClassPtr) returns
int 1 if
the class is scalar(its unique statement contains an empty list) or
0
otherwise. This method can be used in conjunction with
smiGetFirstUniqueAttribute() to determine whether the class is meant to
be instantiated separately (has unique statement with nonempty list), or if it
is meant to be used as part of another class (has no unique statement).
FILES¶
${prefix}/include/smi.h SMI library header file
SEE ALSO¶
libsmi(3),
smi_module(3),
smi.h
AUTHOR¶
(C) 2007 Kaloyan Kanev, Jacobs University, Germany
<k.kanev@jacobs-university.de>