#ifndef _XpPrintstr_H_
#define _XpPrintstr_H_
#ifndef NEED_EVENTS
#define NEED_EVENTS
#endif
#define NEED_REPLIES
#include <X11/Xproto.h>
#ifndef _XP_PRINT_SERVER_
#include <X11/Xlib.h>
#endif
#include <X11/extensions/Print.h>
#include <X11/Xfuncproto.h>
_XFUNCPROTOBEGIN
#define X_PrintQueryVersion 0
#define X_PrintGetPrinterList 1
#define X_PrintCreateContext 2
#define X_PrintSetContext 3
#define X_PrintGetContext 4
#define X_PrintDestroyContext 5
#define X_PrintGetContextScreen 6
#define X_PrintStartJob 7
#define X_PrintEndJob 8
#define X_PrintStartDoc 9
#define X_PrintEndDoc 10
#define X_PrintPutDocumentData 11
#define X_PrintGetDocumentData 12
#define X_PrintStartPage 13
#define X_PrintEndPage 14
#define X_PrintSelectInput 15
#define X_PrintInputSelected 16
#define X_PrintGetAttributes 17
#define X_PrintSetAttributes 18
#define X_PrintGetOneAttribute 19
#define X_PrintRehashPrinterList 20
#define X_PrintGetPageDimensions 21
#define X_PrintQueryScreens 22
#define X_PrintSetImageResolution 23
#define X_PrintGetImageResolution 24
#define PCONTEXT CARD32
#define WINDOW CARD32
#define DRAWABLE CARD32
#define BITMASK CARD32
typedef struct _xPrintPrintEvent {
BYTE type;
BYTE detail;
CARD16 sequenceNumber B16;
PCONTEXT printContext B32;
BOOL cancel;
CARD8 pad1;
CARD16 pad2 B16;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
CARD32 pad7 B32;
} xPrintPrintEvent;
#define sz_xPrintPrintEvent 32;
typedef struct _xPrintAttributeEvent {
BYTE type;
BYTE detail;
CARD16 sequenceNumber B16;
PCONTEXT printContext B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xPrintAttributeEvent;
#define sz_xPrintAttributeEvent 32;
typedef struct _PrintQueryVersion {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
} xPrintQueryVersionReq;
#define sz_xPrintQueryVersionReq 4
typedef struct {
BYTE type;
CARD8 unused;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 majorVersion B16;
CARD16 minorVersion B16;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xPrintQueryVersionReply;
#define sz_xPrintQueryVersionReply 32
typedef struct _PrintGetPrinterList {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
CARD32 printerNameLen B32;
CARD32 localeLen B32;
} xPrintGetPrinterListReq;
#define sz_xPrintGetPrinterListReq 12
typedef struct {
BYTE type;
CARD8 unused;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 listCount B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xPrintGetPrinterListReply;
#define sz_xPrintGetPrinterListReply 32
typedef struct _PrintRehashPrinterList {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
} xPrintRehashPrinterListReq;
#define sz_xPrintRehashPrinterListReq 4
typedef struct _PrintCreateContext {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
CARD32 contextID B32;
CARD32 printerNameLen B32;
CARD32 localeLen B32;
} xPrintCreateContextReq;
#define sz_xPrintCreateContextReq 16
typedef struct _PrintSetContext {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
PCONTEXT printContext B32;
} xPrintSetContextReq;
#define sz_xPrintSetContextReq 8
typedef struct _PrintGetContext {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
} xPrintGetContextReq;
#define sz_xPrintGetContextReq 4
typedef struct {
BYTE type;
CARD8 unused;
CARD16 sequenceNumber B16;
CARD32 length B32;
PCONTEXT printContext B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xPrintGetContextReply;
#define sz_xPrintGetContextReply 32
typedef struct _PrintDestroyContext {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
PCONTEXT printContext B32;
} xPrintDestroyContextReq;
#define sz_xPrintDestroyContextReq 8
typedef struct _PrintGetContextScreen {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
PCONTEXT printContext B32;
} xPrintGetContextScreenReq;
#define sz_xPrintGetContextScreenReq 8
typedef struct {
BYTE type;
CARD8 unused;
CARD16 sequenceNumber B16;
CARD32 length B32;
WINDOW rootWindow;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xPrintGetContextScreenReply;
#define sz_xPrintGetContextScreenReply 32
typedef struct _PrintStartJob {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
CARD8 saveData;
CARD8 pad1;
CARD16 pad2 B16;
} xPrintStartJobReq;
#define sz_xPrintStartJobReq 8
typedef struct _PrintEndJob {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
BOOL cancel;
CARD8 pad1;
CARD16 pad2 B16;
} xPrintEndJobReq;
#define sz_xPrintEndJobReq 8
typedef struct _PrintStartDoc {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
CARD8 type;
CARD8 pad1;
CARD16 pad2 B16;
} xPrintStartDocReq;
#define sz_xPrintStartDocReq 8
typedef struct _PrintEndDoc {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
BOOL cancel;
CARD8 pad1;
CARD16 pad2 B16;
} xPrintEndDocReq;
#define sz_xPrintEndDocReq 8
typedef struct _PrintPutDocumentData {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
DRAWABLE drawable B32;
CARD32 len_data B32;
CARD16 len_fmt;
CARD16 len_options;
} xPrintPutDocumentDataReq;
#define sz_xPrintPutDocumentDataReq 16
typedef struct _PrintGetDocumentData {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
PCONTEXT printContext B32;
CARD32 maxBufferSize B32;
} xPrintGetDocumentDataReq;
#define sz_xPrintGetDocumentDataReq 12
typedef struct {
BYTE type;
CARD8 unused;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 statusCode B32;
CARD32 finishedFlag B32;
CARD32 dataLen B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xPrintGetDocumentDataReply;
#define sz_xPrintGetDocumentDataReply 32
typedef struct _PrintStartPage {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
WINDOW window B32;
} xPrintStartPageReq;
#define sz_xPrintStartPageReq 8
typedef struct _PrintEndPage {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
BOOL cancel;
CARD8 pad1;
CARD16 pad2 B16;
} xPrintEndPageReq;
#define sz_xPrintEndPageReq 8
typedef struct _PrintSelectInput {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
PCONTEXT printContext B32;
BITMASK eventMask B32;
} xPrintSelectInputReq;
#define sz_xPrintSelectInputReq 12
typedef struct _PrintInputSelected {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
PCONTEXT printContext B32;
} xPrintInputSelectedReq;
#define sz_xPrintInputSelectedReq 8
typedef struct {
BYTE type;
CARD8 unused;
CARD16 sequenceNumber B16;
CARD32 length B32;
BITMASK eventMask B32;
BITMASK allEventsMask B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xPrintInputSelectedReply;
#define sz_xPrintInputSelectedReply 32
typedef struct _PrintGetAttributes {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
PCONTEXT printContext B32;
CARD8 type;
CARD8 pad1;
CARD16 pad2 B16;
} xPrintGetAttributesReq;
#define sz_xPrintGetAttributesReq 12
typedef struct {
BYTE type;
CARD8 unused;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 stringLen B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xPrintGetAttributesReply;
#define sz_xPrintGetAttributesReply 32
typedef struct _PrintSetAttributes {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
PCONTEXT printContext B32;
CARD32 stringLen B32;
CARD8 type;
CARD8 rule;
CARD16 pad1 B16;
} xPrintSetAttributesReq;
#define sz_xPrintSetAttributesReq 16
typedef struct _PrintGetOneAttribute {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
PCONTEXT printContext B32;
CARD32 nameLen;
CARD8 type;
CARD8 pad1;
CARD16 pad2 B16;
} xPrintGetOneAttributeReq;
#define sz_xPrintGetOneAttributeReq 16
typedef struct {
BYTE type;
CARD8 unused;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 valueLen B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xPrintGetOneAttributeReply;
#define sz_xPrintGetOneAttributeReply 32
typedef struct _PrintGetPageDimensions {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
PCONTEXT printContext B32;
} xPrintGetPageDimensionsReq;
#define sz_xPrintGetPageDimensionsReq 8
typedef struct {
BYTE type;
CARD8 unused;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 width;
CARD16 height;
CARD16 rx;
CARD16 ry;
CARD16 rwidth;
CARD16 rheight;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xPrintGetPageDimensionsReply;
#define sz_xPrintGetPageDimensionsReply 32
typedef struct _PrintQueryScreens {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
} xPrintQueryScreensReq;
#define sz_xPrintQueryScreensReq 4
typedef struct {
BYTE type;
CARD8 unused;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 listCount;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xPrintQueryScreensReply;
#define sz_xPrintQueryScreensReply 32
typedef struct _PrintSetImageResolution {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
PCONTEXT printContext B32;
CARD16 imageRes B16;
CARD16 pad1 B16;
} xPrintSetImageResolutionReq;
#define sz_xPrintSetImageResolutionReq 12
typedef struct {
BYTE type;
BOOL status;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 prevRes B16;
CARD16 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xPrintSetImageResolutionReply;
#define sz_xPrintSetImageResolutionReply 32
typedef struct _PrintGetImageResolution {
CARD8 reqType;
CARD8 printReqType;
CARD16 length B16;
PCONTEXT printContext B32;
} xPrintGetImageResolutionReq;
#define sz_xPrintGetImageResolutionReq 8
typedef struct {
BYTE type;
CARD8 unused;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 imageRes B16;
CARD16 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xPrintGetImageResolutionReply;
#define sz_xPrintGetImageResolutionReply 32
#ifndef _XP_PRINT_SERVER_
extern XPHinterProc _xp_hinter_proc;
extern char *_xp_hinter_desc;
extern int _xp_hinter_init;
#else
#define Suspended 84
struct _XpContext;
extern void XpRegisterPrinterScreen(
ScreenPtr pScreen,
int (*CreateContext)(struct _XpContext *));
typedef struct _xpprintFuncs {
int (*StartJob)(
struct _XpContext * ,
Bool ,
ClientPtr );
int (*EndJob)(struct _XpContext *, int);
int (*StartDoc)(
struct _XpContext * ,
XPDocumentType );
int (*EndDoc)(struct _XpContext *, int);
int (*StartPage)(
struct _XpContext * ,
WindowPtr );
int (*EndPage)(
struct _XpContext * ,
WindowPtr );
int (*PutDocumentData)(
struct _XpContext * ,
DrawablePtr ,
char * ,
int ,
char * ,
int ,
char * ,
int ,
ClientPtr );
int (*GetDocumentData)(
struct _XpContext * ,
ClientPtr ,
int );
int (*DestroyContext)(
struct _XpContext *);
char *(*GetAttributes)(
struct _XpContext *,
XPAttributes );
char *(*GetOneAttribute)(
struct _XpContext * ,
XPAttributes ,
char * );
int (*SetAttributes)(
struct _XpContext * ,
XPAttributes ,
char * );
int (*AugmentAttributes)(
struct _XpContext * ,
XPAttributes ,
char * );
int (*GetMediumDimensions)(
struct _XpContext * ,
CARD16 * ,
CARD16 * );
int (*GetReproducibleArea)(
struct _XpContext * ,
xRectangle * );
int (*SetImageResolution)(
struct _XpContext * ,
int ,
Bool * );
} XpDriverFuncs, *XpDriverFuncsPtr;
typedef struct _XpContext {
XID contextID;
char *printerName;
int screenNum;
struct _XpClient *clientHead;
CARD32 state;
VisualID pageWin;
DevUnion *devPrivates;
XpDriverFuncs funcs;
ClientPtr clientSlept;
int imageRes;
} XpContextRec, *XpContextPtr;
#include "fontstruct.h"
extern Bool XpAllocateContextPrivate(int, unsigned);
extern FontResolutionPtr XpGetClientResolutions(ClientPtr, int *);
extern XpContextPtr XpContextOfClient(ClientPtr);
extern XpContextPtr XpGetPrintContext(ClientPtr);
extern int XpAllocateContextPrivateIndex(void);
extern int XpRehashPrinterList(void);
extern void XpSetFontResFunc(ClientPtr);
extern void XpUnsetFontResFunc(ClientPtr);
extern void XpRegisterInitFunc(ScreenPtr, char *, int (*)(struct _XpContext *));
#endif
_XFUNCPROTOEND
#endif