NAME¶
smiGetAttribute, smiGetFirstAttribute, smiGetNextAttribute,
smiGetAttributeParentClass, smiGetAttributeParentType,
smiGetFirstUniqueAttribute, smiGetNextUniqueAttribute, smiGetEvent,
smiGetFirstEvent, smiGetNextEvent, smiGetAttributeFirstRange,
smiGetAttributeNextRange, smiGetAttributeFirstNamedNumber,
smiGetAttributeNextNamedNumber - SMI Attribute information routines
SYNOPSIS¶
#include <smi.h>
SmiAttribute *smiGetAttribute(SmiClass *smiClassPtr, char *name);
SmiAttribute *smiGetFirstAttribute(SmiClass *smiClassPtr);
SmiAttribute *smiGetNextAttribute(SmiAttribute *smiAttributePtr);
SmiType *smiGetAttributeParentType(SmiType *smiAttributePtr);
SmiClass *smiGetAttributeParentClass(SmiType *smiAttributePtr);
SmiAttribute *smiGetFirstUniqueAttribute(SmiClass *smiClassPtr);
SmiAttribute *smiGetNextUniqueAttribute(SmiAttribute *smiAttributePtr);
SmiRange *smiGetAttributeFirstRange(SmiAttribute *smiAttributePtr);
SmiRange *smiGetAttributeNextRange(SmiRange *smiRangePtr);
SmiNamedNumber *smiGetAttributeFirstNamedNumber(SmiAttribute *smiAttributePtr);
SmiNamedNumber *smiGetAttributeNextNamedNumber(SmiNamedNumber *smiNamedNumberPtr);
typedef struct SmiAttribute {
SmiIdentifier name;
SmiDecl decl;
SmiStatus status;
char *description;
char *reference;
} SmiAttribute;
typedef struct SmiRange {
SmiValue minValue;
SmiValue maxValue;
} SmiRange;
typedef struct SmiNamedNumber {
SmiIdentifier name;
SmiValue value;
} SmiNamedNumber;
DESCRIPTION¶
These functions retrieve information on a SMIng Attribute definition (SMIng).
smiGetAttribute(SmiClass *smiClassPtr, char *name) returns a pointer to
struct SmiAttribute for the Attribute with the given
name in the
given class(
smiClassPtr), or NULL if the attribute with the given name
does not exist.
smiGetFirstAttribute(SmiClass *smiClassPtr) and
smiGetNextAttribute(SmiAttribute *smiAttributePtr) are used to iterate
through the attributes of the class given by
smiClassPtr. They return a
pointer to
struct SmiAttribute that represents an attribute or NULL if
there are no attributes left in the class, or error has occurred.
smiGetAttributeParentClass(SmiAttribute *smiAttributePtr) returns a
pointer to a
struct SmiClass, pointing to the parent class of the given
smiAttributePtr, or NULL if the attribute does not reference class.
Note that attributes always have either parent type or parent class.
smiGetAttributeParentType(SmiType *smiAttributePtr) returns a pointer to
a
struct SmiType, pointing to the parent type of the given
smiAttributePtr, or NULL if the attribute does not reference type. Note
that attributes always have either parent type or parent class.
smiGetFirstUniqueAttribute(SmiClass *smiClassPtr) and
smiGetNextUniqueAttribute(SmiType *smiAttributePtr) are used to iterate
through the unique attributes of the class given by
smiClassPtr. They
return a pointer to
struct SmiAttribute that represents a unique
attribute or NULL if there are no unique attributes left in the class, or
error has occurred. This function
MUST NOT be used for scalar classes,
so it should only be called after
isClassScalar() has returned 0.
smiGetAttributeFirstRange(SmiAttribute *smiAttributePtr), and
smiGetAttributeNextRange(SmiRange *smiRangePtr) are used to iterate
through ranges that restrict number or octet string types. Both functions
return a pointer to the
struct SmiRange representing the range, or NULL
if there are no more ranges, or error has occurred.
smiGetAttributeFirstNamedNumber(SmiAttribute *smiAttributePtr) and
smiGetAttributeNextNamedNumber(SmiNamedNumber
*smiNamedNumberPtr) are used to iterate through named numbers of bits
or enumerations for attributes, which reference types, and to retrieve the
reference restriction of a pointer. Both functions return a pointer to the
struct SmiNamedNumber representing the named number, or NULL if there are no
named numbers left, or error has occurred.
smiGetFirstNamedNumber() can
be used to retrieve the name of the identity that is restricting Pointer type,
as it is stored as the name of the first named number.
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>