background image
X Version 11
Release 6.4
X Print Service Extension Library
13
XPEndJobNotify indicates that the document data has been sent to the spooler (output_mode=XPSpool) or
been completely sent to the client via
XpGetDocumentData (output_mode=XPGetData) - it does not mean that
the document data has been completely received and processed by the client or spooler.
XpEndJob can generate one of the following errors:
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 (for example,
XpEndJob prior to XpStartJob).
Use
XpCancelJob to cancel a single print job.
void XpCancelJob (display, discard)
Display *display;
Bool discard;
display
Specifies a pointer to the Display structure; returned from XOpenDisplay.
discard
When
TRUE, specifies that all XPPrintNotify events should be discarded.
XpCancelJob cancels an in-progress job. If the job was started with output_mode XPGetData then the data
stream to
XpGetDocumentData is terminated. For many page description languages such arbitrary termination
may invalidate the output.
If the job was started with output_mode
XPSpool then depending on the driver and spooler configuration the
entire job may be canceled or a partial job may be generated.
If discard is TRUE, all
XPPrintNotify events with a detail field of XPEndPageNotify, XPEndDocNotify, or XPEnd-
JobNotify are discarded before XpCancelJob returns.
For clients selecting
XPPrintMask (see XpSelectInput), the event XPPrintNotify will be generated with its detail
field set to
XPEndJobNotify.
XpCancelJob can generate one of the following errors:
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 (for example,
XpEndJob prior to XpStartJob).
2.2.5 Starting, Ending, and Canceling Documents
Use
XpStartDoc to indicate the beginning of a print document.
void XpStartDoc (display, type)
Display *display;
XPDocumentType type;
display
Specifies a pointer to the Display structure; returned from XOpenDisplay.
type
Specifies the type of document. It can be either
XPDocRaw or XPDocNormal.
XpStartDoc signals the beginning of a new print document.
If type is
XPDocRaw, then the client will provide all the data for the resulting document using XpPutDocument-
Data; the X Print Server will not write any data into the resulting document. Calling XpStartPage in a
XPDocRaw document will generate an XPBadSequence error. For more information, see XpPutDocumentData.