All pastes #447965 Raw Edit

Miscellany

public c v1 · immutable
·published 2007-04-19 12:16 UTC
rendered paste body
diff -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;