Provided by: libxp-dev_1.0.2-1ubuntu1_amd64 bug

NAME

       XpSetAttributes - Sets or updates an attribute pool in the specified print context.

SYNOPSIS

             cc [ flag... ] file... -lXp [ library... ]
             #include <X11/extensions/Print.h>

       void XpSetAttributes ( display, context, type, pool, replacement_rule )
             Display *display;
             XPContext context;
             XPAttributes type;
             char *pool;
             XPAttrReplacement replacement_rule;

ARGUMENTS

       display
              Specifies a pointer to the Display structure; returned from XOpenDisplay.

       context
              The print context whose attribute pool is to be modified.

       type   Specifies the attribute pool.

       pool   An attribute pool represented as a resource string. Encoded in COMPOUND_TEXT.

       replacement_rule
              Either XPAttrReplace orXPAttrMerge.

DESCRIPTION

       XpSetAttributes  accepts pool, a COMPOUND_TEXT resource string representing new name-value
       pairs for the attribute pool specified by type. The attribute pool is modified by the  new
       name-value  pairs according to replacement_rule. For XPAttrReplace, the existing attribute
       pool is discarded and replaced with  pool.  For  XPAttrMerge,  pool  is  merged  into  the
       existing  attribute  pool;  pre-existing  name-value  pairs are replaced, and non-existing
       name-value pairs are added. The contents of pool is not affected by this call, and can  be
       freed by the caller afterwards.

       When  setting  supported  attribute  names,  the X Print Server and associated driver will
       validate the new values  and  ignore  those  that  are  invalid;  previous  values  remain
       unchanged.  When  setting unsupported (that is, unknown) attribute names, no validation is
       done, and the name-value pairs will be set, even  though  they  will  not  be  used.  When
       deleting  (that is, failing to reset with XPAttrReplace) a supported attribute name, the X
       Print Server explicitly or implicitly resets the attribute to a default value.

       When setting certain supported attributes, the X Print Server may modify other  associated
       attributes.   For  example,  considering  the  XPPrinterAttr  attribute  document-formats-
       supported, setting the XPDocAttr attribute document-format may cause  a  number  of  other
       attributes to change.

       For  attribute  pools  that  are  read-only  (see  "get only" in XPAttributes definition),
       attempting to use XpSetAttributes generates a  BadMatch.  For  attribute  pools  that  are
       writable, lists of the supported attributes can be found in the XPPrinterAttr pool.

       The  lifetime of all attribute pools are bounded by the lifetime of the print context they
       are contained in.  When  set,  all  attribute  values  will  be  retained  across  all  Xp
       operations,  until  changed  by the user directly, the X Print Server directly, or changed
       because of a side effect when either the user or X Print Server changed another  attribute
       value.

       Refer  to  a  complete  description  of all print attributes, the precedence between print
       attributes, and the side effects of  setting  certain  print  attributes  on  other  print
       attributes, etc.

       To   monitor   changes   to   the   attribute  pools,  see  XpSelectInput  and  the  event
       XPAttributeNotify. Since a print context can be shared among clients, changes made by  one
       client  will  be seen by all others, and if selected for, the event XPAttributeNotify will
       be sent to all clients referencing the print context when changes  do  occur.  It  is  the
       responsibility of the clients sharing a print context to coordinate their operations.

STRUCTURES

       The values for the typedef XPAttributes in <X11/extensions/Print.h> are:

           #define XPJobAttr         1    /∗ get/set */
           #define XPDocAttr         2    /∗ get/set */
           #define XPPageAttr        3    /∗ get/set - subset of XPDocAttr */
           #define XPPrinterAttr     4    /∗ get only (library) */
           #define XPServerAttr      5    /∗ get only (library), no context needed */

       The values for the typedef XPAttrReplacement in <X11/extensions/Print.h> are:

           #define XPAttrReplace     1
           #define XPAttrMerge       2

DIAGNOSTICS

       BadAlloc       Insufficient memory.

       BadMatch       The attribute pool specified by pool cannot be set.

       BadValue       The value specified for type is not valid.

       XPBadContext   The specified print context-id is not valid.

       XPBadSequence  A  request  to  set an attribute pool occurred at a time when the attribute
                      pool could not be modified (for example,  modifying  XPJobAttr  immediately
                      after calling XpStartJob).

FILES

       <X11/extensions/Print.h>

SEE ALSO

       XpSelectInput(3Xp), XpStartJob(3Xp)