296 lines
8.8 KiB
C
296 lines
8.8 KiB
C
/*
|
|
Copyright 1989, 1998 The Open Group
|
|
|
|
Permission to use, copy, modify, distribute, and sell this software and its
|
|
documentation for any purpose is hereby granted without fee, provided that
|
|
the above copyright notice appear in all copies and that both that
|
|
copyright notice and this permission notice appear in supporting
|
|
documentation.
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
all copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
|
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
Except as contained in this notice, the name of The Open Group shall not be
|
|
used in advertising or otherwise to promote the sale, use or other dealings
|
|
in this Software without prior written authorization from The Open Group.
|
|
*/
|
|
|
|
#ifndef _MULTIBUFPROTO_H_
|
|
#define _MULTIBUFPROTO_H_
|
|
|
|
#include <X11/extensions/multibufconst.h>
|
|
|
|
/*
|
|
* Protocol requests constants and alignment values
|
|
*/
|
|
|
|
#define Window CARD32
|
|
#define Drawable CARD32
|
|
#define VisualID CARD32
|
|
#define Multibuffer CARD32
|
|
|
|
#define X_MbufGetBufferVersion 0
|
|
#define X_MbufCreateImageBuffers 1
|
|
#define X_MbufDestroyImageBuffers 2
|
|
#define X_MbufDisplayImageBuffers 3
|
|
#define X_MbufSetMBufferAttributes 4
|
|
#define X_MbufGetMBufferAttributes 5
|
|
#define X_MbufSetBufferAttributes 6
|
|
#define X_MbufGetBufferAttributes 7
|
|
#define X_MbufGetBufferInfo 8
|
|
#define X_MbufCreateStereoWindow 9
|
|
#define X_MbufClearImageBufferArea 10
|
|
|
|
|
|
typedef struct xMbufBufferInfo {
|
|
CARD32 visualID B32; /* associated visual */
|
|
CARD16 maxBuffers B16; /* maximum supported buffers */
|
|
CARD8 depth; /* depth of visual (redundant) */
|
|
CARD8 unused;
|
|
} xMbufBufferInfo;
|
|
#define sz_xMbufBufferInfo 8
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
BYTE unused;
|
|
CARD16 sequenceNumber B16;
|
|
CARD32 buffer B32; /* affected buffer */
|
|
BYTE state; /* current status */
|
|
CARD8 unused1;
|
|
CARD16 unused2 B16;
|
|
CARD32 unused3 B32;
|
|
CARD32 unused4 B32;
|
|
CARD32 unused5 B32;
|
|
CARD32 unused6 B32;
|
|
CARD32 unused7 B32;
|
|
} xMbufClobberNotifyEvent;
|
|
|
|
typedef struct {
|
|
BYTE type;
|
|
BYTE unused;
|
|
CARD16 sequenceNumber B16;
|
|
CARD32 buffer B32; /* affected buffer */
|
|
CARD32 timeStamp B32; /* update time */
|
|
CARD32 unused1 B32;
|
|
CARD32 unused2 B32;
|
|
CARD32 unused3 B32;
|
|
CARD32 unused4 B32;
|
|
CARD32 unused5 B32;
|
|
CARD32 unused6 B32;
|
|
} xMbufUpdateNotifyEvent;
|
|
|
|
typedef struct {
|
|
CARD8 reqType; /* always codes->major_opcode */
|
|
CARD8 mbufReqType; /* always X_MbufGetBufferVersion */
|
|
CARD16 length B16;
|
|
} xMbufGetBufferVersionReq;
|
|
#define sz_xMbufGetBufferVersionReq 4
|
|
|
|
typedef struct {
|
|
BYTE type; /* X_Reply */
|
|
CARD8 unused; /* not used */
|
|
CARD16 sequenceNumber B16;
|
|
CARD32 length B32;
|
|
CARD8 majorVersion; /* major version of Multi-Buffering protocol */
|
|
CARD8 minorVersion; /* minor version of Multi-Buffering protocol */
|
|
CARD16 pad1 B16;
|
|
CARD32 pad2 B32;
|
|
CARD32 pad3 B32;
|
|
CARD32 pad4 B32;
|
|
CARD32 pad5 B32;
|
|
CARD32 pad6 B32;
|
|
} xMbufGetBufferVersionReply;
|
|
#define sz_xMbufGetBufferVersionReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType; /* always codes->major_opcode */
|
|
CARD8 mbufReqType; /* always X_MbufCreateImageBuffers */
|
|
CARD16 length B16;
|
|
CARD32 window B32; /* associated window */
|
|
CARD8 updateAction; /* action at update */
|
|
CARD8 updateHint; /* hint as to frequency of updates */
|
|
CARD16 unused;
|
|
} xMbufCreateImageBuffersReq; /* followed by buffer ids */
|
|
#define sz_xMbufCreateImageBuffersReq 12
|
|
|
|
typedef struct {
|
|
BYTE type; /* X_Reply */
|
|
CARD8 unused; /* not used */
|
|
CARD16 sequenceNumber B16;
|
|
CARD32 length B32;
|
|
CARD16 numberBuffer B16; /* number successfully allocated */
|
|
CARD16 unused1 B16;
|
|
CARD32 unused2 B32;
|
|
CARD32 unused3 B32;
|
|
CARD32 unused4 B32;
|
|
CARD32 unused5 B32;
|
|
CARD32 unused6 B32;
|
|
} xMbufCreateImageBuffersReply;
|
|
#define sz_xMbufCreateImageBuffersReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType; /* always codes->major_opcode */
|
|
CARD8 mbufReqType; /* always X_MbufDestroyImageBuffers */
|
|
CARD16 length B16;
|
|
CARD32 window B32; /* associated window */
|
|
} xMbufDestroyImageBuffersReq;
|
|
#define sz_xMbufDestroyImageBuffersReq 8
|
|
|
|
typedef struct {
|
|
CARD8 reqType; /* always codes->major_opcode */
|
|
CARD8 mbufReqType; /* always X_MbufDisplayImageBuffers */
|
|
CARD16 length B16;
|
|
CARD16 minDelay B16; /* minimum time between last update and now */
|
|
CARD16 maxDelay B16; /* maximum time between last update and now */
|
|
} xMbufDisplayImageBuffersReq; /* followed by list of buffers */
|
|
#define sz_xMbufDisplayImageBuffersReq 8
|
|
|
|
typedef struct {
|
|
CARD8 reqType; /* always codes->major_opcode */
|
|
CARD8 mbufReqType; /* always X_MbufSetMBufferAttributes */
|
|
CARD16 length B16;
|
|
CARD32 window B32; /* associated window */
|
|
CARD32 valueMask B32; /* modified entries */
|
|
} xMbufSetMBufferAttributesReq; /* followed by values */
|
|
#define sz_xMbufSetMBufferAttributesReq 12
|
|
|
|
typedef struct {
|
|
CARD8 reqType; /* always codes->major_opcode */
|
|
CARD8 mbufReqType; /* always X_MbufGetMBufferAttributes */
|
|
CARD16 length B16;
|
|
CARD32 window B32; /* associated window */
|
|
} xMbufGetMBufferAttributesReq;
|
|
#define sz_xMbufGetMBufferAttributesReq 8
|
|
|
|
typedef struct {
|
|
BYTE type; /* X_Reply */
|
|
CARD8 unused; /* not used */
|
|
CARD16 sequenceNumber B16;
|
|
CARD32 length B32;
|
|
CARD16 displayedBuffer B16; /* currently visible buffer */
|
|
CARD8 updateAction;
|
|
CARD8 updateHint;
|
|
CARD8 windowMode;
|
|
CARD8 unused0;
|
|
CARD16 unused1 B16;
|
|
CARD32 unused2 B32;
|
|
CARD32 unused3 B32;
|
|
CARD32 unused4 B32;
|
|
CARD32 unused5 B32;
|
|
} xMbufGetMBufferAttributesReply;
|
|
#define sz_xMbufGetMBufferAttributesReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType; /* always codes->major_opcode */
|
|
CARD8 mbufReqType; /* always X_MbufSetBufferAttributes */
|
|
CARD16 length B16;
|
|
CARD32 buffer B32;
|
|
CARD32 valueMask B32;
|
|
} xMbufSetBufferAttributesReq; /* followed by values */
|
|
#define sz_xMbufSetBufferAttributesReq 12
|
|
|
|
typedef struct {
|
|
CARD8 reqType; /* always codes->major_opcode */
|
|
CARD8 mbufReqType; /* always X_MbufGetBufferAttributes */
|
|
CARD16 length B16;
|
|
CARD32 buffer B32;
|
|
} xMbufGetBufferAttributesReq;
|
|
#define sz_xMbufGetBufferAttributesReq 8
|
|
|
|
typedef struct {
|
|
BYTE type; /* X_Reply */
|
|
CARD8 unused; /* not used */
|
|
CARD16 sequenceNumber B16;
|
|
CARD32 length B32;
|
|
CARD32 window B32;
|
|
CARD32 eventMask B32;
|
|
CARD16 bufferIndex B16;
|
|
CARD8 side;
|
|
CARD8 unused0;
|
|
CARD32 unused1 B32;
|
|
CARD32 unused2 B32;
|
|
CARD32 unused3 B32;
|
|
} xMbufGetBufferAttributesReply;
|
|
#define sz_xMbufGetBufferAttributesReply 32
|
|
|
|
typedef struct {
|
|
CARD8 reqType; /* always codes->major_opcode */
|
|
CARD8 mbufReqType; /* always X_MbufGetBufferInfo */
|
|
CARD16 length B16;
|
|
Drawable drawable B32;
|
|
} xMbufGetBufferInfoReq;
|
|
#define sz_xMbufGetBufferInfoReq 8
|
|
|
|
typedef struct {
|
|
BYTE type; /* X_Reply */
|
|
CARD8 unused; /* not used */
|
|
CARD16 sequenceNumber B16;
|
|
CARD32 length B32;
|
|
CARD16 normalInfo B16;
|
|
CARD16 stereoInfo B16;
|
|
CARD32 unused1 B32;
|
|
CARD32 unused2 B32;
|
|
CARD32 unused3 B32;
|
|
CARD32 unused4 B32;
|
|
CARD32 unused5 B32;
|
|
} xMbufGetBufferInfoReply; /* followed by buffer infos */
|
|
#define sz_xMbufGetBufferInfoReply 32
|
|
|
|
|
|
typedef struct {
|
|
CARD8 reqType; /* always codes->major_opcode */
|
|
CARD8 mbufReqType; /* always X_MbufCreateStereoWindow */
|
|
CARD16 length B16;
|
|
CARD8 unused0;
|
|
CARD8 unused1;
|
|
CARD8 unused2;
|
|
CARD8 depth;
|
|
Window wid B32;
|
|
Window parent B32;
|
|
Multibuffer left B32; /* associated buffers */
|
|
Multibuffer right B32;
|
|
INT16 x B16;
|
|
INT16 y B16;
|
|
CARD16 width B16;
|
|
CARD16 height B16;
|
|
CARD16 borderWidth B16;
|
|
#if defined(__cplusplus) || defined(c_plusplus)
|
|
CARD16 c_class B16;
|
|
#else
|
|
CARD16 class B16;
|
|
#endif
|
|
VisualID visual B32;
|
|
CARD32 mask B32;
|
|
} xMbufCreateStereoWindowReq; /* followed by value list */
|
|
#define sz_xMbufCreateStereoWindowReq 44
|
|
|
|
typedef struct {
|
|
CARD8 reqType; /* always codes->major_opcode */
|
|
CARD8 mbufReqType; /* always X_MbufClearImageBufferArea */
|
|
CARD16 length B16;
|
|
Multibuffer buffer B32;
|
|
INT16 x B16;
|
|
INT16 y B16;
|
|
CARD16 width B16;
|
|
CARD16 height B16;
|
|
CARD8 unused0;
|
|
CARD8 unused1;
|
|
CARD8 unused2;
|
|
BOOL exposures;
|
|
} xMbufClearImageBufferAreaReq;
|
|
#define sz_xMbufClearImageBufferAreaReq 20
|
|
|
|
#undef Window
|
|
#undef Drawable
|
|
#undef VisualID
|
|
#undef Multibuffer
|
|
|
|
#endif /* _MULTIBUFPROTO_H_ */
|