Provided by: libvistaio-dev_1.2.19-2_amd64 bug


       VistaIOSetAttr - set an attribute's value


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

       void VistaIOSetAttrValue (posn, dict, repn, value)
              VistaIOAttrListPosn posn;
              VistaIODictEntry *dict;
              VistaIORepnKind repn;
              type value;

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


       list      Specifies and returns the attribute list in which an attribute is to be set.

       name      Specifies by name of the attribute to be set.

       posn      Specifies by position the attribute to be set.

       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.


       These routines both set an attribute's value, but they differ  in  how  the  attribute  is

         · VistaIOSetAttr  sets  the value of an attribute named name in the attribute list list.
           If list does not already contain an attribute named name then  a  new  attribute  with
           that name is appended to it. Otherwise, only the first attribute named name is located
           and changed.

         · VistaIOSetAttrValue sets the value of the attribute whose position within an attribute
           list is posn.

       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 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.


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


       The following code fragment sets an image's name:

              VistaIOImage image;

              VistaIOSetAttr (VistaIOImageAttrList (image), VistaIONameAttr, NULL,
                     VistaIOStringRepn, "Mona Lisa");


       VistaIOGetAttr(3), VistaIOGetAttrValue(3),
       VistaIOattribute(3), VistaIOdictionary(3),


       Art Pope <>

       Adaption to vistaio: Gert Wollny <>