61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync/***********************************************************
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncCopyright 1987, 1998 The Open Group
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncPermission to use, copy, modify, distribute, and sell this software and its
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncdocumentation for any purpose is hereby granted without fee, provided that
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncthe above copyright notice appear in all copies and that both that
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsynccopyright notice and this permission notice appear in supporting
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncdocumentation.
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncThe above copyright notice and this permission notice shall be included in
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncall copies or substantial portions of the Software.
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncExcept as contained in this notice, the name of The Open Group shall not be
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncused in advertising or otherwise to promote the sale, use or other dealings
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncin this Software without prior written authorization from The Open Group.
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncCopyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync All Rights Reserved
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncPermission to use, copy, modify, and distribute this software and its
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncdocumentation for any purpose and without fee is hereby granted,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncprovided that the above copyright notice appear in all copies and that
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncboth that copyright notice and this permission notice appear in
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncsupporting documentation, and that the name of Digital not be
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncused in advertising or publicity pertaining to distribution of the
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncsoftware without specific, written prior permission.
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncSOFTWARE.
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync******************************************************************/
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#ifndef DIX_H
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define DIX_H
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#include "callback.h"
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#include "gc.h"
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#include "window.h"
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#include "input.h"
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#include "cursor.h"
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#include "geext.h"
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#include "events.h"
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#include <X11/extensions/XI.h>
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define EARLIER -1
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define SAMETIME 0
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define LATER 1
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define NullClient ((ClientPtr) 0)
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define REQUEST(type) \
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync type *stuff = (type *)client->requestBuffer
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define ARRAY_SIZE(a) (sizeof((a)) / sizeof((a)[0]))
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define REQUEST_SIZE_MATCH(req)\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync if ((sizeof(req) >> 2) != client->req_len)\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync return(BadLength)
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define REQUEST_AT_LEAST_SIZE(req) \
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync if ((sizeof(req) >> 2) > client->req_len )\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync return(BadLength)
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define REQUEST_FIXED_SIZE(req, n)\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync if (((sizeof(req) >> 2) > client->req_len) || \
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync (((sizeof(req) + (n) + 3) >> 2) != client->req_len)) \
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync return(BadLength)
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define LEGAL_NEW_RESOURCE(id,client)\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync if (!LegalNewID(id,client)) \
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync {\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync client->errorValue = id;\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync return BadIDChoice;\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync }
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define VALIDATE_DRAWABLE_AND_GC(drawID, pDraw, mode)\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync {\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync int tmprc = dixLookupDrawable(&(pDraw), drawID, client, M_ANY, mode);\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync if (tmprc != Success)\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync return tmprc;\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync tmprc = dixLookupGC(&(pGC), stuff->gc, client, DixUseAccess);\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync if (tmprc != Success)\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync return tmprc;\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync if ((pGC->depth != pDraw->depth) || (pGC->pScreen != pDraw->pScreen))\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync return BadMatch;\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync }\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync if (pGC->serialNumber != pDraw->serialNumber)\
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync ValidateGC(pDraw, pGC);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define WriteReplyToClient(pClient, size, pReply) { \
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync if ((pClient)->swapped) \
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync (*ReplySwapVector[((xReq *)(pClient)->requestBuffer)->reqType]) \
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync (pClient, (int)(size), pReply); \
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync else WriteToClient(pClient, (int)(size), (pReply)); }
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define WriteSwappedDataToClient(pClient, size, pbuf) \
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync if ((pClient)->swapped) \
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync (*(pClient)->pSwapReplyFunc)(pClient, (int)(size), pbuf); \
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync else WriteToClient(pClient, (int)(size), (pbuf));
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsynctypedef struct _TimeStamp *TimeStampPtr;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#ifndef _XTYPEDEF_CLIENTPTR
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsynctypedef struct _Client *ClientPtr; /* also in misc.h */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define _XTYPEDEF_CLIENTPTR
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#endif
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsynctypedef struct _WorkQueue *WorkQueuePtr;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT ClientPtr clients[MAXCLIENTS];
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT ClientPtr serverClient;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT int currentMaxClients;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT char dispatchExceptionAtReset;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsynctypedef int HWEventQueueType;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsynctypedef HWEventQueueType *HWEventQueuePtr;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT HWEventQueuePtr checkForInput[2];
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsynctypedef struct _TimeStamp {
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync CARD32 months; /* really ~49.7 days */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync CARD32 milliseconds;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync} TimeStamp;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync/* dispatch.c */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void SetInputCheck(HWEventQueuePtr /*c0 */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync HWEventQueuePtr /*c1 */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void CloseDownClient(ClientPtr /*client */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void UpdateCurrentTime(void);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void UpdateCurrentTimeIf(void);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT int dixDestroyPixmap(void */*value */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync XID /*pid */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void InitClient(ClientPtr /*client */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync int /*i */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync void */*ospriv */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT ClientPtr NextAvailableClient(void */*ospriv */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void SendErrorToClient(ClientPtr /*client */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync unsigned int /*majorCode */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync unsigned int /*minorCode */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync XID /*resId */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync int /*errorCode */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void MarkClientException(ClientPtr /*client */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_HIDDEN Bool CreateConnectionBlock(void);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync/* dixutils.c */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT int CompareISOLatin1Lowered(const unsigned char * /*a */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync int alen,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync const unsigned char * /*b */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync int blen);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT int dixLookupWindow(WindowPtr *result,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync XID id,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync ClientPtr client, Mask access_mode);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT int dixLookupDrawable(DrawablePtr *result,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync XID id,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync ClientPtr client,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Mask type_mask, Mask access_mode);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT int dixLookupGC(GCPtr *result,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync XID id, ClientPtr client, Mask access_mode);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT int dixLookupFontable(FontPtr *result,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync XID id,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync ClientPtr client, Mask access_mode);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT int dixLookupClient(ClientPtr *result,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync XID id,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync ClientPtr client, Mask access_mode);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void NoopDDA(void);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT int AlterSaveSetForClient(ClientPtr /*client */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync WindowPtr /*pWin */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync unsigned /*mode */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Bool /*toRoot */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Bool /*map */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void DeleteWindowFromAnySaveSet(WindowPtr /*pWin */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void BlockHandler(void */*pTimeout */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync void */*pReadmask */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void WakeupHandler(int /*result */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync void */*pReadmask */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncvoid
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync EnableLimitedSchedulingLatency(void);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncvoid
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync DisableLimitedSchedulingLatency(void);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsynctypedef void (*WakeupHandlerProcPtr) (void */* blockData */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync int /* result */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync void */* pReadmask */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT Bool RegisterBlockAndWakeupHandlers(BlockHandlerProcPtr
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync /*blockHandler */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync WakeupHandlerProcPtr
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync /*wakeupHandler */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync void */*blockData */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void RemoveBlockAndWakeupHandlers(BlockHandlerProcPtr
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync /*blockHandler */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync WakeupHandlerProcPtr
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync /*wakeupHandler */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync void */*blockData */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void InitBlockAndWakeupHandlers(void);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void ProcessWorkQueue(void);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void ProcessWorkQueueZombies(void);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT Bool QueueWorkProc(Bool (* /*function */ )(
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync ClientPtr
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync /*clientUnused */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync void *
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync /*closure */ ),
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync ClientPtr /*client */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync void */*closure */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsynctypedef Bool (*ClientSleepProcPtr) (ClientPtr /*client */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync void */*closure */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT Bool ClientSleep(ClientPtr /*client */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync ClientSleepProcPtr /* function */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync void */*closure */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#ifndef ___CLIENTSIGNAL_DEFINED___
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#define ___CLIENTSIGNAL_DEFINED___
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT Bool ClientSignal(ClientPtr /*client */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#endif /* ___CLIENTSIGNAL_DEFINED___ */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void ClientWakeup(ClientPtr /*client */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT Bool ClientIsAsleep(ClientPtr /*client */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync/* atom.c */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT Atom MakeAtom(const char * /*string */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync unsigned /*len */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Bool /*makeit */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT Bool ValidAtom(Atom /*atom */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT const char *NameForAtom(Atom /*atom */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncAtomError(void)
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync _X_NORETURN;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncFreeAllAtoms(void);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncInitAtoms(void);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync/* main.c */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncSetVendorRelease(int release);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncSetVendorString(const char *string);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncint
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncdix_main(int argc, char *argv[], char *envp[]);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync/* events.c */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncSetMaskForEvent(int /* deviceid */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Mask /* mask */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync int /* event */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncConfineToShape(DeviceIntPtr /* pDev */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync RegionPtr /* shape */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync int * /* px */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync int * /* py */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT Bool
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncIsParent(WindowPtr /* maybeparent */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync WindowPtr /* child */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT WindowPtr
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncGetCurrentRootWindow(DeviceIntPtr pDev);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT WindowPtr
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncGetSpriteWindow(DeviceIntPtr pDev);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncNoticeTime(const DeviceIntPtr dev,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync TimeStamp time);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncNoticeEventTime(InternalEvent *ev,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync DeviceIntPtr dev);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT TimeStamp
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncLastEventTime(int deviceid);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT Bool
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncLastEventTimeWasReset(int deviceid);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncLastEventTimeToggleResetFlag(int deviceid, Bool state);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncLastEventTimeToggleResetAll(Bool state);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncEnqueueEvent(InternalEvent * /* ev */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync DeviceIntPtr /* device */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncPlayReleasedEvents(void);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncActivatePointerGrab(DeviceIntPtr /* mouse */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync GrabPtr /* grab */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync TimeStamp /* time */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Bool /* autoGrab */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncDeactivatePointerGrab(DeviceIntPtr /* mouse */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncActivateKeyboardGrab(DeviceIntPtr /* keybd */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync GrabPtr /* grab */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync TimeStamp /* time */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Bool /* passive */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncDeactivateKeyboardGrab(DeviceIntPtr /* keybd */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern BOOL
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncActivateFocusInGrab(DeviceIntPtr /* dev */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync WindowPtr /* old */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync WindowPtr /* win */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncAllowSome(ClientPtr /* client */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync TimeStamp /* time */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync DeviceIntPtr /* thisDev */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync int /* newState */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncReleaseActiveGrabs(ClientPtr client);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern GrabPtr
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncCheckPassiveGrabsOnWindow(WindowPtr /* pWin */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync DeviceIntPtr /* device */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync InternalEvent * /* event */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync BOOL /* checkCore */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync BOOL /* activate */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT int
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncDeliverEventsToWindow(DeviceIntPtr /* pWin */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync WindowPtr /* pWin */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync xEventPtr /* pEvents */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync int /* count */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Mask /* filter */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync GrabPtr /* grab */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncDeliverRawEvent(RawDeviceEvent * /* ev */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync DeviceIntPtr /* dev */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern int
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncDeliverDeviceEvents(WindowPtr /* pWin */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync InternalEvent * /* event */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync GrabPtr /* grab */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync WindowPtr /* stopAt */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync DeviceIntPtr /* dev */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern int
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncDeliverOneGrabbedEvent(InternalEvent * /* event */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync DeviceIntPtr /* dev */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync enum InputLevel /* level */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncDeliverTouchEvents(DeviceIntPtr /* dev */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync TouchPointInfoPtr /* ti */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync InternalEvent * /* ev */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync XID /* resource */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncInitializeSprite(DeviceIntPtr /* pDev */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync WindowPtr /* pWin */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncFreeSprite(DeviceIntPtr pDev);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncUpdateSpriteForScreen(DeviceIntPtr /* pDev */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync ScreenPtr /* pScreen */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncWindowHasNewCursor(WindowPtr /* pWin */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern Bool
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncCheckDeviceGrabs(DeviceIntPtr /* device */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync DeviceEvent * /* event */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync WindowPtr /* ancestor */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncDeliverFocusedEvent(DeviceIntPtr /* keybd */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync InternalEvent * /* event */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync WindowPtr /* window */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern int
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncDeliverGrabbedEvent(InternalEvent * /* event */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync DeviceIntPtr /* thisDev */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Bool /* deactivateGrab */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncFixKeyState(DeviceEvent * /* event */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync DeviceIntPtr /* keybd */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncRecalculateDeliverableEvents(WindowPtr /* pWin */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT int
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncOtherClientGone(void */* value */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync XID /* id */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncDoFocusEvents(DeviceIntPtr /* dev */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync WindowPtr /* fromWin */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync WindowPtr /* toWin */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync int /* mode */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern int
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncSetInputFocus(ClientPtr /* client */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync DeviceIntPtr /* dev */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Window /* focusID */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync CARD8 /* revertTo */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Time /* ctime */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Bool /* followOK */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern int
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncGrabDevice(ClientPtr /* client */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync DeviceIntPtr /* dev */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync unsigned /* this_mode */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync unsigned /* other_mode */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Window /* grabWindow */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync unsigned /* ownerEvents */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Time /* ctime */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync GrabMask * /* mask */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync int /* grabtype */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Cursor /* curs */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Window /* confineToWin */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync CARD8 * /* status */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncInitEvents(void);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncCloseDownEvents(void);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncDeleteWindowFromAnyEvents(WindowPtr /* pWin */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Bool /* freeResources */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern Mask
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncEventMaskForClient(WindowPtr /* pWin */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync ClientPtr /* client */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT int
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncDeliverEvents(WindowPtr /*pWin */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync xEventPtr /*xE */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync int /*count */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync WindowPtr /*otherParent */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern Bool
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncCheckMotion(DeviceEvent * /* ev */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync DeviceIntPtr /* pDev */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncWriteEventsToClient(ClientPtr /*pClient */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync int /*count */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync xEventPtr /*events */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT int
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncTryClientEvents(ClientPtr /*client */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync DeviceIntPtr /* device */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync xEventPtr /*pEvents */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync int /*count */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Mask /*mask */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync Mask /*filter */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync GrabPtr /*grab */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncWindowsRestructured(void);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern int
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncSetClientPointer(ClientPtr /* client */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync DeviceIntPtr /* device */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT DeviceIntPtr
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncPickPointer(ClientPtr /* client */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT DeviceIntPtr
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncPickKeyboard(ClientPtr /* client */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern Bool
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncIsInterferingGrab(ClientPtr /* client */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync DeviceIntPtr /* dev */ ,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync xEvent * /* events */ );
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#ifdef PANORAMIX
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncReinitializeRootWindow(WindowPtr win, int xoff, int yoff);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#endif
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#ifdef RANDR
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncScreenRestructured(ScreenPtr pScreen);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#endif
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#ifndef HAVE_FFS
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT int
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncffs(int i);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#endif
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync/*
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync * ServerGrabCallback stuff
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT CallbackListPtr ServerGrabCallback;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsynctypedef enum { SERVER_GRABBED, SERVER_UNGRABBED,
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync CLIENT_PERVIOUS, CLIENT_IMPERVIOUS
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync} ServerGrabState;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsynctypedef struct {
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync ClientPtr client;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync ServerGrabState grabstate;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync} ServerGrabInfoRec;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync/*
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync * EventCallback stuff
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT CallbackListPtr EventCallback;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsynctypedef struct {
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync ClientPtr client;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync xEventPtr events;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync int count;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync} EventInfoRec;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync/*
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync * DeviceEventCallback stuff
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync */
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT CallbackListPtr DeviceEventCallback;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsynctypedef struct {
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync InternalEvent *event;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync DeviceIntPtr device;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync} DeviceEventInfoRec;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern int
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncXItoCoreType(int xi_type);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern Bool
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncDevHasCursor(DeviceIntPtr pDev);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT Bool
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncIsPointerDevice(DeviceIntPtr dev);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT Bool
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncIsKeyboardDevice(DeviceIntPtr dev);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern Bool
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncIsPointerEvent(InternalEvent *event);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern Bool
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncIsTouchEvent(InternalEvent *event);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT Bool
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncIsMaster(DeviceIntPtr dev);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT Bool
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncIsFloating(DeviceIntPtr dev);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_HIDDEN void
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncCopyKeyClass(DeviceIntPtr device, DeviceIntPtr master);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_HIDDEN int
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncCorePointerProc(DeviceIntPtr dev, int what);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_HIDDEN int
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncCoreKeyboardProc(DeviceIntPtr dev, int what);
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsyncextern _X_EXPORT void *lastGLContext;
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync#endif /* DIX_H */