smi_class(3)

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>