2008-11-02 08:26:08 -07:00
|
|
|
/**************************************************************************
|
|
|
|
|
2012-06-10 07:21:05 -06:00
|
|
|
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
|
|
|
|
Copyright 2000 VA Linux Systems, Inc.
|
|
|
|
Copyright (c) 2002-2012 Apple Computer, Inc.
|
|
|
|
All Rights Reserved.
|
|
|
|
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a
|
|
|
|
copy of this software and associated documentation files (the
|
|
|
|
"Software"), to deal in the Software without restriction, including
|
|
|
|
without limitation the rights to use, copy, modify, merge, publish,
|
|
|
|
distribute, sub license, and/or sell copies of the Software, and to
|
|
|
|
permit persons to whom the Software is furnished to do so, subject to
|
|
|
|
the following conditions:
|
|
|
|
|
|
|
|
The above copyright notice and this permission notice (including the
|
|
|
|
next paragraph) 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 NON-INFRINGEMENT.
|
|
|
|
IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS 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.
|
2008-11-02 08:26:08 -07:00
|
|
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Authors:
|
|
|
|
* Kevin E. Martin <martin@valinux.com>
|
|
|
|
* Jens Owen <jens@valinux.com>
|
|
|
|
* Rickard E. (Rik) Fiath <faith@valinux.com>
|
2012-06-10 07:21:05 -06:00
|
|
|
* Jeremy Huddleston <jeremyhu@apple.com>
|
2008-11-02 08:26:08 -07:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _APPLEDRISTR_H_
|
|
|
|
#define _APPLEDRISTR_H_
|
|
|
|
|
|
|
|
#include "appledri.h"
|
|
|
|
|
2012-06-10 07:21:05 -06:00
|
|
|
#define APPLEDRINAME "Apple-DRI"
|
2008-11-02 08:26:08 -07:00
|
|
|
|
2012-06-10 07:21:05 -06:00
|
|
|
#define APPLE_DRI_MAJOR_VERSION 1 /* current version numbers */
|
|
|
|
#define APPLE_DRI_MINOR_VERSION 0
|
|
|
|
#define APPLE_DRI_PATCH_VERSION 0
|
2008-11-02 08:26:08 -07:00
|
|
|
|
|
|
|
typedef struct _AppleDRIQueryVersion {
|
2012-06-10 07:21:05 -06:00
|
|
|
CARD8 reqType; /* always DRIReqCode */
|
|
|
|
CARD8 driReqType; /* always X_DRIQueryVersion */
|
|
|
|
CARD16 length B16;
|
2008-11-02 08:26:08 -07:00
|
|
|
} xAppleDRIQueryVersionReq;
|
2012-06-10 07:21:05 -06:00
|
|
|
#define sz_xAppleDRIQueryVersionReq 4
|
2008-11-02 08:26:08 -07:00
|
|
|
|
|
|
|
typedef struct {
|
2012-06-10 07:21:05 -06:00
|
|
|
BYTE type; /* X_Reply */
|
|
|
|
BOOL pad1;
|
|
|
|
CARD16 sequenceNumber B16;
|
|
|
|
CARD32 length B32;
|
|
|
|
CARD16 majorVersion B16; /* major version of DRI protocol */
|
|
|
|
CARD16 minorVersion B16; /* minor version of DRI protocol */
|
|
|
|
CARD32 patchVersion B32; /* patch version of DRI protocol */
|
|
|
|
CARD32 pad3 B32;
|
|
|
|
CARD32 pad4 B32;
|
|
|
|
CARD32 pad5 B32;
|
|
|
|
CARD32 pad6 B32;
|
2008-11-02 08:26:08 -07:00
|
|
|
} xAppleDRIQueryVersionReply;
|
2012-06-10 07:21:05 -06:00
|
|
|
#define sz_xAppleDRIQueryVersionReply 32
|
2008-11-02 08:26:08 -07:00
|
|
|
|
|
|
|
typedef struct _AppleDRIQueryDirectRenderingCapable {
|
2012-06-10 07:21:05 -06:00
|
|
|
CARD8 reqType; /* always DRIReqCode */
|
|
|
|
CARD8 driReqType; /* X_DRIQueryDirectRenderingCapable */
|
|
|
|
CARD16 length B16;
|
|
|
|
CARD32 screen B32;
|
2008-11-02 08:26:08 -07:00
|
|
|
} xAppleDRIQueryDirectRenderingCapableReq;
|
2012-06-10 07:21:05 -06:00
|
|
|
#define sz_xAppleDRIQueryDirectRenderingCapableReq 8
|
2008-11-02 08:26:08 -07:00
|
|
|
|
|
|
|
typedef struct {
|
2012-06-10 07:21:05 -06:00
|
|
|
BYTE type; /* X_Reply */
|
|
|
|
BOOL pad1;
|
|
|
|
CARD16 sequenceNumber B16;
|
|
|
|
CARD32 length B32;
|
|
|
|
BOOL isCapable;
|
|
|
|
BOOL pad2;
|
|
|
|
BOOL pad3;
|
|
|
|
BOOL pad4;
|
|
|
|
CARD32 pad5 B32;
|
|
|
|
CARD32 pad6 B32;
|
|
|
|
CARD32 pad7 B32;
|
|
|
|
CARD32 pad8 B32;
|
|
|
|
CARD32 pad9 B32;
|
2008-11-02 08:26:08 -07:00
|
|
|
} xAppleDRIQueryDirectRenderingCapableReply;
|
2012-06-10 07:21:05 -06:00
|
|
|
#define sz_xAppleDRIQueryDirectRenderingCapableReply 32
|
2008-11-02 08:26:08 -07:00
|
|
|
|
|
|
|
typedef struct _AppleDRIAuthConnection {
|
2012-06-10 07:21:05 -06:00
|
|
|
CARD8 reqType; /* always DRIReqCode */
|
|
|
|
CARD8 driReqType; /* always X_DRICloseConnection */
|
|
|
|
CARD16 length B16;
|
|
|
|
CARD32 screen B32;
|
|
|
|
CARD32 magic B32;
|
2008-11-02 08:26:08 -07:00
|
|
|
} xAppleDRIAuthConnectionReq;
|
2012-06-10 07:21:05 -06:00
|
|
|
#define sz_xAppleDRIAuthConnectionReq 12
|
2008-11-02 08:26:08 -07:00
|
|
|
|
|
|
|
typedef struct {
|
2012-06-10 07:21:05 -06:00
|
|
|
BYTE type;
|
|
|
|
BOOL pad1;
|
|
|
|
CARD16 sequenceNumber B16;
|
|
|
|
CARD32 length B32;
|
|
|
|
CARD32 authenticated B32;
|
|
|
|
CARD32 pad2 B32;
|
|
|
|
CARD32 pad3 B32;
|
|
|
|
CARD32 pad4 B32;
|
|
|
|
CARD32 pad5 B32;
|
|
|
|
CARD32 pad6 B32;
|
2008-11-02 08:26:08 -07:00
|
|
|
} xAppleDRIAuthConnectionReply;
|
2012-06-10 07:21:05 -06:00
|
|
|
#define zx_xAppleDRIAuthConnectionReply 32
|
2008-11-02 08:26:08 -07:00
|
|
|
|
|
|
|
typedef struct _AppleDRICreateSurface {
|
2012-06-10 07:21:05 -06:00
|
|
|
CARD8 reqType; /* always DRIReqCode */
|
|
|
|
CARD8 driReqType; /* always X_DRICreateSurface */
|
|
|
|
CARD16 length B16;
|
|
|
|
CARD32 screen B32;
|
|
|
|
CARD32 drawable B32;
|
|
|
|
CARD32 client_id B32;
|
2008-11-02 08:26:08 -07:00
|
|
|
} xAppleDRICreateSurfaceReq;
|
2012-06-10 07:21:05 -06:00
|
|
|
#define sz_xAppleDRICreateSurfaceReq 16
|
2008-11-02 08:26:08 -07:00
|
|
|
|
|
|
|
typedef struct {
|
2012-06-10 07:21:05 -06:00
|
|
|
BYTE type; /* X_Reply */
|
|
|
|
BOOL pad1;
|
|
|
|
CARD16 sequenceNumber B16;
|
|
|
|
CARD32 length B32;
|
|
|
|
CARD32 key_0 B32;
|
|
|
|
CARD32 key_1 B32;
|
|
|
|
CARD32 uid B32;
|
|
|
|
CARD32 pad4 B32;
|
|
|
|
CARD32 pad5 B32;
|
|
|
|
CARD32 pad6 B32;
|
2008-11-02 08:26:08 -07:00
|
|
|
} xAppleDRICreateSurfaceReply;
|
2012-06-10 07:21:05 -06:00
|
|
|
#define sz_xAppleDRICreateSurfaceReply 32
|
2008-11-02 08:26:08 -07:00
|
|
|
|
|
|
|
typedef struct _AppleDRIDestroySurface {
|
2012-06-10 07:21:05 -06:00
|
|
|
CARD8 reqType; /* always DRIReqCode */
|
|
|
|
CARD8 driReqType; /* always X_DRIDestroySurface */
|
|
|
|
CARD16 length B16;
|
|
|
|
CARD32 screen B32;
|
|
|
|
CARD32 drawable B32;
|
2008-11-02 08:26:08 -07:00
|
|
|
} xAppleDRIDestroySurfaceReq;
|
2012-06-10 07:21:05 -06:00
|
|
|
#define sz_xAppleDRIDestroySurfaceReq 12
|
2008-11-02 08:26:08 -07:00
|
|
|
|
|
|
|
typedef struct _AppleDRINotify {
|
2012-06-10 07:21:05 -06:00
|
|
|
BYTE type; /* always eventBase + event type */
|
|
|
|
BYTE kind;
|
|
|
|
CARD16 sequenceNumber B16;
|
|
|
|
CARD32 time B32; /* time of change */
|
|
|
|
CARD32 pad1 B32;
|
|
|
|
CARD32 arg B32;
|
|
|
|
CARD32 pad3 B32;
|
|
|
|
CARD32 pad4 B32;
|
|
|
|
CARD32 pad5 B32;
|
|
|
|
CARD32 pad6 B32;
|
2008-11-02 08:26:08 -07:00
|
|
|
} xAppleDRINotifyEvent;
|
2012-06-10 07:21:05 -06:00
|
|
|
#define sz_xAppleDRINotifyEvent 32
|
2010-07-27 13:02:24 -06:00
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
CARD8 reqType;
|
|
|
|
CARD8 driReqType;
|
|
|
|
CARD16 length B16;
|
|
|
|
CARD32 screen B32;
|
|
|
|
CARD32 drawable B32;
|
|
|
|
BOOL doubleSwap;
|
|
|
|
CARD8 pad1, pad2, pad3;
|
|
|
|
} xAppleDRICreateSharedBufferReq;
|
|
|
|
|
|
|
|
#define sz_xAppleDRICreateSharedBufferReq 16
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
BYTE type;
|
|
|
|
BYTE data1;
|
|
|
|
CARD16 sequenceNumber B16;
|
|
|
|
CARD32 length B32;
|
2012-06-10 07:21:05 -06:00
|
|
|
CARD32 stringLength B32; /* 0 on error */
|
2010-07-27 13:02:24 -06:00
|
|
|
CARD32 width B32;
|
|
|
|
CARD32 height B32;
|
|
|
|
CARD32 pad1 B32;
|
|
|
|
CARD32 pad2 B32;
|
|
|
|
CARD32 pad3 B32;
|
|
|
|
} xAppleDRICreateSharedBufferReply;
|
|
|
|
|
|
|
|
#define sz_xAppleDRICreateSharedBufferReply 32
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
CARD8 reqType;
|
|
|
|
CARD8 driReqType;
|
|
|
|
CARD16 length B16;
|
|
|
|
CARD32 screen B32;
|
|
|
|
CARD32 drawable B32;
|
|
|
|
} xAppleDRISwapBuffersReq;
|
|
|
|
|
|
|
|
#define sz_xAppleDRISwapBuffersReq 12
|
|
|
|
|
|
|
|
typedef struct {
|
2012-06-10 07:21:05 -06:00
|
|
|
CARD8 reqType; /*1 */
|
|
|
|
CARD8 driReqType; /*2 */
|
|
|
|
CARD16 length B16; /*4 */
|
|
|
|
CARD32 screen B32; /*8 */
|
|
|
|
CARD32 drawable B32; /*12 */
|
2010-07-27 13:02:24 -06:00
|
|
|
} xAppleDRICreatePixmapReq;
|
|
|
|
|
|
|
|
#define sz_xAppleDRICreatePixmapReq 12
|
|
|
|
|
|
|
|
typedef struct {
|
2012-06-10 07:21:05 -06:00
|
|
|
BYTE type; /*1 */
|
|
|
|
BOOL pad1; /*2 */
|
|
|
|
CARD16 sequenceNumber B16; /*4 */
|
|
|
|
CARD32 length B32; /*8 */
|
|
|
|
CARD32 width B32; /*12 */
|
|
|
|
CARD32 height B32; /*16 */
|
|
|
|
CARD32 pitch B32; /*20 */
|
|
|
|
CARD32 bpp B32; /*24 */
|
|
|
|
CARD32 size B32; /*28 */
|
|
|
|
CARD32 stringLength B32; /*32 */
|
2010-07-27 13:02:24 -06:00
|
|
|
} xAppleDRICreatePixmapReply;
|
|
|
|
|
|
|
|
#define sz_xAppleDRICreatePixmapReply 32
|
|
|
|
|
|
|
|
typedef struct {
|
2012-06-10 07:21:05 -06:00
|
|
|
CARD8 reqType; /*1 */
|
|
|
|
CARD8 driReqType; /*2 */
|
|
|
|
CARD16 length B16; /*4 */
|
|
|
|
CARD32 drawable B32; /*8 */
|
2010-07-27 13:02:24 -06:00
|
|
|
} xAppleDRIDestroyPixmapReq;
|
|
|
|
|
|
|
|
#define sz_xAppleDRIDestroyPixmapReq 8
|
2008-11-02 08:26:08 -07:00
|
|
|
|
|
|
|
#ifdef _APPLEDRI_SERVER_
|
|
|
|
|
2012-06-10 07:21:05 -06:00
|
|
|
void AppleDRISendEvent(
|
2008-11-02 08:26:08 -07:00
|
|
|
#if NeedFunctionPrototypes
|
2012-06-10 07:21:05 -06:00
|
|
|
int /* type */,
|
|
|
|
unsigned int /* mask */,
|
|
|
|
int /* which */,
|
|
|
|
int /* arg */
|
2008-11-02 08:26:08 -07:00
|
|
|
#endif
|
2012-06-10 07:21:05 -06:00
|
|
|
);
|
2008-11-02 08:26:08 -07:00
|
|
|
|
|
|
|
#endif /* _APPLEDRI_SERVER_ */
|
|
|
|
#endif /* _APPLEDRISTR_H_ */
|