Subject:
compile nano-x cvs for ecos in NONETWORK mode
From:
"Lecordier, Guy" ####@####.####
Date:
31 Oct 2008 16:36:57 -0000
Message-Id: <427FC27C2ABCC042A7FB4E17D3F893B7FB146F@lauescmx01.ROPERIND.NET>
Hello all,
The previous proposal, to deactivate the mapping table in NONETWORK mode, introduces some complexity in the reading of the sources.
Here below another proposition at the cost of a new file.
The goal is to remap the server functions when the client server mode is used for ecos and of course to disable the mapping table in NONETWORK mode.
So the new proposed modifications are:
To move the mapping table of the serv.h in a separate file (srvmapping.h).
Then to include this file in the server side modules only (srvxxxxx.c) before #include serv.h
And to activate the mapping table when it is ecos and client server mode.
The modification in the server functions will be more readable:
+#include "servmapping.h" //eCos server function mapping for client server mode
#include serv.h
The condition in srvmapping.h will be:
#if defined(__ECOS) && !defined (NONETWORK)
Mapping table
#endif
The _NO_SVR_MAPPING will no longer be used.
In addition the mapping table (srvmapping.h) is updated with some missing functions (put at the end of the table).
[patch]
Index: src/nanox/serv.h
===================================================================
RCS file: /usr/cvs/microwin/src/nanox/serv.h,v
retrieving revision 1.24
diff -u -r1.24 serv.h
--- src/nanox/serv.h 23 Jun 2005 05:00:00 -0000 1.24
+++ src/nanox/serv.h 31 Oct 2008 08:45:37 -0000
@@ -11,124 +11,6 @@
*/
#include "mwsystem.h"
-
-
-#if defined(__ECOS) && !defined(_NO_SVR_MAPPING)
-/*
- * Since eCos is a single task, multi-threaded environment, the
- * server and the client code share the same namespace. This means
- * that server functions which are represented by dispatchers in
- * the client code need to have unique names, thus this remapping.
- */
-#define nxErrorStrings SVR_nxErrorStrings
-#define GrArcAngle SVR_GrArcAngle
-#define GrArc SVR_GrArc
-#define GrArea SVR_GrArea
-#define GrBell SVR_GrBell
-#define GrBitmap SVR_GrBitmap
-#define GrCheckNextEvent SVR_GrCheckNextEvent
-#define GrClearArea SVR_GrClearArea
-#define GrClose SVR_GrClose
-#define GrCloseWindow SVR_GrCloseWindow
-#define GrCopyArea SVR_GrCopyArea
-#define GrCopyGC SVR_GrCopyGC
-#define GrCreateFont SVR_GrCreateFont
-#define GrCreateTimer SVR_GrCreateTimer
-#define GrDelay SVR_GrDelay
-#define GrDestroyCursor SVR_GrDestroyCursor
-#define GrDestroyFont SVR_GrDestroyFont
-#define GrDestroyGC SVR_GrDestroyGC
-#define GrDestroyRegion SVR_GrDestroyRegion
-#define GrDestroyTimer SVR_GrDestroyTimer
-#define GrDestroyWindow SVR_GrDestroyWindow
-#define GrDrawImageBits SVR_GrDrawImageBits
-#define GrDrawImageFromBuffer SVR_GrDrawImageFromBuffer
-#define GrDrawImageFromFile SVR_GrDrawImageFromFile
-#define GrDrawImageToFit SVR_GrDrawImageToFit
-#define GrEllipse SVR_GrEllipse
-#define GrEmptyRegion SVR_GrEmptyRegion
-#define GrEqualRegion SVR_GrEqualRegion
-#define GrFillEllipse SVR_GrFillEllipse
-#define GrFillPoly SVR_GrFillPoly
-#define GrFillRect SVR_GrFillRect
-#define GrFindColor SVR_GrFindColor
-#define GrFreeFontList SVR_GrFreeFontList
-#define GrFreeImage SVR_GrFreeImage
-#define GrGetFocus SVR_GrGetFocus
-#define GrGetFontInfo SVR_GrGetFontInfo
-#define GrGetFontList SVR_GrGetFontList
-#define GrGetGCInfo SVR_GrGetGCInfo
-#define GrGetGCTextSize SVR_GrGetGCTextSize
-#define GrGetImageInfo SVR_GrGetImageInfo
-#define GrGetRegionBox SVR_GrGetRegionBox
-#define GrGetScreenInfo SVR_GrGetScreenInfo
-#define GrGetSelectionOwner SVR_GrGetSelectionOwner
-#define GrGetSysColor SVR_GrGetSysColor
-#define GrGetSystemPalette SVR_GrGetSystemPalette
-#define GrGetWindowInfo SVR_GrGetWindowInfo
-#define GrGetWMProperties SVR_GrGetWMProperties
-#define GrInjectKeyboardEvent SVR_GrInjectKeyboardEvent
-#define GrInjectPointerEvent SVR_GrInjectPointerEvent
-#define GrIntersectRegion SVR_GrIntersectRegion
-#define GrKillWindow SVR_GrKillWindow
-#define GrLine SVR_GrLine
-#define GrLoadImageFromFile SVR_GrLoadImageFromFile
-#define GrLowerWindow SVR_GrLowerWindow
-#define GrMapWindow SVR_GrMapWindow
-#define GrMoveCursor SVR_GrMoveCursor
-#define GrMoveWindow SVR_GrMoveWindow
-#define GrNewCursor SVR_GrNewCursor
-#define GrNewGC SVR_GrNewGC
-#define GrNewInputWindow SVR_GrNewInputWindow
-#define GrNewPixmap SVR_GrNewPixmap
-#define GrNewPolygonRegion SVR_GrNewPolygonRegion
-#define GrNewRegion SVR_GrNewRegion
-#define GrNewWindow SVR_GrNewWindow
-#define GrOffsetRegion SVR_GrOffsetRegion
-#define GrOpen SVR_GrOpen
-#define GrPeekEvent SVR_GrPeekEvent
-#define GrPointInRegion SVR_GrPointInRegion
-#define GrPoints SVR_GrPoints
-#define GrPoint SVR_GrPoint
-#define GrPoly SVR_GrPoly
-#define GrQueryTree SVR_GrQueryTree
-#define GrRaiseWindow SVR_GrRaiseWindow
-#define GrReadArea SVR_GrReadArea
-#define GrRectInRegion SVR_GrRectInRegion
-#define GrRect SVR_GrRect
-#define GrReparentWindow SVR_GrReparentWindow
-#define GrRequestClientData SVR_GrRequestClientData
-#define GrResizeWindow SVR_GrResizeWindow
-#define GrSelectEvents SVR_GrSelectEvents
-#define GrSendClientData SVR_GrSendClientData
-#define GrSetBackgroundPixmap SVR_GrSetBackgroundPixmap
-#define GrSetCursor SVR_GrSetCursor
-#define GrSetFocus SVR_GrSetFocus
-#define GrSetFontAttr SVR_GrSetFontAttr
-#define GrSetFontRotation SVR_GrSetFontRotation
-#define GrSetFontSize SVR_GrSetFontSize
-#define GrSetGCBackground SVR_GrSetGCBackground
-#define GrSetGCClipOrigin SVR_GrSetGCClipOrigin
-#define GrSetGCFont SVR_GrSetGCFont
-#define GrSetGCForeground SVR_GrSetGCForeground
-#define GrSetGCGraphicsExposure SVR_GrSetGCGraphicsExposure
-#define GrSetGCMode SVR_GrSetGCMode
-#define GrSetGCRegion SVR_GrSetGCRegion
-#define GrSetGCUseBackground SVR_GrSetGCUseBackground
-#define GrSetPortraitMode SVR_GrSetPortraitMode
-#define GrSetScreenSaverTimeout SVR_GrSetScreenSaverTimeout
-#define GrSetSelectionOwner SVR_GrSetSelectionOwner
-#define GrSetSystemPalette SVR_GrSetSystemPalette
-#define GrSetWindowCursor SVR_GrSetWindowCursor
-#define GrSetWMProperties SVR_GrSetWMProperties
-#define GrSubtractRegion SVR_GrSubtractRegion
-#define GrText SVR_GrText
-#define GrUnionRectWithRegion SVR_GrUnionRectWithRegion
-#define GrUnionRegion SVR_GrUnionRegion
-#define GrUnmapWindow SVR_GrUnmapWindow
-#define GrXorRegion SVR_GrXorRegion
-#endif
-
#include "nano-X.h"
#include "device.h"
Index: src/nanox/srvclip1.c
===================================================================
RCS file: /usr/cvs/microwin/src/nanox/srvclip1.c,v
retrieving revision 1.2
diff -u -r1.2 srvclip1.c
--- src/nanox/srvclip1.c 23 Jun 2005 05:00:00 -0000 1.2
+++ src/nanox/srvclip1.c 31 Oct 2008 08:45:37 -0000
@@ -4,6 +4,7 @@
*/
#include <stdio.h>
#include <stdlib.h>
+#include "servmapping.h" //eCos server function mapping for client server mode
#include "serv.h"
/*
Index: src/nanox/srvclip2.c
===================================================================
RCS file: /usr/cvs/microwin/src/nanox/srvclip2.c,v
retrieving revision 1.4
diff -u -r1.4 srvclip2.c
--- src/nanox/srvclip2.c 23 Jun 2005 05:00:00 -0000 1.4
+++ src/nanox/srvclip2.c 31 Oct 2008 08:45:37 -0000
@@ -6,6 +6,7 @@
*/
#include <stdio.h>
#include <stdlib.h>
+#include "servmapping.h" //eCos server function mapping for client server mode
#include "serv.h"
/*
Index: src/nanox/srvfunc.c
===================================================================
RCS file: /usr/cvs/microwin/src/nanox/srvfunc.c,v
retrieving revision 1.47
diff -u -r1.47 srvfunc.c
--- src/nanox/srvfunc.c 7 Jan 2008 00:01:31 -0000 1.47
+++ src/nanox/srvfunc.c 31 Oct 2008 08:45:38 -0000
@@ -8,6 +8,7 @@
#include <stdlib.h>
#include <string.h>
#define MWINCLUDECOLORS
+#include "servmapping.h" //eCos server function mapping for client server mode
#include "serv.h"
static int nextid = GR_ROOT_WINDOW_ID + 1;
Index: src/nanox/srvevent.c
===================================================================
RCS file: /usr/cvs/microwin/src/nanox/srvevent.c,v
retrieving revision 1.18
diff -u -r1.18 srvevent.c
--- src/nanox/srvevent.c 24 Jun 2005 00:26:57 -0000 1.18
+++ src/nanox/srvevent.c 31 Oct 2008 08:45:37 -0000
@@ -7,6 +7,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include "servmapping.h" //eCos server function mapping for client server mode
#include "serv.h"
#if HAVE_VNCSERVER && VNCSERVER_PTHREADED
Index: src/nanox/srvmain.c
===================================================================
RCS file: /usr/cvs/microwin/src/nanox/srvmain.c,v
retrieving revision 1.27
diff -u -r1.27 srvmain.c
--- src/nanox/srvmain.c 24 Jun 2005 00:26:57 -0000 1.27
+++ src/nanox/srvmain.c 31 Oct 2008 08:45:39 -0000
@@ -22,6 +22,7 @@
#endif
#define MWINCLUDECOLORS
+#include "servmapping.h" //eCos server function mapping for client server mode
#include "serv.h"
#if UNIX | DOS_DJGPP
#include <unistd.h>
Index: src/nanox/srvnet.c
===================================================================
RCS file: /usr/cvs/microwin/src/nanox/srvnet.c,v
retrieving revision 1.30
diff -u -r1.30 srvnet.c
--- src/nanox/srvnet.c 7 Jan 2008 00:01:31 -0000 1.30
+++ src/nanox/srvnet.c 31 Oct 2008 08:45:39 -0000
@@ -34,6 +34,7 @@
#include <sys/un.h>
#endif
#endif
+#include "servmapping.h" //eCos server function mapping for client server mode
#include "serv.h"
#include "nxproto.h"
Index: src/nanox/srvutil.c
===================================================================
RCS file: /usr/cvs/microwin/src/nanox/srvutil.c,v
retrieving revision 1.18
diff -u -r1.18 srvutil.c
--- src/nanox/srvutil.c 7 Jan 2008 00:01:31 -0000 1.18
+++ src/nanox/srvutil.c 31 Oct 2008 08:45:39 -0000
@@ -12,6 +12,7 @@
#include <fcntl.h>
#endif
+#include "servmapping.h" //eCos server function mapping for client server mode
#include "serv.h"
/*
Index: src/nanox/servmapping.h
===================================================================
RCS file: src/nanox/servmapping.h
diff -N src/nanox/servmapping.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/nanox/servmapping.h 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,149 @@
+#ifndef _SERVMAPPING_H
+#define _SERVMAPPING_H
+/*
+ * Copyright (c) 2000, 2003 Greg Haerr ####@####.####
+ * Portions Copyright (c) 2002 by Koninklijke Philips Electronics N.V.
+ * Copyright (c) 2000 Alex Holden ####@####.####
+ * Copyright (c) 1991 David I. Bell
+ *
+ * Since eCos is a single task, multi-threaded environment, the
+ * server and the client code share the same namespace. This means
+ * that server functions which are represented by dispatchers in
+ * the client code need to have unique names, thus this remapping.
+ */
+
+
+
+#if defined(__ECOS) && !defined(NONETWORK)
+/*
+ * To remap the server functions in the client server mode for eCos
+ */
+#define nxErrorStrings SVR_nxErrorStrings
+#define GrArcAngle SVR_GrArcAngle
+#define GrArc SVR_GrArc
+#define GrArea SVR_GrArea
+#define GrBell SVR_GrBell
+#define GrBitmap SVR_GrBitmap
+#define GrCheckNextEvent SVR_GrCheckNextEvent
+#define GrClearArea SVR_GrClearArea
+#define GrClose SVR_GrClose
+#define GrCloseWindow SVR_GrCloseWindow
+#define GrCopyArea SVR_GrCopyArea
+#define GrCopyGC SVR_GrCopyGC
+#define GrCreateFont SVR_GrCreateFont
+#define GrCreateTimer SVR_GrCreateTimer
+#define GrDelay SVR_GrDelay
+#define GrDestroyCursor SVR_GrDestroyCursor
+#define GrDestroyFont SVR_GrDestroyFont
+#define GrDestroyGC SVR_GrDestroyGC
+#define GrDestroyRegion SVR_GrDestroyRegion
+#define GrDestroyTimer SVR_GrDestroyTimer
+#define GrDestroyWindow SVR_GrDestroyWindow
+#define GrDrawImageBits SVR_GrDrawImageBits
+#define GrDrawImageFromBuffer SVR_GrDrawImageFromBuffer
+#define GrDrawImageFromFile SVR_GrDrawImageFromFile
+#define GrDrawImageToFit SVR_GrDrawImageToFit
+#define GrEllipse SVR_GrEllipse
+#define GrEmptyRegion SVR_GrEmptyRegion
+#define GrEqualRegion SVR_GrEqualRegion
+#define GrFillEllipse SVR_GrFillEllipse
+#define GrFillPoly SVR_GrFillPoly
+#define GrFillRect SVR_GrFillRect
+#define GrFindColor SVR_GrFindColor
+#define GrFreeFontList SVR_GrFreeFontList
+#define GrFreeImage SVR_GrFreeImage
+#define GrGetFocus SVR_GrGetFocus
+#define GrGetFontInfo SVR_GrGetFontInfo
+#define GrGetFontList SVR_GrGetFontList
+#define GrGetGCInfo SVR_GrGetGCInfo
+#define GrGetGCTextSize SVR_GrGetGCTextSize
+#define GrGetImageInfo SVR_GrGetImageInfo
+#define GrGetRegionBox SVR_GrGetRegionBox
+#define GrGetScreenInfo SVR_GrGetScreenInfo
+#define GrGetSelectionOwner SVR_GrGetSelectionOwner
+#define GrGetSysColor SVR_GrGetSysColor
+#define GrGetSystemPalette SVR_GrGetSystemPalette
+#define GrGetWindowInfo SVR_GrGetWindowInfo
+#define GrGetWMProperties SVR_GrGetWMProperties
+#define GrInjectKeyboardEvent SVR_GrInjectKeyboardEvent
+#define GrInjectPointerEvent SVR_GrInjectPointerEvent
+#define GrIntersectRegion SVR_GrIntersectRegion
+#define GrKillWindow SVR_GrKillWindow
+#define GrLine SVR_GrLine
+#define GrLoadImageFromFile SVR_GrLoadImageFromFile
+#define GrLowerWindow SVR_GrLowerWindow
+#define GrMapWindow SVR_GrMapWindow
+#define GrMoveCursor SVR_GrMoveCursor
+#define GrMoveWindow SVR_GrMoveWindow
+#define GrNewCursor SVR_GrNewCursor
+#define GrNewGC SVR_GrNewGC
+#define GrNewInputWindow SVR_GrNewInputWindow
+#define GrNewPixmap SVR_GrNewPixmap
+#define GrNewPolygonRegion SVR_GrNewPolygonRegion
+#define GrNewRegion SVR_GrNewRegion
+#define GrNewWindow SVR_GrNewWindow
+#define GrOffsetRegion SVR_GrOffsetRegion
+#define GrOpen SVR_GrOpen
+#define GrPeekEvent SVR_GrPeekEvent
+#define GrPointInRegion SVR_GrPointInRegion
+#define GrPoints SVR_GrPoints
+#define GrPoint SVR_GrPoint
+#define GrPoly SVR_GrPoly
+#define GrQueryTree SVR_GrQueryTree
+#define GrRaiseWindow SVR_GrRaiseWindow
+#define GrReadArea SVR_GrReadArea
+#define GrRectInRegion SVR_GrRectInRegion
+#define GrRect SVR_GrRect
+#define GrReparentWindow SVR_GrReparentWindow
+#define GrRequestClientData SVR_GrRequestClientData
+#define GrResizeWindow SVR_GrResizeWindow
+#define GrSelectEvents SVR_GrSelectEvents
+#define GrSendClientData SVR_GrSendClientData
+#define GrSetBackgroundPixmap SVR_GrSetBackgroundPixmap
+#define GrSetCursor SVR_GrSetCursor
+#define GrSetFocus SVR_GrSetFocus
+#define GrSetFontAttr SVR_GrSetFontAttr
+#define GrSetFontRotation SVR_GrSetFontRotation
+#define GrSetFontSize SVR_GrSetFontSize
+#define GrSetGCBackground SVR_GrSetGCBackground
+#define GrSetGCClipOrigin SVR_GrSetGCClipOrigin
+#define GrSetGCFont SVR_GrSetGCFont
+#define GrSetGCForeground SVR_GrSetGCForeground
+#define GrSetGCGraphicsExposure SVR_GrSetGCGraphicsExposure
+#define GrSetGCMode SVR_GrSetGCMode
+#define GrSetGCRegion SVR_GrSetGCRegion
+#define GrSetGCUseBackground SVR_GrSetGCUseBackground
+#define GrSetPortraitMode SVR_GrSetPortraitMode
+#define GrSetScreenSaverTimeout SVR_GrSetScreenSaverTimeout
+#define GrSetSelectionOwner SVR_GrSetSelectionOwner
+#define GrSetSystemPalette SVR_GrSetSystemPalette
+#define GrSetWindowCursor SVR_GrSetWindowCursor
+#define GrSetWMProperties SVR_GrSetWMProperties
+#define GrSubtractRegion SVR_GrSubtractRegion
+#define GrText SVR_GrText
+#define GrUnionRectWithRegion SVR_GrUnionRectWithRegion
+#define GrUnionRegion SVR_GrUnionRegion
+#define GrUnmapWindow SVR_GrUnmapWindow
+#define GrXorRegion SVR_GrXorRegion
+
+#define GrSetGCForegroundPixelVal SVR_GrSetGCForegroundPixelVal
+#define GrSetGCBackgroundPixelVal SVR_GrSetGCBackgroundPixelVal
+#define GrSetGCLineAttributes SVR_GrSetGCLineAttributes
+#define GrSetGCDash SVR_GrSetGCDash
+#define GrSetGCFillMode SVR_GrSetGCFillMode
+#define GrSetGCStipple SVR_GrSetGCStipple
+#define GrSetGCTile SVR_GrSetGCTile
+#define GrSetGCTSOffset SVR_GrSetGCTSOffset
+#define GrLoadImageFromBuffer SVR_GrLoadImageFromBuffer
+#define GrStretchArea SVR_GrStretchArea
+#define GrQueryPointer SVR_GrQueryPointer
+#define GrSetWindowRegion SVR_GrSetWindowRegion
+#define GrSetTransform SVR_GrSetTransform
+#define GrGrabKey SVR_GrGrabKey
+#define GrUngrabKey SVR_GrUngrabKey
+#define GrNewBitmapRegion SVR_GrNewBitmapRegion
+#define GrDrawImagePartToFit SVR_GrDrawImagePartToFit
+
+#endif
+
+#endif /* _SERVMAPPING_H*/
Any comments?
Regards,
Guy