b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* $Xorg: lbxserve.h,v 1.4 2001/02/09 02:05:17 xorgcvs Exp $ */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCopyright 1996, 1998 The Open Group
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPermission to use, copy, modify, distribute, and sell this software and its
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncdocumentation for any purpose is hereby granted without fee, provided that
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncthe above copyright notice appear in all copies and that both that
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccopyright notice and this permission notice appear in supporting
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncdocumentation.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncThe above copyright notice and this permission notice shall be included in
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncall copies or substantial portions of the Software.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncExcept as contained in this notice, the name of The Open Group shall not be
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncused in advertising or otherwise to promote the sale, use or other dealings
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncin this Software without prior written authorization from The Open Group.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Copyright 1992 Network Computing Devices
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Permission to use, copy, modify, distribute, and sell this software and its
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * documentation for any purpose is hereby granted without fee, provided that
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * the above copyright notice appear in all copies and that both that
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * copyright notice and this permission notice appear in supporting
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * documentation, and that the name of NCD. not be used in advertising or
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * publicity pertaining to distribution of the software without specific,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * written prior permission. NCD. makes no representations about the
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * suitability of this software for any purpose. It is provided "as is"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * without express or implied warranty.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* $XFree86: xc/programs/Xserver/lbx/lbxserve.h,v 1.4 2001/08/01 00:44:58 tsi Exp $ */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer gfx_buffer; /* tmp buffer for unpacking gfx requests */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync /* this array is indexed by lbx proxy index */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char *bitmapCompMethods; /* array of indices */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char *pixmapCompMethods; /* array of indices */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int **pixmapCompDepths; /* depths supported from each method */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync struct _ColormapRec *grabbedCmaps; /* chained via lbx private */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* This array is indexed by server client index, not lbx proxy index */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define LbxClient(client) (lbxClients[(client)->index])
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define LbxMaybeProxy(client) (LbxClient(client) ? LbxProxy(client) : 0)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define LbxProxyClient(proxy) ((proxy)->lbxClients[0]->client)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern ClientPtr AllocLbxClientConnection ( ClientPtr client,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxProxyConnection ( ClientPtr client, LbxProxyPtr proxy );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int UncompressedWriteToClient ( ClientPtr who, int count, char *buf );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void SwitchClientInput ( ClientPtr client, Bool pending );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int PrepareLargeReqBuffer ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool AppendFakeRequest ( ClientPtr client, char *data, int count );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool AllocateLargeReqBuffer ( ClientPtr client, int size );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool AddToLargeReqBuffer ( ClientPtr client, char *data, int size );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxPrimeInput ( ClientPtr client, LbxProxyPtr proxy );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int LbxCmapInit ( void );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool LbxCheckColorRequest ( ClientPtr client, ColormapPtr pmap,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int LbxCheckCmapGrabbed ( ColormapPtr pmap );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxDisableSmartGrab ( ColormapPtr pmap );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxBeginFreeCellsEvent ( ColormapPtr pmap );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxAddFreeCellToEvent ( ColormapPtr pmap, Pixel pixel );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxEndFreeCellsEvent ( ColormapPtr pmap );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxSortPixelList ( Pixel *pixels, int count );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxReleaseCmap ( ColormapPtr pmap, Bool smart );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ProcLbxIncrementPixel ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxDixInit ( void );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxResetTags ( void );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int LbxSendConnSetup ( ClientPtr client, char *reason );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int LbxGetModifierMapping ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int LbxGetKeyboardMapping ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int LbxTagData ( ClientPtr client, XID tag, unsigned long len,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int LbxInvalidateTag ( ClientPtr client, XID tag );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxAllowMotion ( ClientPtr client, int num );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxFlushModifierMapTag ( void );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxFlushKeyboardMapTag ( void );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxSendInvalidateTag ( ClientPtr client, XID tag, int tagtype );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ProcessQTagZombies ( void );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxQueryTagData ( ClientPtr client, int owner_pid, XID tag,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool LbxAddExtension ( char *name, int opcode, int ev_base,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool LbxAddExtensionAlias ( int idx, char *alias );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxDeclareExtensionSecurity ( char *extname, Bool secure );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool LbxRegisterExtensionGenerationMasks ( int idx, int num_reqs,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int LbxQueryExtension ( ClientPtr client, char *ename, int nlen );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxCloseDownExtensions ( void );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxSetReqMask ( CARD8 *mask, int req, Bool on );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int LbxDecodePoly( ClientPtr client, CARD8 xreqtype,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int (*decode_rtn)(char *, char *, short *) );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int LbxDecodePoints ( char *in, char *inend, short *out );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int LbxDecodeSegment ( char *in, char *inend, short *out );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int LbxDecodeRectangle ( char *in, char *inend, short *out );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int LbxDecodeArc ( char *in, char *inend, short *out );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxReencodeOutput ( ClientPtr client, char *pbuf, int *pcount,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxExtensionInit ( void );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxSetForBlock ( LbxClientPtr lbxClient );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ProcLbxQueryVersion ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ProcLbxBeginLargeRequest ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ProcLbxLargeRequestData ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ProcLbxEndLargeRequest ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ProcLbxGetWinAttrAndGeom ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ProcLbxEstablishConnection ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ProcLbxModifySequence ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ProcLbxGetModifierMapping ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ProcLbxGetKeyboardMapping ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ProcLbxChangeProperty ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ProcLbxInvalidateTag ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ProcLbxPolyRectangle ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ProcLbxPolyFillRectangle ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ProcLbxQueryExtension ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxStallPropRequest ( ClientPtr client, PropertyPtr pProp );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int LbxChangeWindowProperty ( ClientPtr client, WindowPtr pWin,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int SProcLbxBeginLargeRequest ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int SProcLbxLargeRequestData ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int SProcLbxEndLargeRequest ( ClientPtr client );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxWriteSConnSetupPrefix ( ClientPtr pClient,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void LbxSwapFontInfo ( xLbxFontInfo *pr, Bool compressed );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ZeroReplyPadBytes ( char *buf, int reqType );
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif /* _LBXSERVE_H_ */