⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lbxstr.h

📁 远程桌面连接工具
💻 H
📖 第 1 页 / 共 2 页
字号:
/* $XConsortium: lbxstr.h /main/27 1996/12/15 21:24:11 rws $ *//* * 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 _LBXSTR_H_#define _LBXSTR_H_#include "XLbx.h"#define LBXNAME "LBX"#define LBX_MAJOR_VERSION	1#define LBX_MINOR_VERSION	0typedef struct {    BOOL	success;		/* TRUE */    BOOL	changeType;    CARD16	majorVersion B16,		minorVersion B16;    CARD16	length B16;		/* 1/4 additional bytes in setup info */    CARD32	tag B32;} xLbxConnSetupPrefix;typedef struct _LbxQueryVersion {    CARD8	reqType;		/* always LbxReqCode */    CARD8	lbxReqType;		/* always X_LbxQueryVersion */    CARD16	length B16;} xLbxQueryVersionReq;#define sz_xLbxQueryVersionReq	4typedef struct {    BYTE	type;			/* X_Reply */    CARD8	unused;    CARD16	sequenceNumber B16;    CARD32	length B32;    CARD16	majorVersion B16;	/* major version of LBX protocol */    CARD16	minorVersion B16;	/* minor version of LBX protocol */    CARD32	pad0 B32;    CARD32	pad1 B32;    CARD32	pad2 B32;    CARD32	pad3 B32;    CARD32	pad4 B32;} xLbxQueryVersionReply;#define sz_xLbxQueryVersionReply	32typedef struct _LbxStartProxy {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxStartProxy */    CARD16	length B16;} xLbxStartProxyReq;#define sz_xLbxStartProxyReq	    4typedef struct _LbxStopProxy {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxStopProxy */    CARD16	length B16;} xLbxStopProxyReq;#define sz_xLbxStopProxyReq	    4typedef struct _LbxSwitch {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxSwitch */    CARD16	length B16;    CARD32	client B32;	/* new client */} xLbxSwitchReq;#define sz_xLbxSwitchReq	8typedef struct _LbxNewClient {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxNewClient */    CARD16	length B16;    CARD32	client B32;	/* new client */} xLbxNewClientReq;#define sz_xLbxNewClientReq	8typedef struct _LbxCloseClient {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxCloseClient */    CARD16	length B16;    CARD32	client B32;	/* new client */} xLbxCloseClientReq;#define sz_xLbxCloseClientReq	8typedef struct _LbxModifySequence {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxModifySequence */    CARD16	length B16;    CARD32	adjust B32;} xLbxModifySequenceReq;#define sz_xLbxModifySequenceReq    8    typedef struct _LbxAllowMotion {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxAllowMotion */    CARD16	length B16;    CARD32	num B32;} xLbxAllowMotionReq;#define sz_xLbxAllowMotionReq    8    typedef struct {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxGrabCmap */    CARD16	length B16;    Colormap	cmap B32;} xLbxGrabCmapReq;    #define sz_xLbxGrabCmapReq	8#define LBX_SMART_GRAB		0x80#define LBX_AUTO_RELEASE	0x40#define LBX_3CHANNELS		0x20#define LBX_2BYTE_PIXELS	0x10#define LBX_RGB_BITS_MASK	0x0f#define LBX_LIST_END		0#define LBX_PIXEL_PRIVATE	1#define LBX_PIXEL_SHARED	2#define LBX_PIXEL_RANGE_PRIVATE	3#define LBX_PIXEL_RANGE_SHARED	4#define LBX_NEXT_CHANNEL	5typedef struct {    BYTE	type;			/* X_Reply */    CARD8	flags;    CARD16	sequenceNumber B16;    CARD32	length B32;    CARD32	pad0 B16;    CARD32	pad1 B32;    CARD32	pad2 B32;    CARD32	pad3 B32;    CARD32	pad4 B32;    CARD32	pad5 B16;} xLbxGrabCmapReply;#define sz_xLbxGrabCmapReply	32#define sz_xLbxGrabCmapReplyHdr	8typedef struct {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxReleaseCmap */    CARD16	length B16;    Colormap	cmap B32;} xLbxReleaseCmapReq;    #define sz_xLbxReleaseCmapReq	8typedef struct {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxAllocColor */    CARD16	length B16;    Colormap	cmap B32;    CARD32	pixel B32;    CARD16	red B16, green B16, blue B16;    CARD16	pad B16;} xLbxAllocColorReq;    #define sz_xLbxAllocColorReq	20typedef struct _LbxIncrementPixel {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxIncrementPixel */    CARD16	length B16;    CARD32	cmap B32;    CARD32	pixel B32;} xLbxIncrementPixelReq;#define sz_xLbxIncrementPixelReq    12typedef struct _LbxDelta {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxDelta */    CARD16	length B16;    CARD8	diffs;		/* number of diffs */    CARD8	cindex;		/* cache index */				/* list of diffs follows */} xLbxDeltaReq;#define sz_xLbxDeltaReq    6typedef struct _LbxGetModifierMapping {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxGetModifierMapping */    CARD16	length B16;} xLbxGetModifierMappingReq;#define	sz_xLbxGetModifierMappingReq	4typedef struct {    BYTE	type;			/* X_Reply */    CARD8	keyspermod;    CARD16	sequenceNumber B16;    CARD32	length B32;    CARD32	tag B32;    CARD32	pad0 B32;    CARD32	pad1 B32;    CARD32	pad2 B32;    CARD32	pad3 B32;    CARD32	pad4 B32;} xLbxGetModifierMappingReply;#define sz_xLbxGetModifierMappingReply	32typedef struct _LbxGetKeyboardMapping {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxGetKeyboardMapping */    CARD16	length B16;    KeyCode	firstKeyCode;    CARD8	count;    CARD16	pad1 B16;} xLbxGetKeyboardMappingReq;#define	sz_xLbxGetKeyboardMappingReq	8typedef struct {    BYTE	type;			/* X_Reply */    CARD8	keysperkeycode;    CARD16	sequenceNumber B16;    CARD32	length B32;    CARD32	tag B32;    CARD32	pad0 B32;    CARD32	pad1 B32;    CARD32	pad2 B32;    CARD32	pad3 B32;    CARD32	pad4 B32;} xLbxGetKeyboardMappingReply;#define sz_xLbxGetKeyboardMappingReply	32typedef struct _LbxQueryFont {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxQueryFont */    CARD16	length B16;    CARD32	fid B32;} xLbxQueryFontReq;#define	sz_xLbxQueryFontReq	8typedef struct _LbxInternAtoms {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxInternAtoms */    CARD16	length B16;    CARD16	num B16;} xLbxInternAtomsReq;#define sz_xLbxInternAtomsReq	6  typedef struct {    BYTE	type;		/* X_Reply */    CARD8	unused;    CARD16	sequenceNumber B16;    CARD32	length B32;    CARD32	atomsStart B32;    CARD32	pad0 B32;    CARD32	pad1 B32;    CARD32	pad2 B32;    CARD32	pad3 B32;    CARD32	pad4 B32;} xLbxInternAtomsReply;#define sz_xLbxInternAtomsReply		32#define sz_xLbxInternAtomsReplyHdr	8typedef struct _LbxGetWinAttrAndGeom {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxGetWinAttrAndGeom */    CARD16	length B16;    CARD32	id B32;		/* window id */} xLbxGetWinAttrAndGeomReq;#define sz_xLbxGetWinAttrAndGeomReq 8typedef struct {    BYTE type;  /* X_Reply */    CARD8 backingStore;    CARD16 sequenceNumber B16;    CARD32 length B32;	/* NOT 0; this is an extra-large reply */    VisualID visualID B32;#if defined(__cplusplus) || defined(c_plusplus)    CARD16 c_class B16;#else    CARD16 class B16;#endif    CARD8 bitGravity;    CARD8 winGravity;    CARD32 backingBitPlanes B32;    CARD32 backingPixel B32;    BOOL saveUnder;    BOOL mapInstalled;    CARD8 mapState;    BOOL override;    Colormap colormap B32;    CARD32 allEventMasks B32;    CARD32 yourEventMask B32;    CARD16 doNotPropagateMask B16;    CARD16 pad1 B16;    Window root B32;    INT16 x B16, y B16;    CARD16 width B16, height B16;    CARD16 borderWidth B16;    CARD8 depth;    CARD8 pad2;} xLbxGetWinAttrAndGeomReply;#define sz_xLbxGetWinAttrAndGeomReply 60typedef struct {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxSync */    CARD16	length B16;} xLbxSyncReq;#define sz_xLbxSyncReq	4typedef struct {    BYTE	type;			/* X_Reply */    CARD8	pad0;    CARD16	sequenceNumber B16;    CARD32	length B32;    CARD32	pad1 B32;    CARD32	pad2 B32;    CARD32	pad3 B32;    CARD32	pad4 B32;    CARD32	pad5 B32;    CARD32	pad6 B32;} xLbxSyncReply;#define sz_xLbxSyncReply 32/* an LBX squished charinfo packs the data in a CARD32 as follows */#define	LBX_WIDTH_SHIFT		26#define	LBX_LEFT_SHIFT		20#define	LBX_RIGHT_SHIFT		13#define	LBX_ASCENT_SHIFT	7#define	LBX_DESCENT_SHIFT	0#define	LBX_WIDTH_BITS		6#define	LBX_LEFT_BITS		6#define	LBX_RIGHT_BITS		7#define	LBX_ASCENT_BITS		6#define	LBX_DESCENT_BITS	7#define	LBX_WIDTH_MASK		0xfc000000#define	LBX_LEFT_MASK		0x03f00000#define	LBX_RIGHT_MASK		0x000fe000#define	LBX_ASCENT_MASK		0x00001f80#define	LBX_DESCENT_MASK	0x0000007f#define	LBX_MASK_BITS(val, n)	((unsigned int) ((val) & ((1 << (n)) - 1)))typedef struct {    CARD32	metrics B32;} xLbxCharInfo;/* note that this is identical to xQueryFontReply except for missing  * first 2 words */typedef struct {    xCharInfo minBounds; /* XXX do we need to leave this gunk? */#ifndef WORD64    CARD32 walign1 B32;#endif    xCharInfo maxBounds; #ifndef WORD64    CARD32 walign2 B32;#endif    CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;    CARD16 defaultChar B16;    CARD16 nFontProps B16;  /* followed by this many xFontProp structures */    CARD8 drawDirection;    CARD8 minByte1, maxByte1;    BOOL allCharsExist;    INT16 fontAscent B16, fontDescent B16;    CARD32 nCharInfos B32; /* followed by this many xLbxCharInfo structures */} xLbxFontInfo;typedef struct {    BYTE	type;			/* X_Reply */    CARD8	compression;    CARD16	sequenceNumber B16;    CARD32	length B32;    CARD32	tag B32;    CARD32	pad0 B32;    CARD32	pad1 B32;    CARD32	pad2 B32;    CARD32	pad3 B32;    CARD32	pad4 B32;    /* 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     */} xLbxQueryFontReply;#define sz_xLbxQueryFontReply	32typedef struct _LbxChangeProperty {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxChangeProperty */    CARD16	length B16;    Window	window B32;    Atom	property B32;    Atom	type B32;    CARD8	format;    CARD8	mode;    BYTE	pad[2];    CARD32	nUnits B32;} xLbxChangePropertyReq;#define	sz_xLbxChangePropertyReq	24typedef struct {    BYTE	type;			/* X_Reply */    CARD8	pad;    CARD16	sequenceNumber B16;    CARD32	length B32;    CARD32	tag B32;    CARD32	pad0 B32;    CARD32	pad1 B32;    CARD32	pad2 B32;    CARD32	pad3 B32;    CARD32	pad4 B32;} xLbxChangePropertyReply;#define sz_xLbxChangePropertyReply	32typedef struct _LbxGetProperty {    CARD8	reqType;	/* always LbxReqCode */    CARD8	lbxReqType;	/* always X_LbxGetProperty */    CARD16	length B16;    Window	window B32;    Atom	property B32;    Atom	type B32;    CARD8	delete;    BYTE	pad[3];    CARD32	longOffset B32;    CARD32	longLength B32;} xLbxGetPropertyReq;#define	sz_xLbxGetPropertyReq	28typedef struct {    BYTE	type;			/* X_Reply */    CARD8	format;    CARD16	sequenceNumber B16;    CARD32	length B32;    Atom	propertyType B32;    CARD32	bytesAfter B32;    CARD32	nItems B32;    CARD32	tag B32;    CARD32	pad1 B32;    CARD32	pad2 B32;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -