Provided by: libvistaio-dev_1.2.16-1_amd64 bug

NAME

       VistaIOInsertAttr, VistaIOAppendAttr, VistaIOPrependAttr - add an attribute to a list

SYNOPSIS

       void VistaIOInsertAttr (posn, after, name, dict, repn, value)
              VistaIOAttrListPosn *posn;
              VistaIOBoolean after;
              VistaIOStringConst name;
              VistaIODictEntry *dict;
              VistaIORepnKind repn;
              type value;

       void VistaIOAppendAttr (list, name, dict, repn, value)
              VistaIOAttrList list;
              VistaIOStringConst name;
              VistaIODictEntry *dict;
              VistaIORepnKind repn;
              type value;

       void VistaIOPrependAttr (list, name, dict, repn, value)
              VistaIOAttrList list;
              VistaIOStringConst name;
              VistaIODictEntry *dict;
              VistaIORepnKind repn;
              type value;

       where   type   is   VistaIOBit,  VistaIOUByte,  VistaIOSByte,  VistaIOShort,  VistaIOLong,
       VistaIOFloat, VistaIODouble, VistaIOAttrList, VistaIOBoolean, VistaIOBundle,  VistaIOList,
       VistaIOPointer, VistaIOString, VistaIOEdges, VistaIOImage, etc.

ARGUMENTS

       posn      Specifies  the  attribute  list  position  at  which  a  new  attribute is to be
                 inserted.

       after     Specifies whether a new attribute is to be inserted before posn (FALSE) or after
                 posn (TRUE).

       list      Specifies  the  attribute  list  to  which  a new attribute is to be appended or
                 prepended.

       name      Specifies a name for the new attribute.

       dict      May specify a dictionary to be used in  translating  the  value  supplied  to  a
                 keyword that should be stored as the attribute's value, or it may be NULL

       repn      Specifies the representation of the new attribute value.

       value     Specifies the new attribute value.

DESCRIPTION

       These routines provide three ways of adding a new attribute to an attribute list:

         • VistaIOInsertAttr  inserts  the new attribute immediately before or after the existing
           attribute specified by posn.

         • VistaIOAppendAttr places the new attribute at the end of list.

         • VistaIOPrependAttr places the new attribute at the beginning of list.

       With the dict argument you can provide a dictionary for mapping value to  a  keyword  that
       will  be  stored  as the attribute's value (see VistaIOdictionary(3)). For example, if you
       pass an attribute value of 1 and a dictionary that associates the value 1 with the keyword
       ubyte (as the dictionaryVistaIORepnDict does), then the string ubyte will be stored as the
       attribute's value. Dictionaries may be used to map both  numeric  values  and  strings  to
       keywords.  If  you supply a dictionary but value is not mentioned in that dictionary, then
       value itself will be stored with the attribute.

       If value is a number or a character string, the routine makes its own copy of the value as
       a  character  string  for  storing  in  the  attribute. If, on the other hand, value is an
       attribute list, pointer, image, edge set, etc., then the routine stores a pointer  in  the
       attribute but it does not make a copy of the object pointed to.

RETURN VALUES

       As a side effect, these routines modify the attribute list referred to by list or posn.

SEE ALSO

       VistaIOSetAttr(3), VistaIOSetAttrValue(3),
       VistaIOattribute(3), VistaIOdictionary(3),

AUTHOR

       Art Pope <pope@cs.ubc.ca>

       Adaption to vistaio: Gert Wollny <gw.fossdev@gmail.com>