Provided by: libsmi2-dev_0.4.8+dfsg2-16.1build1_amd64 bug

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>

                                        February 10, 2007                        smi_attribute(3)