#ifndef _XDPSproto_h
#define _XDPSproto_h
#include <X11/Xmd.h>
#define Window CARD32
#define Drawable CARD32
#define Font CARD32
#define Pixmap CARD32
#define Cursor CARD32
#define Colormap CARD32
#define GContext CARD32
#define Atom CARD32
#define VisualID CARD32
#define Time CARD32
#define KeyCode CARD8
#define KeySym CARD32
#define DPSNAME "Adobe-DPS-Extension"
#define DECDPSNAME "DPSExtension"
#define DPSPROTO_V09 9
#define DPSPROTO_V08 8
#define DPSPROTO_OLDEST DPSPROTO_V08
#ifndef DPSPROTOCOLVERSION
#define DPSPROTOCOLVERSION DPSPROTO_V09
#endif
#define CONTEXTXID CARD32
#define SPACEXID CARD32
#ifndef BYTESPEROUTPUTEVENT
#define BYTESPEROUTPUTEVENT 24
#endif
#define X_PSInit 1
#define X_PSCreateContext 2
#define X_PSCreateSpace 3
#define X_PSGiveInput 4
#define X_PSGetStatus 5
#define X_PSDestroySpace 6
#define X_PSReset 7
#define X_PSNotifyContext 8
#define X_PSCreateContextFromID 9
#define X_PSXIDFromContext 10
#define X_PSContextFromXID 11
#define X_PSSetStatusMask 12
#define X_PSCreateSecureContext 13
#define X_PSNotifyWhenReady 14
#define PSLASTREQUEST X_PSNotifyWhenReady
#define PSLASTREQUEST_P8 X_PSSetStatusMask
typedef struct _PSInit {
CARD8 reqType;
CARD8 dpsReqType;
CARD16 length B16;
CARD32 libraryversion B32;
} xPSInitReq;
#define sz_xPSInitReq 8
typedef struct _PSCreateContext {
CARD8 reqType;
CARD8 dpsReqType;
CARD16 length B16;
CONTEXTXID cxid B32;
SPACEXID sxid B32;
Drawable drawable B32;
GContext gc B32;
INT16 x B16;
INT16 y B16;
CARD32 eventmask B32;
Colormap cmap B32;
CARD32 redmax B32;
CARD32 redmult B32;
CARD32 greenmax B32;
CARD32 greenmult B32;
CARD32 bluemax B32;
CARD32 bluemult B32;
CARD32 colorbase B32;
CARD32 graymax B32;
CARD32 graymult B32;
CARD32 graybase B32;
CARD32 actual B32;
} xPSCreateContextReq;
#define sz_xPSCreateContextReq 76
typedef struct _PSCreateSpace {
CARD8 reqType;
CARD8 dpsReqType;
CARD16 length B16;
SPACEXID sxid B32;
} xPSCreateSpaceReq;
#define sz_xPSCreateSpaceReq 8
typedef struct _PSGiveInput {
CARD8 reqType;
CARD8 dpsReqType;
CARD16 length B16;
CARD16 nunits B16;
CARD16 pad B16;
CONTEXTXID cxid B32;
} xPSGiveInputReq;
#define sz_xPSGiveInputReq 12
typedef struct _PSGetStatus {
CARD8 reqType;
CARD8 dpsReqType;
CARD16 length B16;
CONTEXTXID cxid B32;
CARD32 notifyIfChange B32;
} xPSGetStatusReq;
#define sz_xPSGetStatusReq 12
typedef struct _PSDestroySpace {
CARD8 reqType;
CARD8 dpsReqType;
CARD16 length B16;
SPACEXID sxid B32;
} xPSDestroySpaceReq;
#define sz_xPSDestroySpaceReq 8
typedef struct _PSReset {
CARD8 reqType;
CARD8 dpsReqType;
CARD16 length B16;
CONTEXTXID cxid B32;
} xPSResetReq;
#define sz_xPSResetReq 8
typedef struct _PSNotifyContext {
CARD8 reqType;
CARD8 dpsReqType;
CARD16 length B16;
CONTEXTXID cxid B32;
CARD8 notifyType;
CARD8 pad1;
CARD8 pad2;
CARD8 pad3;
} xPSNotifyContextReq;
#define sz_xPSNotifyContextReq 12
typedef struct _PSCreateContextFromID {
CARD8 reqType;
CARD8 dpsReqType;
CARD16 length B16;
CARD32 cpsid B32;
CONTEXTXID cxid B32;
} xPSCreateContextFromIDReq;
#define sz_xPSCreateContextFromIDReq 12
typedef struct _PSXIDFromContext {
CARD8 reqType;
CARD8 dpsReqType;
CARD16 length B16;
CARD32 cpsid B32;
} xPSXIDFromContextReq;
#define sz_xPSXIDFromContextReq 8
typedef struct _PSContextFromXID {
CARD8 reqType;
CARD8 dpsReqType;
CARD16 length B16;
CONTEXTXID cxid B32;
} xPSContextFromXIDReq;
#define sz_xPSContextFromXIDReq 8
typedef struct _PSSetStatusMask {
CARD8 reqType;
CARD8 dpsReqType;
CARD16 length B16;
CONTEXTXID cxid B32;
CARD32 enableMask B32;
CARD32 disableMask B32;
CARD32 nextMask B32;
} xPSSetStatusMaskReq;
#define sz_xPSSetStatusMaskReq 20
typedef struct _PSCreateContext xPSCreateSecureContextReq;
#define sz_xPSCreateSecureContextReq sz_xPSCreateContextReq
typedef struct _PSNotifyWhenReady {
CARD8 reqType;
CARD8 dpsReqType;
CARD16 length B16;
CONTEXTXID cxid B32;
INT32 val1 B32;
INT32 val2 B32;
INT32 val3 B32;
INT32 val4 B32;
} xPSNotifyWhenReadyReq;
#define sz_xPSNotifyWhenReadyReq 24
typedef struct {
BYTE type;
BYTE pad;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 cpsid B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xPSCreateContextReply;
typedef struct {
BYTE type;
BYTE status;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 pad0 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xPSGetStatusReply;
typedef struct {
BYTE type;
BYTE pad;
CARD16 sequenceNumber B16;
CARD32 length B32;
SPACEXID sxid B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xPSCreateContextFromIDReply;
typedef struct {
BYTE type;
BYTE pad;
CARD16 sequenceNumber B16;
CARD32 length B32;
CONTEXTXID cxid B32;
SPACEXID sxid B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xPSXIDFromContextReply;
typedef struct {
BYTE type;
BYTE pad;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 cpsid B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xPSContextFromXIDReply;
typedef struct {
BYTE type;
BYTE pad;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 serverversion B32;
CARD32 preferredNumberFormat B32;
CARD32 floatingNameLength B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xPSInitReply;
typedef struct {
BYTE type;
CARD8 length;
CARD16 sequenceNumber B16;
CONTEXTXID cxid B32;
CARD8 data[BYTESPEROUTPUTEVENT];
} PSOutputEvent;
typedef struct {
BYTE type;
BYTE status;
CARD16 sequenceNumber B16;
CONTEXTXID cxid B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} PSStatusEvent;
typedef struct {
BYTE type;
BYTE pad;
CARD16 sequenceNumber B16;
CONTEXTXID cxid B32;
INT32 val1 B32;
INT32 val2 B32;
INT32 val3 B32;
INT32 val4 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
} PSReadyEvent;
#undef Window
#undef Drawable
#undef Font
#undef Pixmap
#undef Cursor
#undef Colormap
#undef GContext
#undef Atom
#undef VisualID
#undef Time
#undef KeyCode
#undef KeySym
#endif