Home | History | Annotate | Download | only in extensions
      1 /* $Xorg: XLbx.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */
      2 /*
      3  * Copyright 1992 Network Computing Devices
      4  *
      5  * Permission to use, copy, modify, distribute, and sell this software and its
      6  * documentation for any purpose is hereby granted without fee, provided that
      7  * the above copyright notice appear in all copies and that both that
      8  * copyright notice and this permission notice appear in supporting
      9  * documentation, and that the name of NCD. not be used in advertising or
     10  * publicity pertaining to distribution of the software without specific,
     11  * written prior permission.  NCD. makes no representations about the
     12  * suitability of this software for any purpose.  It is provided "as is"
     13  * without express or implied warranty.
     14  *
     15  * NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
     16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD.
     17  * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     18  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
     19  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
     20  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     21  *
     22  */
     23 /* $XFree86: xc/include/extensions/XLbx.h,v 1.3 2002/10/16 01:59:55 dawes Exp $ */
     24 
     25 #ifndef _XLBX_H_
     26 #define _XLBX_H_
     27 
     28 #include <X11/Xfuncproto.h>
     29 
     30 /*
     31  * NOTE:  any changes or additions to the opcodes needs to be reflected
     32  * in the lbxCacheable array in Xserver/lbx/lbxmain.c
     33  */
     34 
     35 #define X_LbxQueryVersion		0
     36 #define X_LbxStartProxy			1
     37 #define X_LbxStopProxy			2
     38 #define X_LbxSwitch			3
     39 #define X_LbxNewClient			4
     40 #define X_LbxCloseClient		5
     41 #define X_LbxModifySequence		6
     42 #define X_LbxAllowMotion		7
     43 #define X_LbxIncrementPixel		8
     44 #define X_LbxDelta			9
     45 #define	X_LbxGetModifierMapping		10
     46 #define	X_LbxInvalidateTag		12
     47 #define X_LbxPolyPoint			13
     48 #define X_LbxPolyLine			14
     49 #define X_LbxPolySegment		15
     50 #define X_LbxPolyRectangle		16
     51 #define X_LbxPolyArc			17
     52 #define X_LbxFillPoly			18
     53 #define X_LbxPolyFillRectangle		19
     54 #define X_LbxPolyFillArc		20
     55 #define	X_LbxGetKeyboardMapping		21
     56 #define	X_LbxQueryFont			22
     57 #define	X_LbxChangeProperty		23
     58 #define	X_LbxGetProperty		24
     59 #define	X_LbxTagData			25
     60 
     61 #define X_LbxCopyArea			26
     62 #define X_LbxCopyPlane			27
     63 #define X_LbxPolyText8			28
     64 #define X_LbxPolyText16			29
     65 #define X_LbxImageText8			30
     66 #define X_LbxImageText16		31
     67 
     68 #define X_LbxQueryExtension		32
     69 #define X_LbxPutImage			33
     70 #define X_LbxGetImage			34
     71 
     72 #define X_LbxBeginLargeRequest		35
     73 #define X_LbxLargeRequestData		36
     74 #define X_LbxEndLargeRequest		37
     75 
     76 #define X_LbxInternAtoms		38
     77 #define X_LbxGetWinAttrAndGeom		39
     78 
     79 #define X_LbxGrabCmap			40
     80 #define X_LbxReleaseCmap		41
     81 #define X_LbxAllocColor			42
     82 
     83 #define X_LbxSync			43
     84 
     85 #define LbxNumberReqs			44
     86 
     87 
     88 #define LbxEvent			0
     89 #define LbxQuickMotionDeltaEvent	1
     90 #define LbxNumberEvents			2
     91 
     92 /* This is always the master client */
     93 #define LbxMasterClientIndex		0
     94 
     95 /* LbxEvent lbxType sub-fields */
     96 #define LbxSwitchEvent			0
     97 #define LbxCloseEvent			1
     98 #define LbxDeltaEvent			2
     99 #define LbxInvalidateTagEvent		3
    100 #define LbxSendTagDataEvent		4
    101 #define LbxListenToOne			5
    102 #define LbxListenToAll			6
    103 #define LbxMotionDeltaEvent		7
    104 #define LbxReleaseCmapEvent		8
    105 #define LbxFreeCellsEvent		9
    106 
    107 /*
    108  * Lbx image compression methods
    109  *
    110  * No compression is always assigned the value of 0.
    111  *
    112  * The rest of the compression method opcodes are assigned dynamically
    113  * at option negotiation time.
    114  */
    115 
    116 #define LbxImageCompressNone		0
    117 
    118 
    119 #define BadLbxClient			0
    120 #define LbxNumberErrors			(BadLbxClient + 1)
    121 
    122 /* tagged data types */
    123 #define	LbxTagTypeModmap		1
    124 #define	LbxTagTypeKeymap		2
    125 #define	LbxTagTypeProperty		3
    126 #define	LbxTagTypeFont			4
    127 #define	LbxTagTypeConnInfo		5
    128 
    129 #ifndef _XLBX_SERVER_
    130 
    131 #include <X11/Xdefs.h>
    132 #include <X11/Xlib.h>
    133 
    134 _XFUNCPROTOBEGIN
    135 
    136 Bool XLbxQueryExtension(
    137     Display*		/* dpy */,
    138     int*		/* requestp */,
    139     int*		/* event_basep */,
    140     int*		/* error_basep */
    141 );
    142 
    143 Bool XLbxQueryVersion(
    144     Display*		/* dpy */,
    145     int*		/* majorVersion */,
    146     int*		/* minorVersion */
    147 );
    148 
    149 int XLbxGetEventBase(Display *dpy);
    150 
    151 _XFUNCPROTOEND
    152 
    153 #endif
    154 
    155 #endif
    156