117ca54c3Smrg/* 217ca54c3Smrg * Copyright © 2003 Philip Blundell 317ca54c3Smrg * 417ca54c3Smrg * Permission to use, copy, modify, distribute, and sell this software and its 517ca54c3Smrg * documentation for any purpose is hereby granted without fee, provided that 617ca54c3Smrg * the above copyright notice appear in all copies and that both that 717ca54c3Smrg * copyright notice and this permission notice appear in supporting 817ca54c3Smrg * documentation, and that the name of Philip Blundell not be used in 917ca54c3Smrg * advertising or publicity pertaining to distribution of the software without 1017ca54c3Smrg * specific, written prior permission. Philip Blundell makes no 1117ca54c3Smrg * representations about the suitability of this software for any purpose. It 1217ca54c3Smrg * is provided "as is" without express or implied warranty. 1317ca54c3Smrg * 1417ca54c3Smrg * PHILIP BLUNDELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 1517ca54c3Smrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 1617ca54c3Smrg * EVENT SHALL PHILIP BLUNDELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR 1717ca54c3Smrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 1817ca54c3Smrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 1917ca54c3Smrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 2017ca54c3Smrg * PERFORMANCE OF THIS SOFTWARE. 2117ca54c3Smrg */ 2217ca54c3Smrg 2317ca54c3Smrg#ifndef XCALIBRATEPROTO_H 2417ca54c3Smrg#define XCALIBRATEPROTO_H 2517ca54c3Smrg 26ea1d6981Smrg/* 2717ca54c3Smrg * requests and replies 2817ca54c3Smrg */ 2917ca54c3Smrgtypedef struct { 3017ca54c3Smrg CARD8 reqType; 3117ca54c3Smrg CARD8 xCalibrateReqType; 32ea1d6981Smrg CARD16 length; 33ea1d6981Smrg CARD32 majorVersion; 34ea1d6981Smrg CARD32 minorVersion; 3517ca54c3Smrg} xXCalibrateQueryVersionReq; 3617ca54c3Smrg 3717ca54c3Smrg#define sz_xXCalibrateQueryVersionReq 12 3817ca54c3Smrg 3917ca54c3Smrgtypedef struct { 4017ca54c3Smrg BYTE type; /* X_Reply */ 4117ca54c3Smrg BYTE pad1; 42ea1d6981Smrg CARD16 sequenceNumber; 43ea1d6981Smrg CARD32 length; 44ea1d6981Smrg CARD32 majorVersion; 45ea1d6981Smrg CARD32 minorVersion; 46ea1d6981Smrg CARD32 pad2; 47ea1d6981Smrg CARD32 pad3; 48ea1d6981Smrg CARD32 pad4; 49ea1d6981Smrg CARD32 pad5; 5017ca54c3Smrg} xXCalibrateQueryVersionReply; 5117ca54c3Smrg 5217ca54c3Smrg#define sz_xXCalibrateQueryVersionReply 32 5317ca54c3Smrg 5417ca54c3Smrgtypedef struct { 5517ca54c3Smrg CARD8 reqType; 5617ca54c3Smrg CARD8 xCalibrateReqType; 57ea1d6981Smrg CARD16 length; 58ea1d6981Smrg CARD16 on; 59ea1d6981Smrg CARD16 pad; 6017ca54c3Smrg} xXCalibrateRawModeReq; 6117ca54c3Smrg 6217ca54c3Smrg#define sz_xXCalibrateRawModeReq 8 6317ca54c3Smrg 6417ca54c3Smrgtypedef struct { 6517ca54c3Smrg BYTE type; /* X_Reply */ 6617ca54c3Smrg BYTE pad1; 67ea1d6981Smrg CARD16 sequenceNumber; 6817ca54c3Smrg CARD32 status; 69ea1d6981Smrg CARD32 pad2; 70ea1d6981Smrg CARD32 pad3; 71ea1d6981Smrg CARD32 pad4; 72ea1d6981Smrg CARD32 pad5; 73ea1d6981Smrg CARD32 pad6; 74ea1d6981Smrg CARD32 pad7; 7517ca54c3Smrg} xXCalibrateRawModeReply; 7617ca54c3Smrg 7717ca54c3Smrg#define sz_xXCalibrateRawModeReply 32 7817ca54c3Smrg 7917ca54c3Smrgtypedef struct { 8017ca54c3Smrg CARD8 reqType; 8117ca54c3Smrg CARD8 xCalibrateReqType; 82ea1d6981Smrg CARD16 length; 83ea1d6981Smrg CARD32 x; 84ea1d6981Smrg CARD32 y; 8517ca54c3Smrg} xXCalibrateScreenToCoordReq; 8617ca54c3Smrg 8717ca54c3Smrg#define sz_xXCalibrateScreenToCoordReq 12 8817ca54c3Smrg 8917ca54c3Smrgtypedef struct { 9017ca54c3Smrg BYTE type; /* X_Reply */ 9117ca54c3Smrg BYTE pad1; 92ea1d6981Smrg CARD16 sequenceNumber; 9317ca54c3Smrg CARD32 x; 9417ca54c3Smrg CARD32 y; 95ea1d6981Smrg CARD32 pad2; 96ea1d6981Smrg CARD32 pad3; 97ea1d6981Smrg CARD32 pad4; 98ea1d6981Smrg CARD32 pad5; 99ea1d6981Smrg CARD32 pad6; 10017ca54c3Smrg} xXCalibrateScreenToCoordReply; 10117ca54c3Smrg 10217ca54c3Smrg#define sz_xXCalibrateScreenToCoordReply 32 10317ca54c3Smrg 10417ca54c3Smrg/* Events */ 10517ca54c3Smrg 10617ca54c3Smrgtypedef struct { 10717ca54c3Smrg CARD8 type; 10817ca54c3Smrg CARD8 pad1; 109ea1d6981Smrg CARD16 sequenceNumber; 11017ca54c3Smrg CARD16 x; 11117ca54c3Smrg CARD16 y; 11217ca54c3Smrg CARD16 pressure; 11317ca54c3Smrg CARD16 pad2; 11417ca54c3Smrg} xXCalibrateRawTouchscreenEvent; 11517ca54c3Smrg 11617ca54c3Smrg#define sz_xXCalibrateRawTouchscreenEvent 12 11717ca54c3Smrg 11817ca54c3Smrg#endif 119