XpSetAttributes

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
XpSetAttributes(3Xp)	       XPRINT FUNCTIONS		 XpSetAttributes(3Xp)



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  prece-
       dence  between  print attributes, and the side effects of setting cer-
       tain 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
	   #define XPDocAttr	     2
	   #define XPPageAttr	     3
	   #define XPPrinterAttr     4
	   #define XPServerAttr	     5

       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
		      example, modifying XPJobAttr immediately after  calling
		      XpStartJob).

FILES
       <X11/extensions/Print.h>
SEE ALSO
       XpSelectInput(3Xp), XpStartJob(3Xp)





							 XpSetAttributes(3Xp)