/*
* Copyright 1992 Network Computing Devices
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of NCD. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. NCD. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*
* NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD.
* BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
*/
#ifndef _LBXPROTO_H_
#define _LBXPROTO_H_
/*
* NOTE: any changes or additions to the opcodes needs to be reflected
*/
#define X_LbxQueryVersion 0
/*
* Redefine some basic types used by structures defined herein. This removes
* any possibility on 64-bit architectures of one entity viewing communicated
* data as 32-bit quantities and another entity viewing the same data as 64-bit
* quantities.
*/
typedef struct {
typedef struct _LbxQueryVersion {
typedef struct {
typedef struct _LbxStartProxy {
typedef struct _LbxStopProxy {
typedef struct _LbxSwitch {
typedef struct _LbxNewClient {
typedef struct _LbxCloseClient {
typedef struct _LbxModifySequence {
typedef struct _LbxAllowMotion {
typedef struct {
#define LBX_LIST_END 0
typedef struct {
typedef struct {
typedef struct {
typedef struct _LbxIncrementPixel {
typedef struct _LbxDelta {
/* list of diffs follows */
} xLbxDeltaReq;
typedef struct _LbxGetModifierMapping {
typedef struct {
typedef struct _LbxGetKeyboardMapping {
typedef struct {
typedef struct _LbxQueryFont {
typedef struct _LbxInternAtoms {
typedef struct {
typedef struct _LbxGetWinAttrAndGeom {
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
#else
#endif
typedef struct {
} xLbxSyncReq;
typedef struct {
/* an LBX squished charinfo packs the data in a CARD32 as follows */
#define LBX_DESCENT_SHIFT 0
typedef struct {
} xLbxCharInfo;
/* note that this is identical to xQueryFontReply except for missing
* first 2 words
*/
typedef struct {
/* XXX do we need to leave this gunk? */
#ifndef WORD64
#endif
#ifndef WORD64
#endif
} xLbxFontInfo;
typedef struct {
/* X_QueryFont sticks much of the data in the base reply packet,
* but we hope that it won't be needed, (and it won't fit in 32 bytes
* with the tag anyways)
*
* if any additional data is needed, its sent in a xLbxFontInfo
*/
typedef struct _LbxChangeProperty {
typedef struct {
typedef struct _LbxGetProperty {
typedef struct {
typedef struct _LbxTagData {
/* data */
typedef struct _LbxInvalidateTag {
typedef struct _LbxPutImage {
/* rest is variable */
typedef struct {
typedef struct {
/* Following used for LbxPolyPoint, LbxPolyLine, LbxPolySegment,
LbxPolyRectangle, LbxPolyArc, LbxPolyFillRectangle and LbxPolyFillArc */
typedef struct _LbxPolyPoint {
typedef struct _LbxFillPoly {
typedef struct _LbxCopyArea {
/* followed by encoded src x, src y, dst x, dst y, width, height */
typedef struct _LbxCopyPlane {
/* followed by encoded src x, src y, dst x, dst y, width, height */
typedef struct _LbxPolyText {
/* followed by encoded src x, src y coordinates and text elts */
typedef struct _LbxImageText {
/* followed by encoded src x, src y coordinates and string */
typedef struct {
} xLbxDiffItem;
typedef struct {
typedef struct _LbxQueryExtension {
typedef struct _LbxQueryExtensionReply {
/* reply & event generating requests */
typedef struct _LbxBeginLargeRequest {
typedef struct _LbxLargeRequestData {
/* followed by LISTofCARD8 data */
typedef struct _LbxEndLargeRequest {
typedef struct _LbxSwitchEvent {
typedef struct _LbxCloseEvent {
typedef struct _LbxInvalidateTagEvent {
typedef struct _LbxSendTagDataEvent {
typedef struct _LbxListenToOneEvent {
typedef struct _LbxListenToAllEvent {
typedef struct _LbxReleaseCmapEvent {
typedef struct _LbxFreeCellsEvent {
/*
* squished X event sizes. If these change, be sure to update lbxquish.c
* and unsquish.c appropriately
*
* lbxsz_* is the padded squished length
* lbxupsz_* is the unpadded squished length
*/
#ifdef DEBUG
#endif
/*
* Cancel the previous redefinition of the basic types, thus restoring their
* X.h definitions.
*/
#endif /* _LBXPROTO_H_ */