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