dixstruct.h revision deb4998ba50060c48cce222fd18a8eed053918d7
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/***********************************************************
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncCopyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync All Rights Reserved
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPermission to use, copy, modify, and distribute this software and its
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncdocumentation for any purpose and without fee is hereby granted,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncprovided that the above copyright notice appear in all copies and that
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncboth that copyright notice and this permission notice appear in
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncsupporting documentation, and that the name of Digital not be
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncused in advertising or publicity pertaining to distribution of the
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncsoftware without specific, written prior permission.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync******************************************************************/
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * direct-mapped hash table, used by resource manager to store
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * translation from client ids to server addresses.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*ReplySwapPtr) (
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int /* size */,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync void * /* pbuf */);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int /* size */,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync void * /* pbuf */);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct _saveSet {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define SaveSetAssignWindow(ss,w) ((ss).windowPtr = (w))
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define SaveSetAssignToRoot(ss,tr) ((ss).toRoot = (tr))
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define SaveSetAssignRemap(ss,rm) ((ss).remap = (rm))
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct _Client {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync pointer osPrivate; /* for OS layer, including scheduler */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int noClientException; /* this client died or needs to be
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * killed */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned short xkbClientFlags;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned short mapNotifyMask;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync struct _FontResolution * (*fontResFunc) ( /* no need for font.h */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int * /* num */);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Scheduling interface
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern unsigned long SmartScheduleIdleCount;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* This prototype is used pervasively in Xext, dix */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define DISPATCH_PROC(func) int func(ClientPtr /* client */)
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct _WorkQueue {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern TimeStamp ClientTimeToServerTime(CARD32 /*c*/);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct _CallbackRec {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct _CallbackList {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* proc vectors */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern int (* InitialVector[3]) (ClientPtr /*client*/);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern int (* ProcVector[256]) (ClientPtr /*client*/);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern int (* SwappedProcVector[256]) (ClientPtr /*client*/);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#endif /* DIXSTRUCT_H */