4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync/************************************************************
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncCopyright 1989, 1998 The Open Group
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncPermission to use, copy, modify, distribute, and sell this software and its
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncdocumentation for any purpose is hereby granted without fee, provided that
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncthe above copyright notice appear in all copies and that both that
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsynccopyright notice and this permission notice appear in supporting
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncdocumentation.
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncThe above copyright notice and this permission notice shall be included in
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncall copies or substantial portions of the Software.
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncExcept as contained in this notice, the name of The Open Group shall not be
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncused in advertising or otherwise to promote the sale, use or other dealings
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncin this Software without prior written authorization from The Open Group.
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync********************************************************/
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#ifndef _SHMPROTO_H_
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define _SHMPROTO_H_
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#include <X11/extensions/shm.h>
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define ShmSeg CARD32
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define Drawable CARD32
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define VisualID CARD32
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define GContext CARD32
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define Pixmap CARD32
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define X_ShmQueryVersion 0
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define X_ShmAttach 1
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define X_ShmDetach 2
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define X_ShmPutImage 3
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define X_ShmGetImage 4
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define X_ShmCreatePixmap 5
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsynctypedef struct _ShmQueryVersion {
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 reqType; /* always ShmReqCode */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 shmReqType; /* always X_ShmQueryVersion */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 length B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync} xShmQueryVersionReq;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define sz_xShmQueryVersionReq 4
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsynctypedef struct {
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync BYTE type; /* X_Reply */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync BOOL sharedPixmaps;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 sequenceNumber B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 length B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 majorVersion B16; /* major version of SHM protocol */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 minorVersion B16; /* minor version of SHM protocol */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 uid B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 gid B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 pixmapFormat;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 pad0;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 pad1 B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 pad2 B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 pad3 B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 pad4 B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync} xShmQueryVersionReply;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define sz_xShmQueryVersionReply 32
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsynctypedef struct _ShmAttach {
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 reqType; /* always ShmReqCode */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 shmReqType; /* always X_ShmAttach */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 length B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync ShmSeg shmseg B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 shmid B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync BOOL readOnly;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync BYTE pad0;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 pad1 B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync} xShmAttachReq;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define sz_xShmAttachReq 16
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsynctypedef struct _ShmDetach {
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 reqType; /* always ShmReqCode */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 shmReqType; /* always X_ShmDetach */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 length B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync ShmSeg shmseg B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync} xShmDetachReq;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define sz_xShmDetachReq 8
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsynctypedef struct _ShmPutImage {
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 reqType; /* always ShmReqCode */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 shmReqType; /* always X_ShmPutImage */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 length B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync Drawable drawable B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync GContext gc B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 totalWidth B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 totalHeight B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 srcX B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 srcY B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 srcWidth B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 srcHeight B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync INT16 dstX B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync INT16 dstY B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 depth;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 format;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 sendEvent;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 bpad;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync ShmSeg shmseg B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 offset B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync} xShmPutImageReq;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define sz_xShmPutImageReq 40
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsynctypedef struct _ShmGetImage {
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 reqType; /* always ShmReqCode */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 shmReqType; /* always X_ShmGetImage */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 length B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync Drawable drawable B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync INT16 x B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync INT16 y B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 width B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 height B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 planeMask B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 format;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 pad0;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 pad1;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 pad2;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync ShmSeg shmseg B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 offset B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync} xShmGetImageReq;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define sz_xShmGetImageReq 32
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsynctypedef struct _ShmGetImageReply {
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync BYTE type; /* X_Reply */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 depth;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 sequenceNumber B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 length B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync VisualID visual B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 size B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 pad0 B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 pad1 B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 pad2 B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 pad3 B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync} xShmGetImageReply;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define sz_xShmGetImageReply 32
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsynctypedef struct _ShmCreatePixmap {
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 reqType; /* always ShmReqCode */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 shmReqType; /* always X_ShmCreatePixmap */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 length B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync Pixmap pid B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync Drawable drawable B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 width B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 height B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 depth;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 pad0;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 pad1;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD8 pad2;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync ShmSeg shmseg B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 offset B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync} xShmCreatePixmapReq;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define sz_xShmCreatePixmapReq 28
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsynctypedef struct _ShmCompletion {
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync BYTE type; /* always eventBase + ShmCompletion */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync BYTE bpad0;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 sequenceNumber B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync Drawable drawable B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD16 minorEvent B16;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync BYTE majorEvent;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync BYTE bpad1;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync ShmSeg shmseg B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 offset B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 pad0 B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 pad1 B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync CARD32 pad2 B32;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync} xShmCompletionEvent;
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define sz_xShmCompletionEvent 32
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#undef ShmSeg
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#undef Drawable
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#undef VisualID
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#undef GContext
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#undef Pixmap
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#endif /* _SHMPROTO_H_ */