Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:26:31

0001 /*
0002  * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
0003  * Copyright 2010 Red Hat, Inc.
0004  *
0005  * Permission is hereby granted, free of charge, to any person obtaining a
0006  * copy of this software and associated documentation files (the "Software"),
0007  * to deal in the Software without restriction, including without limitation
0008  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
0009  * and/or sell copies of the Software, and to permit persons to whom the
0010  * Software is furnished to do so, subject to the following conditions:
0011  *
0012  * The above copyright notice and this permission notice (including the next
0013  * paragraph) shall be included in all copies or substantial portions of the
0014  * Software.
0015  *
0016  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
0017  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
0018  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
0019  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
0020  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
0021  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
0022  * DEALINGS IN THE SOFTWARE.
0023  */
0024 /*
0025  * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
0026  *
0027  * Permission to use, copy, modify, distribute, and sell this software and its
0028  * documentation for any purpose is hereby granted without fee, provided that
0029  * the above copyright notice appear in all copies and that both that
0030  * copyright notice and this permission notice appear in supporting
0031  * documentation, and that the name of Keith Packard not be used in
0032  * advertising or publicity pertaining to distribution of the software without
0033  * specific, written prior permission.  Keith Packard makes no
0034  * representations about the suitability of this software for any purpose.  It
0035  * is provided "as is" without express or implied warranty.
0036  *
0037  * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
0038  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
0039  * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
0040  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
0041  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
0042  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
0043  * PERFORMANCE OF THIS SOFTWARE.
0044  */
0045 
0046 #ifndef _XFIXESPROTO_H_
0047 #define _XFIXESPROTO_H_
0048 
0049 #include <X11/Xmd.h>
0050 #include <X11/extensions/xfixeswire.h>
0051 #include <X11/extensions/shapeconst.h>
0052 
0053 #define Window CARD32
0054 #define Drawable CARD32
0055 #define Font CARD32
0056 #define Pixmap CARD32
0057 #define Cursor CARD32
0058 #define Colormap CARD32
0059 #define GContext CARD32
0060 #define Atom CARD32
0061 #define VisualID CARD32
0062 #define Time CARD32
0063 #define KeyCode CARD8
0064 #define KeySym CARD32
0065 #define Picture CARD32
0066 
0067 /*************** Version 1 ******************/
0068 
0069 typedef struct {
0070     CARD8   reqType;
0071     CARD8   xfixesReqType;
0072     CARD16  length B16;
0073 } xXFixesReq;
0074 
0075 /* 
0076  * requests and replies
0077  */
0078 typedef struct {
0079     CARD8   reqType;
0080     CARD8   xfixesReqType;
0081     CARD16  length B16;
0082     CARD32  majorVersion B32;
0083     CARD32  minorVersion B32;
0084 } xXFixesQueryVersionReq;
0085 
0086 #define sz_xXFixesQueryVersionReq   12
0087 
0088 typedef struct {
0089     BYTE    type;   /* X_Reply */
0090     BYTE    pad1;
0091     CARD16  sequenceNumber B16;
0092     CARD32  length B32;
0093     CARD32  majorVersion B32;
0094     CARD32  minorVersion B32;
0095     CARD32  pad2 B32;
0096     CARD32  pad3 B32;
0097     CARD32  pad4 B32;
0098     CARD32  pad5 B32;
0099 } xXFixesQueryVersionReply;
0100 
0101 #define sz_xXFixesQueryVersionReply 32
0102 
0103 typedef struct {
0104     CARD8   reqType;
0105     CARD8   xfixesReqType;
0106     CARD16  length B16;
0107     BYTE    mode;       /* SetModeInsert/SetModeDelete*/
0108     BYTE    target;     /* SaveSetNearest/SaveSetRoot*/
0109     BYTE    map;        /* SaveSetMap/SaveSetUnmap */
0110     BYTE    pad1;
0111     Window  window;
0112 } xXFixesChangeSaveSetReq;
0113 
0114 #define sz_xXFixesChangeSaveSetReq  12
0115 
0116 typedef struct {
0117     CARD8   reqType;
0118     CARD8   xfixesReqType;
0119     CARD16  length B16;
0120     Window  window  B32;
0121     Atom    selection B32;
0122     CARD32  eventMask B32;
0123 } xXFixesSelectSelectionInputReq;
0124 
0125 #define sz_xXFixesSelectSelectionInputReq   16
0126 
0127 typedef struct {
0128     CARD8   type;
0129     CARD8   subtype;
0130     CARD16  sequenceNumber B16;
0131     Window  window B32;
0132     Window  owner B32;
0133     Atom    selection B32;
0134     Time    timestamp B32;
0135     Time    selectionTimestamp B32;
0136     CARD32  pad2 B32;
0137     CARD32  pad3 B32;
0138 } xXFixesSelectionNotifyEvent;
0139 
0140 typedef struct {
0141     CARD8   reqType;
0142     CARD8   xfixesReqType;
0143     CARD16  length B16;
0144     Window  window B32;
0145     CARD32  eventMask B32;
0146 } xXFixesSelectCursorInputReq;
0147 
0148 #define sz_xXFixesSelectCursorInputReq  12
0149 
0150 typedef struct {
0151     CARD8   type;
0152     CARD8   subtype;
0153     CARD16  sequenceNumber B16;
0154     Window  window B32;
0155     CARD32  cursorSerial B32;
0156     Time    timestamp;
0157     Atom    name B32;       /* Version 2 */
0158     CARD32  pad1 B32;
0159     CARD32  pad2 B32;
0160     CARD32  pad3 B32;
0161 } xXFixesCursorNotifyEvent;
0162 
0163 typedef struct {
0164     CARD8   reqType;
0165     CARD8   xfixesReqType;
0166     CARD16  length B16;
0167 } xXFixesGetCursorImageReq;
0168 
0169 #define sz_xXFixesGetCursorImageReq 4
0170 
0171 typedef struct {
0172     BYTE    type;   /* X_Reply */
0173     BYTE    pad1;
0174     CARD16  sequenceNumber B16;
0175     CARD32  length B32;
0176     INT16   x B16;
0177     INT16   y B16;
0178     CARD16  width B16;
0179     CARD16  height B16;
0180     CARD16  xhot B16;
0181     CARD16  yhot B16;
0182     CARD32  cursorSerial B32;
0183     CARD32  pad2 B32;
0184     CARD32  pad3 B32;
0185 } xXFixesGetCursorImageReply;
0186 
0187 #define sz_xXFixesGetCursorImageReply   32
0188 
0189 /*************** Version 2 ******************/
0190 
0191 #define Region CARD32
0192 
0193 typedef struct {
0194     CARD8   reqType;
0195     CARD8   xfixesReqType;
0196     CARD16  length B16;
0197     Region  region B32;
0198     /* LISTofRECTANGLE */
0199 } xXFixesCreateRegionReq;
0200 
0201 #define sz_xXFixesCreateRegionReq   8
0202 
0203 typedef struct {
0204     CARD8   reqType;
0205     CARD8   xfixesReqType;
0206     CARD16  length B16;
0207     Region  region B32;
0208     Pixmap  bitmap B32;
0209 } xXFixesCreateRegionFromBitmapReq;
0210 
0211 #define sz_xXFixesCreateRegionFromBitmapReq 12
0212 
0213 typedef struct {
0214     CARD8   reqType;
0215     CARD8   xfixesReqType;
0216     CARD16  length B16;
0217     Region  region B32;
0218     Window  window B32;
0219     CARD8   kind;
0220     CARD8   pad1;
0221     CARD16  pad2 B16;
0222 } xXFixesCreateRegionFromWindowReq;
0223 
0224 #define sz_xXFixesCreateRegionFromWindowReq 16
0225 
0226 typedef struct {
0227     CARD8   reqType;
0228     CARD8   xfixesReqType;
0229     CARD16  length B16;
0230     Region  region B32;
0231     GContext gc B32;
0232 } xXFixesCreateRegionFromGCReq;
0233 
0234 #define sz_xXFixesCreateRegionFromGCReq 12
0235 
0236 typedef struct {
0237     CARD8   reqType;
0238     CARD8   xfixesReqType;
0239     CARD16  length B16;
0240     Region  region B32;
0241     Picture picture B32;
0242 } xXFixesCreateRegionFromPictureReq;
0243 
0244 #define sz_xXFixesCreateRegionFromPictureReq    12
0245 
0246 typedef struct {
0247     CARD8   reqType;
0248     CARD8   xfixesReqType;
0249     CARD16  length B16;
0250     Region  region B32;
0251 } xXFixesDestroyRegionReq;
0252 
0253 #define sz_xXFixesDestroyRegionReq  8
0254 
0255 typedef struct {
0256     CARD8   reqType;
0257     CARD8   xfixesReqType;
0258     CARD16  length B16;
0259     Region  region B32;
0260     /* LISTofRECTANGLE */
0261 } xXFixesSetRegionReq;
0262 
0263 #define sz_xXFixesSetRegionReq      8
0264 
0265 typedef struct {
0266     CARD8   reqType;
0267     CARD8   xfixesReqType;
0268     CARD16  length B16;
0269     Region  source B32;
0270     Region  destination B32;
0271 } xXFixesCopyRegionReq;
0272 
0273 #define sz_xXFixesCopyRegionReq     12
0274 
0275 typedef struct {
0276     CARD8   reqType;
0277     CARD8   xfixesReqType;
0278     CARD16  length B16;
0279     Region  source1 B32;
0280     Region  source2 B32;
0281     Region  destination B32;
0282 } xXFixesCombineRegionReq,
0283   xXFixesUnionRegionReq,
0284   xXFixesIntersectRegionReq,
0285   xXFixesSubtractRegionReq;
0286 
0287 #define sz_xXFixesCombineRegionReq  16
0288 #define sz_xXFixesUnionRegionReq    sz_xXFixesCombineRegionReq
0289 #define sz_xXFixesIntersectRegionReq    sz_xXFixesCombineRegionReq
0290 #define sz_xXFixesSubtractRegionReq sz_xXFixesCombineRegionReq
0291 
0292 typedef struct {
0293     CARD8   reqType;
0294     CARD8   xfixesReqType;
0295     CARD16  length B16;
0296     Region  source B32;
0297     INT16   x B16, y B16;
0298     CARD16  width B16, height B16;
0299     Region  destination B32;
0300 } xXFixesInvertRegionReq;
0301 
0302 #define sz_xXFixesInvertRegionReq   20
0303 
0304 typedef struct {
0305     CARD8   reqType;
0306     CARD8   xfixesReqType;
0307     CARD16  length B16;
0308     Region  region B32;
0309     INT16   dx B16, dy B16;
0310 } xXFixesTranslateRegionReq;
0311 
0312 #define sz_xXFixesTranslateRegionReq    12
0313     
0314 typedef struct {
0315     CARD8   reqType;
0316     CARD8   xfixesReqType;
0317     CARD16  length B16;
0318     Region  source B32;
0319     Region  destination B32;
0320 } xXFixesRegionExtentsReq;
0321 
0322 #define sz_xXFixesRegionExtentsReq  12
0323 
0324 typedef struct {
0325     CARD8   reqType;
0326     CARD8   xfixesReqType;
0327     CARD16  length B16;
0328     Region  region B32;
0329 } xXFixesFetchRegionReq;
0330 
0331 #define sz_xXFixesFetchRegionReq    8
0332 
0333 typedef struct {
0334     BYTE    type;   /* X_Reply */
0335     BYTE    pad1;
0336     CARD16  sequenceNumber B16;
0337     CARD32  length B32;
0338     INT16   x B16, y B16;
0339     CARD16  width B16, height B16;
0340     CARD32  pad2 B32;
0341     CARD32  pad3 B32;
0342     CARD32  pad4 B32;
0343     CARD32  pad5 B32;
0344 } xXFixesFetchRegionReply;
0345 
0346 #define sz_xXFixesFetchRegionReply  32
0347 
0348 typedef struct {
0349     CARD8   reqType;
0350     CARD8   xfixesReqType;
0351     CARD16  length B16;
0352     GContext    gc B32;
0353     Region  region B32;
0354     INT16   xOrigin B16, yOrigin B16;
0355 } xXFixesSetGCClipRegionReq;
0356 
0357 #define sz_xXFixesSetGCClipRegionReq    16
0358 
0359 typedef struct {
0360     CARD8   reqType;
0361     CARD8   xfixesReqType;
0362     CARD16  length B16;
0363     Window  dest;
0364     BYTE    destKind;
0365     CARD8   pad1;
0366     CARD16  pad2 B16;
0367     INT16   xOff B16, yOff B16;
0368     Region  region;
0369 } xXFixesSetWindowShapeRegionReq;
0370 
0371 #define sz_xXFixesSetWindowShapeRegionReq   20
0372 
0373 typedef struct {
0374     CARD8   reqType;
0375     CARD8   xfixesReqType;
0376     CARD16  length B16;
0377     Picture picture B32;
0378     Region  region B32;
0379     INT16   xOrigin B16, yOrigin B16;
0380 } xXFixesSetPictureClipRegionReq;
0381 
0382 #define sz_xXFixesSetPictureClipRegionReq   16
0383 
0384 typedef struct {
0385     CARD8   reqType;
0386     CARD8   xfixesReqType;
0387     CARD16  length B16;
0388     Cursor  cursor B32;
0389     CARD16  nbytes B16;
0390     CARD16  pad B16;
0391 } xXFixesSetCursorNameReq;
0392 
0393 #define sz_xXFixesSetCursorNameReq      12
0394 
0395 typedef struct {
0396     CARD8   reqType;
0397     CARD8   xfixesReqType;
0398     CARD16  length B16;
0399     Cursor  cursor B32;
0400 } xXFixesGetCursorNameReq;
0401 
0402 #define sz_xXFixesGetCursorNameReq      8
0403 
0404 typedef struct {
0405     BYTE    type;   /* X_Reply */
0406     BYTE    pad1;
0407     CARD16  sequenceNumber B16;
0408     CARD32  length B32;
0409     Atom    atom B32;
0410     CARD16  nbytes B16;
0411     CARD16  pad2 B16;
0412     CARD32  pad3 B32;
0413     CARD32  pad4 B32;
0414     CARD32  pad5 B32;
0415     CARD32  pad6 B32;
0416 } xXFixesGetCursorNameReply;
0417 
0418 #define sz_xXFixesGetCursorNameReply        32
0419 
0420 typedef struct {
0421     CARD8   reqType;
0422     CARD8   xfixesReqType;
0423     CARD16  length B16;
0424 } xXFixesGetCursorImageAndNameReq;
0425 
0426 #define sz_xXFixesGetCursorImageAndNameReq  4
0427 
0428 typedef struct {
0429     BYTE    type;   /* X_Reply */
0430     BYTE    pad1;
0431     CARD16  sequenceNumber B16;
0432     CARD32  length B32;
0433     INT16   x B16;
0434     INT16   y B16;
0435     CARD16  width B16;
0436     CARD16  height B16;
0437     CARD16  xhot B16;
0438     CARD16  yhot B16;
0439     CARD32  cursorSerial B32;
0440     Atom    cursorName B32;
0441     CARD16  nbytes B16;
0442     CARD16  pad B16;
0443 } xXFixesGetCursorImageAndNameReply;
0444 
0445 #define sz_xXFixesGetCursorImageAndNameReply    32
0446 
0447 typedef struct {
0448     CARD8   reqType;
0449     CARD8   xfixesReqType;
0450     CARD16  length B16;
0451     Cursor  source B32;
0452     Cursor  destination B32;
0453 } xXFixesChangeCursorReq;
0454 
0455 #define sz_xXFixesChangeCursorReq   12
0456 
0457 typedef struct {
0458     CARD8   reqType;
0459     CARD8   xfixesReqType;
0460     CARD16  length B16;
0461     Cursor  source B32;
0462     CARD16  nbytes;
0463     CARD16  pad;
0464 } xXFixesChangeCursorByNameReq;
0465 
0466 #define sz_xXFixesChangeCursorByNameReq 12
0467 
0468 /*************** Version 3 ******************/
0469 
0470 typedef struct {
0471     CARD8   reqType;
0472     CARD8   xfixesReqType;
0473     CARD16  length B16;
0474     Region  source B32;
0475     Region  destination B32;
0476     CARD16  left B16;
0477     CARD16  right B16;
0478     CARD16  top B16;
0479     CARD16  bottom B16;
0480 } xXFixesExpandRegionReq;
0481 
0482 #define sz_xXFixesExpandRegionReq   20
0483 
0484 /*************** Version 4.0 ******************/
0485 
0486 typedef struct {
0487     CARD8   reqType;
0488     CARD8   xfixesReqType;
0489     CARD16  length B16;
0490     Window  window B32;
0491 } xXFixesHideCursorReq;
0492 
0493 #define sz_xXFixesHideCursorReq sizeof(xXFixesHideCursorReq)
0494 
0495 typedef struct {
0496     CARD8   reqType;
0497     CARD8   xfixesReqType;
0498     CARD16  length B16;
0499     Window  window B32;
0500 } xXFixesShowCursorReq;
0501 
0502 #define sz_xXFixesShowCursorReq sizeof(xXFixesShowCursorReq)
0503 
0504 /*************** Version 5.0 ******************/
0505 
0506 #define Barrier CARD32
0507 
0508 typedef struct {
0509     CARD8   reqType;
0510     CARD8   xfixesReqType;
0511     CARD16  length B16;
0512     Barrier barrier B32;
0513     Window  window B32;
0514     INT16   x1 B16;
0515     INT16   y1 B16;
0516     INT16   x2 B16;
0517     INT16   y2 B16;
0518     CARD32  directions;
0519     CARD16  pad B16;
0520     CARD16  num_devices B16;
0521     /* array of CARD16 devices */
0522 } xXFixesCreatePointerBarrierReq;
0523 
0524 #define sz_xXFixesCreatePointerBarrierReq 28
0525 
0526 typedef struct {
0527     CARD8   reqType;
0528     CARD8   xfixesReqType;
0529     CARD16  length B16;
0530     Barrier barrier B32;
0531 } xXFixesDestroyPointerBarrierReq;
0532 
0533 #define sz_xXFixesDestroyPointerBarrierReq 8
0534 
0535 #undef Barrier
0536 #undef Region
0537 #undef Picture
0538 #undef Window
0539 #undef Drawable
0540 #undef Font
0541 #undef Pixmap
0542 #undef Cursor
0543 #undef Colormap
0544 #undef GContext
0545 #undef Atom
0546 #undef VisualID
0547 #undef Time
0548 #undef KeyCode
0549 #undef KeySym
0550 
0551 #endif /* _XFIXESPROTO_H_ */