DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

XpSetAttributes(3)





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  repre-
       senting  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  associ-
       ated  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 mod-
       ify other associated attributes. For example, considering the  XPPrint-
       erAttr  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 respon-
       sibility 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/exten-
       sions/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 exam-
                      ple,   modifying  XPJobAttr  immediately  after  calling
                      XpStartJob).


FILES

       <X11/extensions/Print.h>

SEE ALSO

       XpSelectInput(3Xp), XpStartJob(3Xp)

X Version 11                      libXp 1.0.0             XpSetAttributes(3Xp)

Man(1) output converted with man2html