Provided by: libvistaio-dev_1.2.19-3_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>

VistaIO Version 1.2.14                            24 April 1993                             VistaIOInsertAttr(3)