117ca54c3Smrg/************************************************************ 217ca54c3Smrg 3ea1d6981SmrgCopyright (c) 2004, Sun Microsystems, Inc. 417ca54c3Smrg 517ca54c3SmrgPermission to use, copy, modify, distribute, and sell this software and its 617ca54c3Smrgdocumentation for any purpose is hereby granted without fee, provided that 717ca54c3Smrgthe above copyright notice appear in all copies and that both that 817ca54c3Smrgcopyright notice and this permission notice appear in supporting 917ca54c3Smrgdocumentation. 1017ca54c3Smrg 1117ca54c3SmrgThe above copyright notice and this permission notice shall be included in 1217ca54c3Smrgall copies or substantial portions of the Software. 1317ca54c3Smrg 1417ca54c3SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1517ca54c3SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1617ca54c3SmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 1717ca54c3SmrgOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 1817ca54c3SmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 1917ca54c3SmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 2017ca54c3Smrg 2117ca54c3SmrgExcept as contained in this notice, the name of The Open Group shall not be 2217ca54c3Smrgused in advertising or otherwise to promote the sale, use or other dealings 2317ca54c3Smrgin this Software without prior written authorization from The Open Group. 2417ca54c3Smrg 2517ca54c3Smrg********************************************************/ 2617ca54c3Smrg 2717ca54c3Smrg/* 2817ca54c3Smrg * lge.h - Looking Glass Extension Definitions 2917ca54c3Smrg */ 30ea1d6981Smrg 3117ca54c3Smrg#ifndef _LGEWIRE_H 3217ca54c3Smrg#define _LGEWIRE_H 3317ca54c3Smrg 3417ca54c3Smrg#include "X11/Xfuncproto.h" 3517ca54c3Smrg 3617ca54c3Smrg#define LGE_NAME "LGE" 3717ca54c3Smrg 3817ca54c3Smrg/* Current interface version numbers */ 39ea1d6981Smrg#define LGE_MAJOR_VERSION 5 4017ca54c3Smrg#define LGE_MINOR_VERSION 0 4117ca54c3Smrg 4217ca54c3Smrg/* Display Server is alive */ 4317ca54c3Smrg#define X_LgeQueryVersion 0 4417ca54c3Smrg#define X_LgeRegisterClient 1 4517ca54c3Smrg#define X_LgeRegisterScreen 2 4617ca54c3Smrg#define X_LgeControlLgMode 3 4717ca54c3Smrg#define X_LgeSendEvent 4 4817ca54c3Smrg 4917ca54c3Smrg/* Arguments to XLgeRegisterClient */ 5017ca54c3Smrg#define LGE_CLIENT_GENERIC 0 5117ca54c3Smrg#define LGE_CLIENT_PICKER 1 5217ca54c3Smrg#define LGE_CLIENT_EVENT_DELIVERER 2 5317ca54c3Smrg 5417ca54c3Smrgtypedef struct { 55ea1d6981Smrg CARD8 reqType; 5617ca54c3Smrg CARD8 lgeReqType; 57ea1d6981Smrg CARD16 length; 5817ca54c3Smrg} xLgeQueryVersionReq; 5917ca54c3Smrg 6017ca54c3Smrg#define sz_xLgeQueryVersionReq sizeof(xLgeQueryVersionReq) 6117ca54c3Smrg 6217ca54c3Smrgtypedef struct { 6317ca54c3Smrg /* Always X_Reply */ 64ea1d6981Smrg BYTE type; 6517ca54c3Smrg CARD8 unused; 66ea1d6981Smrg CARD16 sequenceNumber; 67ea1d6981Smrg CARD32 length; 68ea1d6981Smrg CARD32 majorVersion; 69ea1d6981Smrg CARD32 minorVersion; 70ea1d6981Smrg CARD32 implementation; 71ea1d6981Smrg CARD32 pad3; 72ea1d6981Smrg CARD32 pad4; 73ea1d6981Smrg CARD32 pad5; 7417ca54c3Smrg} xLgeQueryVersionReply; 7517ca54c3Smrg 7617ca54c3Smrg#define sz_xLgeQueryVersionReply sizeof(xLgeQueryVersionReply) 7717ca54c3Smrg 7817ca54c3Smrgtypedef struct { 7917ca54c3Smrg CARD8 reqType; 8017ca54c3Smrg CARD8 lgeReqType; 81ea1d6981Smrg CARD16 length; 8217ca54c3Smrg CARD8 clientType; 8317ca54c3Smrg BOOL sendEventDirect; 84ea1d6981Smrg CARD16 pad2; 8517ca54c3Smrg} xLgeRegisterClientReq; 8617ca54c3Smrg 8717ca54c3Smrg#define sz_xLgeRegisterClientReq sizeof(xLgeRegisterClientReq) 8817ca54c3Smrg 8917ca54c3Smrgtypedef struct { 9017ca54c3Smrg CARD8 reqType; 9117ca54c3Smrg CARD8 lgeReqType; 92ea1d6981Smrg CARD16 length; 9317ca54c3Smrg /* The pseudo-root window of the screen */ 94ea1d6981Smrg Window prw; 9517ca54c3Smrg} xLgeRegisterScreenReq; 9617ca54c3Smrg 9717ca54c3Smrg#define sz_xLgeRegisterScreenReq sizeof(xLgeRegisterScreenReq) 9817ca54c3Smrg 99ea1d6981Smrgtypedef struct { 100ea1d6981Smrg CARD8 reqType; 101ea1d6981Smrg CARD8 lgeReqType; 102ea1d6981Smrg CARD16 length; 10317ca54c3Smrg BOOL enable; 10417ca54c3Smrg CARD8 pad1; 105ea1d6981Smrg CARD16 pad2; 106ea1d6981Smrg} xLgeControlLgModeReq; 10717ca54c3Smrg 10817ca54c3Smrg#define sz_xLgeControlLgModeReq sizeof(xLgeControlLgModeReq) 10917ca54c3Smrg 110ea1d6981Smrgtypedef struct { 111ea1d6981Smrg CARD8 reqType; 112ea1d6981Smrg CARD8 lgeReqType; 113ea1d6981Smrg CARD16 length; 114ea1d6981Smrg xEvent event; 115ea1d6981Smrg} xLgeSendEventReq; 11617ca54c3Smrg 11717ca54c3Smrg#define sz_xLgeSendEventReq sizeof(xLgeSendEventReq) 11817ca54c3Smrg 11917ca54c3Smrg#endif /* LGEWIRE_H */ 12017ca54c3Smrg 121