rendered paste bodydiff -Naur common.orig/nxcomp/NXproto.h common/nxcomp/NXproto.h--- common.orig/nxcomp/NXproto.h 2007-04-19 13:14:16.000000000 +0200+++ common/nxcomp/NXproto.h 2007-04-19 13:14:40.000000000 +0200@@ -26,6 +26,30 @@ #include <X11/Xmd.h> #include <X11/Xproto.h> +/*+ Copied from Xproto.h+ */++/* For the purpose of the structure definitions in this file,+we must redefine the following types in terms of Xmd.h's types, which may+include bit fields. All of these are #undef'd at the end of this file,+restoring the definitions in X.h. */++#define Window CARD32+#define Drawable CARD32+#define Font CARD32+#define Pixmap CARD32+#define Cursor CARD32+#define Colormap CARD32+#define GContext CARD32+#define Atom CARD32+#define VisualID CARD32+#define Time CARD32+#define KeyCode CARD8+#define KeySym CARD32++/* End copied from Xproto.h */+ #define sz_xNXGetControlParametersReq 4 #define sz_xNXGetCleanupParametersReq 4 #define sz_xNXGetImageParametersReq 4@@ -282,9 +306,9 @@ CARD8 dstDepth; CARD32 srcLength B32; CARD32 dstLength B32;- INT16 srcX B16, srcY B16;+ CARD16 srcX B16, srcY B16; CARD16 srcWidth B16, srcHeight B16;- INT16 dstX B16, dstY B16;+ CARD16 dstX B16, dstY B16; CARD16 dstWidth B16, dstHeight B16; } xNXPutPackedImageReq; @@ -379,4 +403,20 @@ } #endif +/* Copied from Xproto.h */++/* restore these definitions back to the typedefs in X.h */+#undef Window+#undef Drawable+#undef Font+#undef Pixmap+#undef Cursor+#undef Colormap+#undef GContext+#undef Atom+#undef VisualID+#undef Time+#undef KeyCode+#undef KeySym+ #endif /* NXproto_H */diff -Naur common.orig/nxcomp/NXproto.h.orig common/nxcomp/NXproto.h.orig--- common.orig/nxcomp/NXproto.h.orig 1970-01-01 01:00:00.000000000 +0100+++ common/nxcomp/NXproto.h.orig 2006-08-31 19:10:09.000000000 +0200@@ -0,0 +1,382 @@+/***************************************************************************/+/* */+/* Copyright (c) 2005, 2006 2X Software Ltd, http://www.2X.com., NoMachine */+/* */+/* NXPROXY, NX protocol compression and NX extensions to this software */+/* are copyright of Nomachine. Redistribution and use of the present */+/* software is allowed according to terms specified in the file LICENSE */+/* which comes in the source distribution. */+/* */+/* NX and NoMachine are trademarks of Medialogic S.p.A. */+/* */+/* 2X is a trademark of 2X Software Ltd. */+/* */+/* All rights reserved. */+/* */+/***************************************************************************/++#ifndef NXproto_H+#define NXproto_H++#ifdef __cplusplus+extern "C" {+#endif++#include <X11/X.h>+#include <X11/Xmd.h>+#include <X11/Xproto.h>++#define sz_xNXGetControlParametersReq 4+#define sz_xNXGetCleanupParametersReq 4+#define sz_xNXGetImageParametersReq 4+#define sz_xNXGetUnpackParametersReq 8+#define sz_xNXGetShmemParametersReq 16+#define sz_xNXSetExposeEventsReq 8+#define sz_xNXStartSplitReq 8+#define sz_xNXEndSplitReq 4+#define sz_xNXCommitSplitReq 12+#define sz_xNXSetUnpackGeometryReq 24+#define sz_xNXSetUnpackColormapReq 8+#define sz_xNXSetUnpackAlphaReq 8+#define sz_xNXPutPackedImageReq 40+#define sz_xNXFreeUnpackReq 4++#define sz_xGetControlParametersReply 32+#define sz_xGetCleanupParametersReply 32+#define sz_xGetImageParametersReply 32+#define sz_xGetUnpackParametersReply 32+#define sz_xGetShmemParametersReply 32++#define LINK_TYPE_LIMIT 5++#define LINK_TYPE_NONE 0+#define LINK_TYPE_MODEM 1+#define LINK_TYPE_ISDN 2+#define LINK_TYPE_ADSL 3+#define LINK_TYPE_WAN 4+#define LINK_TYPE_LAN 5++/*+ * NX Replies.+ */++/*+ * The following reply has 4 new boolean+ * fields in the last protocol version.+ */++typedef struct _NXGetControlParametersReply {+ BYTE type; /* Is X_Reply. */+ BYTE pad;+ CARD16 sequenceNumber B16;+ CARD32 length B32; /* Is 0. */+ CARD8 linkType;+ CARD8 protocolMajor;+ CARD8 protocolMinor;+ CARD8 protocolPatch;+ CARD32 karmaSize B32;+ CARD32 splitSize B32;+ CARD8 packMethod;+ CARD8 packQuality;+ CARD8 dataLevel;+ CARD8 streamLevel;+ CARD8 deltaLevel;+ CARD8 loadCache;+ CARD8 saveCache;+ CARD8 startupCache;+ CARD32 pad1 B32;+} xNXGetControlParametersReply;++typedef struct _NXGetCleanupParametersReply {+ BYTE type; /* Is X_Reply. */+ BYTE pad;+ CARD16 sequenceNumber B16;+ CARD32 length B32; /* Is 0. */+ BOOL cleanGet;+ BOOL cleanAlloc;+ BOOL cleanFlush;+ BOOL cleanSend;+ BOOL cleanImages;+ BYTE pad1, pad2, pad3;+ CARD32 pad4 B32;+ CARD32 pad5 B32;+ CARD32 pad6 B32;+ CARD32 pad7 B32;+} xNXGetCleanupParametersReply;++typedef struct _NXGetImageParametersReply {+ BYTE type; /* Is X_Reply. */+ BYTE pad;+ CARD16 sequenceNumber B16;+ CARD32 length B32; /* Is 0. */+ BOOL imageSplit;+ BOOL imageMask;+ BOOL imageFrame;+ CARD8 imageMaskMethod;+ CARD8 imageSplitMethod;+ BYTE pad1, pad2, pad3;+ CARD32 pad4 B32;+ CARD32 pad5 B32;+ CARD32 pad6 B32;+ CARD32 pad7 B32;+} xNXGetImageParametersReply;++/*+ * Data is made of PACK_METHOD_LIMIT values of+ * type BOOL telling which unpack capabilities+ * are implemented in proxy.+ */++typedef struct _NXGetUnpackParametersReply {+ BYTE type; /* Is X_Reply. */+ BYTE pad;+ CARD16 sequenceNumber B16;+ CARD32 length B32; /* Is PACK_METHOD_LIMIT / 4 from NXpack.h. */+ CARD8 entries; /* Is PACK_METHOD_LIMIT. */+ BYTE pad1, pad2, pad3;+ CARD32 pad4 B32;+ CARD32 pad5 B32;+ CARD32 pad6 B32;+ CARD32 pad7 B32;+ CARD32 pad8 B32;+} xNXGetUnpackParametersReply;++typedef struct _NXGetShmemParametersReply {+ BYTE type; /* Is X_Reply. */+ CARD8 stage; /* As in the corresponding request. */+ CARD16 sequenceNumber B16;+ CARD32 length B32; /* Is 0. */+ BOOL clientEnabled; /* SHM on path agent to proxy. */+ BOOL serverEnabled; /* SHM on path proxy to X server. */+ BYTE pad1, pad2; /* Previous values can be checked */+ CARD32 pad3 B32; /* at end of stage 2. */+ CARD32 pad4 B32;+ CARD32 pad5 B32;+ CARD32 pad6 B32;+ CARD32 pad7 B32;+} xNXGetShmemParametersReply;++/*+ * NX Requests.+ */++typedef struct _NXGetControlParametersReq {+ CARD8 reqType;+ BYTE pad;+ CARD16 length B16;+} xNXGetControlParametersReq;++typedef struct _NXGetCleanupParametersReq {+ CARD8 reqType;+ BYTE pad;+ CARD16 length B16;+} xNXGetCleanupParametersReq;++typedef struct _NXGetImageParametersReq {+ CARD8 reqType;+ BYTE pad;+ CARD16 length B16;+} xNXGetImageParametersReq;++typedef struct _NXGetUnpackParametersReq {+ CARD8 reqType;+ BYTE pad;+ CARD16 length B16;+ CARD8 entries;+ BYTE pad1, pad2, pad3;+} xNXGetUnpackParametersReq;++typedef struct _NXGetShmemParametersReq {+ CARD8 reqType;+ CARD8 stage; /* Is between 0 and 2. */+ CARD16 length B16;+ BOOL enableClient; /* X client side support is */+ BOOL enableServer; /* not implemented yet. */+ BYTE pad1, pad2;+ CARD32 clientSegment; /* XID identifying the shared */+ CARD32 serverSegment; /* memory segments. */+} xNXGetShmemParametersReq;++/*+ * The available split modes.+ */++#define NXSplitModeDefault 0+#define NXSplitModeEager 1+#define NXSplitModeLazy 2+#define NXSplitModeSync 3++typedef struct _NXStartSplitReq {+ CARD8 reqType;+ CARD8 resource;+ CARD16 length B16;+ CARD8 mode;+ BYTE pad1, pad2, pad3;+} xNXStartSplitReq;++typedef struct _NXEndSplitReq {+ CARD8 reqType;+ CARD8 resource;+ CARD16 length B16;+} xNXEndSplitReq;++typedef struct _NXCommitSplitReq {+ CARD8 reqType;+ CARD8 resource;+ CARD16 length B16;+ CARD8 propagate;+ CARD8 request;+ BYTE pad1, pad2;+ CARD32 position B32;+} xNXCommitSplitReq;++typedef struct _NXSetExposeEventsReq {+ CARD8 reqType;+ BYTE pad;+ CARD16 length B16;+ BOOL expose;+ BOOL graphicsExpose;+ BOOL noExpose;+ BYTE pad1;+} xNXSetExposeEventsReq;++typedef struct _NXSetUnpackGeometryReq {+ CARD8 reqType;+ CARD8 resource;+ CARD16 length B16;+ CARD8 depth1Bpp;+ CARD8 depth4Bpp;+ CARD8 depth8Bpp;+ CARD8 depth16Bpp;+ CARD8 depth24Bpp;+ CARD8 depth32Bpp;+ BYTE pad1, pad2;+ CARD32 redMask B32;+ CARD32 greenMask B32;+ CARD32 blueMask B32;+} xNXSetUnpackGeometryReq;++typedef struct _NXSetUnpackColormapReq {+ CARD8 reqType;+ CARD8 resource;+ CARD16 length B16;+ CARD32 entries B32;+} xNXSetUnpackColormapReq;++typedef struct _NXSetUnpackAlphaReq {+ CARD8 reqType;+ CARD8 resource;+ CARD16 length B16;+ CARD32 entries B32;+} xNXSetUnpackAlphaReq;++typedef struct _NXPutPackedImageReq {+ CARD8 reqType;+ CARD8 resource;+ CARD16 length B16;+ Drawable drawable B32;+ GContext gc B32;+ CARD8 method;+ CARD8 format;+ CARD8 srcDepth;+ CARD8 dstDepth;+ CARD32 srcLength B32;+ CARD32 dstLength B32;+ INT16 srcX B16, srcY B16;+ CARD16 srcWidth B16, srcHeight B16;+ INT16 dstX B16, dstY B16;+ CARD16 dstWidth B16, dstHeight B16;+} xNXPutPackedImageReq;++typedef struct _NXFreeUnpackReq {+ CARD8 reqType;+ CARD8 resource;+ CARD16 length B16;+} xNXFreeUnpackReq;++/*+ * The X_NXSplit and X_NXAbortSplit opcodes are+ * presently used internally and should not be+ * originated by the proxy clients.+ */++#define X_NXInternalGenericData 0+#define X_NXInternalGenericReply 1+#define X_NXInternalGenericRequest 255++#define X_NXInternalShapeExtension 128+#define X_NXInternalRenderExtension 129++#define X_NXFirstOpcode 230+#define X_NXLastOpcode 247++#define X_NXGetControlParameters 230+#define X_NXGetCleanupParameters 231+#define X_NXGetImageParameters 232+#define X_NXGetUnpackParameters 233+#define X_NXStartSplit 234+#define X_NXEndSplit 235+#define X_NXSplit 236+#define X_NXCommitSplit 237+#define X_NXSetExposeEvents 240+#define X_NXSetUnpackGeometry 241+#define X_NXSetUnpackColormap 242+#define X_NXPutPackedImage 243+#define X_NXAbortSplit 244+#define X_NXGetShmemParameters 245+#define X_NXSetUnpackAlpha 246+#define X_NXFreeUnpack 247++/*+ * The following events are received by the agent+ * in the form of a ClientMessage with the value+ * 0 in fields atom and window. The format is+ * always 32. Event specific data starts at byte+ * offset 12.+ *+ * These events are sent by the NX transport to+ * notify the agent about the result of a split+ * operation.+ */++#define NXNoSplitNotify 1+#define NXStartSplitNotify 2+#define NXCommitSplitNotify 3+#define NXEndSplitNotify 4+#define NXEmptySplitNotify 5++/*+ * Sent to application by transport at the begin-+ * ning and at the end of a proxy reset. This+ * usually implies a new connection between the+ * proxies.+ */++#define NXResetNotify 6++/*+ * Sent to application by transport when a conges-+ * tion is detected on the proxy link. In general,+ * the applications should stop writing data to+ * transport until the condition is ceased.+ */++#define NXCongestionNotify 7++/*+ * Other values used for notifications of collect+ * events. These evente don't come from the NX+ * transport but are put back in client's event+ * queue by NXlib.+ */++#define NXCollectImageNotify 8+#define NXCollectPropertyNotify 9+#define NXCollectGrabPointerNotify 10+#define NXCollectInputFocusNotify 11++#ifdef __cplusplus+}+#endif++#endif /* NXproto_H */diff -Naur common.orig/nx-X11/programs/Xserver/hw/nxagent/GetTime.c common/nx-X11/programs/Xserver/hw/nxagent/GetTime.c--- common.orig/nx-X11/programs/Xserver/hw/nxagent/GetTime.c 2007-04-19 13:14:15.000000000 +0200+++ common/nx-X11/programs/Xserver/hw/nxagent/GetTime.c 2007-04-19 13:16:29.000000000 +0200@@ -48,7 +48,7 @@ #include "Xos.h" #include <time.h> -long+CARD32 GetTimeInMillis() { struct timeval tp;