117ca54c3Smrg/* $XFree86$ */ 217ca54c3Smrg 317ca54c3Smrg#ifndef __XTRAPDDMI__ 417ca54c3Smrg#define __XTRAPDDMI__ 517ca54c3Smrg 617ca54c3Smrg/***************************************************************************** 717ca54c3SmrgCopyright 1987, 1988, 1989, 1990, 1991 by Digital Equipment Corp., Maynard, MA 817ca54c3Smrg 9ea1d6981SmrgPermission to use, copy, modify, and distribute this software and its 10ea1d6981Smrgdocumentation for any purpose and without fee is hereby granted, 1117ca54c3Smrgprovided that the above copyright notice appear in all copies and that 12ea1d6981Smrgboth that copyright notice and this permission notice appear in 1317ca54c3Smrgsupporting documentation, and that the name of Digital not be 1417ca54c3Smrgused in advertising or publicity pertaining to distribution of the 15ea1d6981Smrgsoftware without specific, written prior permission. 1617ca54c3Smrg 1717ca54c3SmrgDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 1817ca54c3SmrgALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 1917ca54c3SmrgDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 2017ca54c3SmrgANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 2117ca54c3SmrgWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 2217ca54c3SmrgARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 2317ca54c3SmrgSOFTWARE. 2417ca54c3Smrg 2517ca54c3Smrg*****************************************************************************/ 2617ca54c3Smrg/* 2717ca54c3Smrg * 2817ca54c3Smrg * CONTRIBUTORS: 2917ca54c3Smrg * 3017ca54c3Smrg * Dick Annicchiarico 3117ca54c3Smrg * Robert Chesler 3217ca54c3Smrg * Dan Coutu 3317ca54c3Smrg * Gene Durso 3417ca54c3Smrg * Marc Evans 3517ca54c3Smrg * Alan Jamison 3617ca54c3Smrg * Mark Henry 3717ca54c3Smrg * Ken Miller 3817ca54c3Smrg * 3917ca54c3Smrg * DESCRIPTION: 4017ca54c3Smrg * This header file is used by the XTrap server extension only 4117ca54c3Smrg * (not used by clients or the XTrap Toolkit). Information 4217ca54c3Smrg * contained herein should *not* be visible to clients (xtrapdi.h 4317ca54c3Smrg * is used for this). The name is historical. 4417ca54c3Smrg */ 4517ca54c3Smrg#include <X11/X.h> 4617ca54c3Smrg#include <X11/extensions/xtrapbits.h> 4717ca54c3Smrg#include "dix.h" 4817ca54c3Smrg 4917ca54c3Smrg#ifndef MIN 5017ca54c3Smrg# define MIN(a,b) ((a) < (b) ? (a) : (b)) 5117ca54c3Smrg#endif 5217ca54c3Smrg#ifndef MAX 5317ca54c3Smrg# define MAX(a,b) ((a) > (b) ? (a) : (b)) 5417ca54c3Smrg#endif 5517ca54c3Smrg 5617ca54c3Smrg#define XETrapNumEvents 1L /* constants used for AddExtension */ 5717ca54c3Smrg 5817ca54c3Smrg/* Other constants used within the extension code */ 5917ca54c3Smrg#define XETrapMinRepSize 32L /* Minimum number of longs */ 6017ca54c3Smrg 6117ca54c3Smrg/* This structure will be globally declared to provide storage to hold 6217ca54c3Smrg * the various extension wide configuration information. Allocated on 6317ca54c3Smrg * a per-client basis. 6417ca54c3Smrg */ 6517ca54c3Smrgtypedef struct 6617ca54c3Smrg{ 6717ca54c3Smrg ClientPtr client; /* Multi-client support and error handling */ 6817ca54c3Smrg xXTrapGetCurReply cur; /* Struct of Miscellaneous state info */ 6917ca54c3Smrg xXTrapGetStatsReply *stats; /* Pointer to stat's, malloc'd if requested */ 70ea1d6981Smrg CARD32 last_input_time; /* last timestamp from input event */ 71ea1d6981Smrg CARD16 protocol; /* current communication protocol */ 7217ca54c3Smrg} XETrapEnv; 7317ca54c3Smrg 7417ca54c3Smrg#define XETrapSetHeaderEvent(phdr) ((phdr)->type = 0x1L) 7517ca54c3Smrg#define XETrapSetHeaderRequest(phdr) ((phdr)->type = 0x2L) 7617ca54c3Smrg#define XETrapSetHeaderSpecial(phdr) ((phdr)->type = 0x3L) 7717ca54c3Smrg#define XETrapSetHeaderCursor(phdr) ((phdr)->type = 0x4L) 7817ca54c3Smrg#define XETrapSetHeaderReply(phdr) ((phdr)->type = 0x5L) 7917ca54c3Smrg 8017ca54c3Smrg#ifndef vaxc 81ea1d6981Smrg#define globaldef 8217ca54c3Smrg#define globalref extern 8317ca54c3Smrg#endif 8417ca54c3Smrg 8517ca54c3Smrg/* Extension platform identifier (conditionally defined) */ 8617ca54c3Smrg#if ( defined (__osf__) && defined(__alpha) ) 8717ca54c3Smrg# define XETrapPlatform PF_DECOSF1 8817ca54c3Smrg#endif 8917ca54c3Smrg#ifdef ultrix 9017ca54c3Smrg# define XETrapPlatform PF_DECUltrix 9117ca54c3Smrg#endif 9217ca54c3Smrg#ifdef vms 9317ca54c3Smrg#ifdef VAXELN 9417ca54c3Smrg# define XETrapPlatform PF_DECELN 9517ca54c3Smrg#else 9617ca54c3Smrg# define XETrapPlatform PF_DECVMS 9717ca54c3Smrg#endif 9817ca54c3Smrg#endif 9917ca54c3Smrg#ifdef VT1000 10017ca54c3Smrg# define XETrapPlatform PF_DECVT1000 10117ca54c3Smrg#endif 10217ca54c3Smrg#ifdef VXT 10317ca54c3Smrg# define XETrapPlatform PF_DECXTerm 10417ca54c3Smrg#endif 10517ca54c3Smrg#ifdef PC 10617ca54c3Smrg# define XETrapPlatform PF_IBMAT 10717ca54c3Smrg#endif 10817ca54c3Smrg#ifdef sun 10917ca54c3Smrg# define XETrapPlatform PF_SunSparc 11017ca54c3Smrg#endif 11117ca54c3Smrg#ifndef XETrapPlatform 11217ca54c3Smrg# define XETrapPlatform PF_Other 11317ca54c3Smrg#endif /* XETrapPlatform */ 11417ca54c3Smrg 11517ca54c3Smrg#endif /* __XTRAPDDMI__ */ 116