XpStartDoc - Indicates the beginning of a print document.
cc [ flag... ] file... -lXp [ library... ]
( display, type
Display * display
- Specifies a pointer to the Display structure; returned from
- Specifies the type of document. It can be either XPDocRaw or
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 XpPutDocumentData; 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.
If type is XPDocNormal, then the X Print Server will generate document data, and
depending on the DDX driver, can incorporate additional data from
XpPutDocumentData into the output. For more information, see
All changes to the XPDocAttr attribute pool (see XpSetAttributes) must be made
prior to calling XpStartDoc, after which an XPBadSequence will be generated if
changes are attempted, until XpEndDoc is called.
The application is not required to call XpStartDoc and XpEndDoc in the process
of printing. The "document" delineation may not be useful from the
application's or spooler's perspective, hence is optional. If XpStartPage is
called immediately after XpStartJob then a synthetic XpStartDoc with
XPDocNormal will be assumed by the X Print Server prior to XpStartPage (i.e.
the XPStartDocNotify and XPStartPageNotify events will have the same sequence
number). Likewise, if XpEndJob is called immediately after XpEndPage then a
synthetic XpEndDoc will be assumed by the X Print Server prior to XpEndJob
(i.e., the XPEndDocNotify and XPEndJobNotify events will have the same
For clients selecting XPPrintMask (see XpSelectInput), the event XPPrintNotify
will be generated with its detail field set to XPStartDocNotify.
The XPDocumentType values are defined in <X11/extensions/Print.h>:
#define XPDocNormal 1 /∗ Doc data handled by Xserver*/
#define XPDocRaw 2 /∗ Doc data passed through Xserver*/
- A valid print context-id has not been set prior to making this call.
- The function was not called in the proper order with respect to the other
X Print Service Extension calls (example, XpEndDoc prior to
- The value specified for type is not valid.