16df26cacSmrg/*
26df26cacSmrg * Copyright 2006 by VMware, Inc.
36df26cacSmrg *
46df26cacSmrg * Permission is hereby granted, free of charge, to any person obtaining a
56df26cacSmrg * copy of this software and associated documentation files (the "Software"),
66df26cacSmrg * to deal in the Software without restriction, including without limitation
76df26cacSmrg * the rights to use, copy, modify, merge, publish, distribute, sublicense,
86df26cacSmrg * and/or sell copies of the Software, and to permit persons to whom the
96df26cacSmrg * Software is furnished to do so, subject to the following conditions:
106df26cacSmrg *
116df26cacSmrg * The above copyright notice and this permission notice shall be included in
126df26cacSmrg * all copies or substantial portions of the Software.
136df26cacSmrg *
146df26cacSmrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
156df26cacSmrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
166df26cacSmrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
176df26cacSmrg * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
186df26cacSmrg * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
196df26cacSmrg * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
206df26cacSmrg * OTHER DEALINGS IN THE SOFTWARE.
216df26cacSmrg *
226df26cacSmrg * Except as contained in this notice, the name of the copyright holder(s)
236df26cacSmrg * and author(s) shall not be used in advertising or otherwise to promote
246df26cacSmrg * the sale, use or other dealings in this Software without prior written
256df26cacSmrg * authorization from the copyright holder(s) and author(s).
266df26cacSmrg */
276df26cacSmrg
286df26cacSmrg/*
296df26cacSmrg * vmwarectrlproto.h --
306df26cacSmrg *
316df26cacSmrg *      The description of the VMWARE_CTRL protocol extension that
326df26cacSmrg *      allows X clients to communicate with the driver.
336df26cacSmrg */
346df26cacSmrg
356df26cacSmrg#ifndef _VMWARE_CTRL_PROTO_H_
366df26cacSmrg#define _VMWARE_CTRL_PROTO_H_
376df26cacSmrg
386df26cacSmrg
396df26cacSmrg#include <X11/X.h>
406df26cacSmrg#include "vmwarectrl.h"
416df26cacSmrg
426df26cacSmrg
436df26cacSmrg/*
446df26cacSmrg * Requests and Replies
456df26cacSmrg */
466df26cacSmrg
476df26cacSmrg/* Version 0.1 definitions. */
486df26cacSmrg
496df26cacSmrgtypedef struct {
506df26cacSmrg   CARD8  reqType;           /* always X_VMwareCtrlReqCode */
516df26cacSmrg   CARD8  VMwareCtrlReqType; /* always X_VMwareCtrlQueryVersion */
5225dbecb6Smrg   CARD16 length;
5325dbecb6Smrg   CARD32 majorVersion;
5425dbecb6Smrg   CARD32 minorVersion;
556df26cacSmrg} xVMwareCtrlQueryVersionReq;
566df26cacSmrg#define sz_xVMwareCtrlQueryVersionReq 12
576df26cacSmrg
586df26cacSmrgtypedef struct {
596df26cacSmrg   BYTE    type; /* X_Reply */
606df26cacSmrg   BYTE    pad1;
6125dbecb6Smrg   CARD16  sequenceNumber;
6225dbecb6Smrg   CARD32  length;
6325dbecb6Smrg   CARD32  majorVersion;
6425dbecb6Smrg   CARD32  minorVersion;
6525dbecb6Smrg   CARD32  pad2;
6625dbecb6Smrg   CARD32  pad3;
6725dbecb6Smrg   CARD32  pad4;
6825dbecb6Smrg   CARD32  pad5;
696df26cacSmrg} xVMwareCtrlQueryVersionReply;
706df26cacSmrg#define sz_xVMwareCtrlQueryVersionReply 32
716df26cacSmrg
726df26cacSmrgtypedef struct {
736df26cacSmrg   CARD8  reqType;           /* always X_VMwareCtrlReqCode */
746df26cacSmrg   CARD8  VMwareCtrlReqType; /* always X_VMwareCtrlSetRes */
7525dbecb6Smrg   CARD16 length;
7625dbecb6Smrg   CARD32 screen;
7725dbecb6Smrg   CARD32 x;
7825dbecb6Smrg   CARD32 y;
796df26cacSmrg} xVMwareCtrlSetResReq;
806df26cacSmrg#define sz_xVMwareCtrlSetResReq 16
816df26cacSmrg
826df26cacSmrgtypedef struct {
836df26cacSmrg   BYTE   type; /* X_Reply */
846df26cacSmrg   BYTE   pad1;
8525dbecb6Smrg   CARD16 sequenceNumber;
8625dbecb6Smrg   CARD32 length;
8725dbecb6Smrg   CARD32 screen;
8825dbecb6Smrg   CARD32 x;
8925dbecb6Smrg   CARD32 y;
9025dbecb6Smrg   CARD32 pad2;
9125dbecb6Smrg   CARD32 pad3;
9225dbecb6Smrg   CARD32 pad4;
936df26cacSmrg} xVMwareCtrlSetResReply;
946df26cacSmrg#define sz_xVMwareCtrlSetResReply 32
956df26cacSmrg
966df26cacSmrg/* Version 0.2 definitions. */
976df26cacSmrg
986df26cacSmrgtypedef struct {
996df26cacSmrg   CARD8  reqType;           /* always X_VMwareCtrlReqCode */
1006df26cacSmrg   CARD8  VMwareCtrlReqType; /* always X_VMwareCtrlSetTopology */
10125dbecb6Smrg   CARD16 length;
10225dbecb6Smrg   CARD32 screen;
10325dbecb6Smrg   CARD32 number;
10425dbecb6Smrg   CARD32 pad1;
1056df26cacSmrg} xVMwareCtrlSetTopologyReq;
1066df26cacSmrg#define sz_xVMwareCtrlSetTopologyReq 16
1076df26cacSmrg
1086df26cacSmrgtypedef struct {
1096df26cacSmrg   BYTE   type; /* X_Reply */
1106df26cacSmrg   BYTE   pad1;
11125dbecb6Smrg   CARD16 sequenceNumber;
11225dbecb6Smrg   CARD32 length;
11325dbecb6Smrg   CARD32 screen;
11425dbecb6Smrg   CARD32 pad2;
11525dbecb6Smrg   CARD32 pad3;
11625dbecb6Smrg   CARD32 pad4;
11725dbecb6Smrg   CARD32 pad5;
11825dbecb6Smrg   CARD32 pad6;
1196df26cacSmrg} xVMwareCtrlSetTopologyReply;
1206df26cacSmrg#define sz_xVMwareCtrlSetTopologyReply 32
1216df26cacSmrg
1226df26cacSmrg#endif /* _VMWARE_CTRL_PROTO_H_ */
123