NAME¶
XpStartJob - Indicates the beginning of a single print job.
SYNOPSIS¶
cc [ flag... ] file... -lXp [ library... ]
#include <X11/extensions/Print.h>
void XpStartJob (
display, output_mode )
Display *
display;
XPSaveData
output_mode;
ARGUMENTS¶
- display
- Specifies a pointer to the Display structure; returned from
XOpenDisplay.
- output_mode
- Specifies how the printer output data is to be
handled.
DESCRIPTION¶
XpStartJob signals the beginning of a new print job.
If
output_mode is XPSpool the X Print Server will automatically spool the
printer output. If
output_mode is XPGetData, then the X Print Server
buffers the document output for retrieval by XpGetDocumentData. In this case,
the print server suspends processing further requests on this print context
until some other client sends XpGetDocumentData. Subsequent operations that
use the print context may be suspended at any time pending the processing of
XpGetDocumentData replies to read any buffered output.
XpStartJob sets the job-owner job attribute (included in the XPJobAttr pool)
immediately prior to issuing the PrintStartJob request. On POSIX systems, the
job-owner attribute is set using getpwuid_r on the result of getuid. This
attribute may be used by the X Print Server to identify the user to the
spooler.
All changes to the XPJobAttr attribute pool (see XpSetAttributes) must be made
prior to calling XpStartJob, after which an XPBadSequence will be generated if
changes are attempted, until XpEndJob is called.
For clients selecting XPPrintMask (see XpSelectInput), the event XPPrintNotify
will be generated with its detail field set to XPStartJobNotify when the X
Print Server has completed the PrintStartJob request.
Conceptually, a "Job" is a collection of "Documents", where
each Document is in turn a collection of "Pages". Depending on the
print facilities underlying the X Print Server, these delineations may be
mapped by a DDX driver into real functionality (e.g. see the server attribute
multiple-documents-supported).
STRUCTURES¶
The XPSaveData values for output_mode are defined in
<X11/extensions/Print.h>. :
#define XPSpool 1 /∗ Job data sent to spooler */
#define XPGetData 2 /∗ Job data via XpGetDocumentData */
DIAGNOSTICS¶
- BadValue
- The value specified for output_mode is not valid.
- XPBadContext
- A valid print context-id has not been set prior to making
this call.
- XPBadSequence
- The function was not called in the proper order with
respect to the other X Print Service Extension calls (example, XpEndDoc
prior to XpStartDoc).
SEE ALSO¶
XpEndJob(3Xp),
XpGetDocumentData(3Xp),
XpSelectInput(3Xp),
XpSetAttributes(3Xp),
XpStartJob(3Xp)