[Xprint] Re: Newer version of the combined video+print serverfrom?

Roland Mainz roland.mainz at nrubsig.org
Fri Mar 11 17:12:49 EST 2005


Roland Mainz wrote:
> Julien Lafon wrote:
> > > > > Roland - had you time to continue your work on the combined
> > > > > ('unified') video+print server patch yet?
> > > >
> > > > Unfortunately no (except the integration of the fixes you send me) ...
> > > > almost every minute of my spare free time was consumed by my duties as
> > > > release manager of the X11R6.8.2 release (and then I was at the
> > > > XDevconf+LinuxWorld in Boston) ...
> > >
> > > Attached is a new version of the patch for testing. It deals with most
> > > of the problems of the previous version except that there is no switch
> > > to define a server mode yet (e.g. "video", "print", "unified").
> >  ===================================================================
> > > RCS file: /cvs/xorg/xc/config/cf/Imake.rules,v
> > > retrieving revision 1.8
> > > diff -u -2 -0 -r1.8 Imake.rules
> > > --- xc/config/cf/Imake.rules    1 Feb 2005 22:27:00 -0000       1.8
> > > +++ xc/config/cf/Imake.rules    5 Mar 2005 20:12:50 -0000
> > > @@ -3529,40 +3529,66 @@
> > The patch does not apply to XOrg head. Am I doing something wrong here?
> 
> Uhm... uhm... that's likely my fault as I have dismanteled the patch and
> already commited smaller chunks of it to Xorg trunk (like
> https://bugs.freedesktop.org/show_bug.cgi?id=2653) ... either wait until
> I have a new patch or pull-by date (e.g. % cvs -z9 checkout -D "Fri Mar
> 4 23:38:24 MET 2005" xc # should pull a version of the tree where the
> patch applies correctly...) ...

Attached is the next cycle of the patch. As usual you have to compile it
with
- #define PrintOnlyServer NO
to enable the "unified" (video+print) display
  and
- #define DoLoadableServer NO
as the Xprint DDXs are no loadable modules yet and have some dependicies
(mainly the Postscript DDX which hooks deeply into the Freetype2 font
module)

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) roland.mainz at nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 7950090
 (;O/ \/ \O;)
-------------- next part --------------
Index: xc/programs/Xserver/Imakefile
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/Imakefile,v
retrieving revision 1.29
diff -u -2 -0 -r1.29 Imakefile
--- xc/programs/Xserver/Imakefile	5 Mar 2005 21:38:29 -0000	1.29
+++ xc/programs/Xserver/Imakefile	11 Mar 2005 15:52:15 -0000
@@ -821,48 +821,44 @@
 SetUIDServerTarget(Xorg,$(XF86SERVERSUBDIRS),$(XF86SERVEROBJS) $(SERVERDEFFILE), \
 	$(XF86SERVERLIBS),$(XF86SERVERSYSLIBS))
 #if DoLoadableServer
 ServerDriverSDKTarget(Xorg)
 #endif
 #ifndef ServerToInstall
 #define ServerToInstall Xorg
 #endif
 #endif        /* XorgServer */
 
 #if defined(XprtServer) && XprtServer
 XCOMM
 XCOMM Print Server
 XCOMM
 MFBSUBDIR  = mfb
 CFB8SUBDIR = cfb
 CFB32SUBDIR = cfb32
 MIDAMAGEDIR = miext/damage
 XPSUBDIRS = $(STDDIRS) $(MFBDIR) $(CFB8DIR) $(CFB32DIR) $(DEPDIRS) \
 	    $(MIDAMAGEDIR)
+XPOBJS = Xprint/ddxInit.o Xprint/dpmsstubs.o Xprint/miinitext.o
 #if PrintOnlyServer
-#if BuildDPMS
-XPDPMSSTUBOBJS = Xprint/dpmsstubs.o
-#endif
-XPOBJS = Xprint/ddxInit.o Xprint/miinitext.o $(XPDPMSSTUBOBJS)
 XPLIBS = PreFbLibs $(XPDDXLIBS) $(XPDDXFBLIBS) PostFbLibs
 #else
-XPOBJS = Xprint/ddxInit.o
 XPLIBS = PreFbLibs PostFbLibs
 #endif
 #if (defined(SunArchitecture) || defined(SparcArchitecture)) && \
     defined(SVR4Architecture)
 XPSYSLIBS = $(FONTLIBS) $(CBRT) $(SYSLIBS) -lw
 #else
 XPSYSLIBS = $(FONTLIBS) $(CBRT) $(SYSLIBS)
 #endif
 #if HasParallelMake
 MakeMutex($(XPSUBDIRS) $(XPOBJS) $(XPLIBS) $(XPSYSLIBS))
 #endif
 #if ForceServerRemake
 $(XPOBJS) $(XPLIBS) $(XPSYSLIBS):: $(XPSUBDIRS)
 	@if [ -f $@ ]; then touch $@ >/dev/null 2>&1 || exit 0; fi
 #endif
 ServerTarget(Xprt,$(XPSUBDIRS),$(XPOBJS), \
 	$(LIBCWRAPPER) $(XPLIBS) $(LOADABLEEXTS),$(XPSYSLIBS))
 #endif	/* XprtServer */
 
 #if defined(XnestServer) && XnestServer
Index: xc/programs/Xserver/Xprint/Imakefile
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/Xprint/Imakefile,v
retrieving revision 1.5
diff -u -2 -0 -r1.5 Imakefile
--- xc/programs/Xserver/Xprint/Imakefile	26 Nov 2004 09:00:08 -0000	1.5
+++ xc/programs/Xserver/Xprint/Imakefile	11 Mar 2005 15:52:15 -0000
@@ -13,52 +13,53 @@
 #ifndef XpPostScriptDDX
 #define XpPostScriptDDX YES
 #endif
 
 SRCS1 =	Init.c Quarks.c spooler.c attributes.c Util.c mediaSizes.c \
 	Oid.c AttrValid.c
 
 OBJS1 = Init.o Quarks.o spooler.o attributes.o Util.o mediaSizes.o \
 	Oid.o AttrValid.o
 
 #ifdef OS2Architecture
 SRCS_OS2 = os2_stubs.c
 OBJS_OS2 = os2_stubs.o
 #endif
 
 #if XprtServer
 #if PrintOnlyServer || defined(PrintServerExtensions)
 #if PrintOnlyServer
 PO_DEFINES = -DPRINT_ONLY_SERVER
 #endif
+#endif
 #ifdef PrintServerExtensions
 XPEXT_DEFINES = PrintServerExtensions
 #else
 XPEXT_DEFINES = $(EXT_DEFINES)
 #endif
-SRCS3 = miinitext.c dpmsstubs.c
-OBJS3 = miinitext.o dpmsstubs.o
-#endif
 SRCS2 = ddxInit.c
 OBJS2 = ddxInit.o
 #endif
 
+SRCS3 = miinitext.c dpmsstubs.c
+OBJS3 = miinitext.o dpmsstubs.o
+
 SRCS = $(SRCS1) $(SRCS2) $(SRCS3) $(SRCS_OS2)
 
 OBJS = $(OBJS1) $(OBJS_OS2)
 
 #if XpRasterDDX
 RASTDIR = raster
 RASTDEF = -DXPRASTERDDX
 #endif
 #if XpColorPclDDX
 PCLDIR = pcl
 PCLDEF = -DXPPCLDDX
 #endif
 #if XpMonoPclDDX
 MPCLDIR = pcl-mono
 MPCLDEF = -DXPMONOPCLDDX
 #endif
 #if XpPostScriptDDX
 PSDIR = ps
 PSDEF = -DXPPSDDX
 #endif
@@ -79,56 +80,54 @@
              -I$(EXTINCSRC) -I$(FONTINCSRC) -I$(XLIBSRC)
 
 
    LINTLIBS = $(TOP)/server/dix/llib-ldix.ln $(TOP)/server/os/llib-los.ln \
 	      $(TOP)/server/ddx/mfb/llib-lmfb.ln \
 	      $(TOP)/server/ddx/mi/llib-lmi.ln \
 	      $(TOP)/server/ddx/cfb/llib-lcfb.ln
 
 DEFINES = -DXPRINTDIR=\"$(XPRINTDIR)\" $(RASTDEF) $(PCLDEF) $(MPCLDEF) \
          $(PSDEF) $(MKTMP_DEFINES) -UXFree86LOADER -D_XP_PRINT_SERVER_
 
 /* Go ahead:  Call me paranoid ... */
 Makefiles::
 	RemoveFiles(Quark.c Xlcint.h Xresource.h Xrm.c XrmI.h)
 
 LinkSourceFile(Quarks.c,$(XLIBSRC))
 
 NormalLibraryObjectRule()
 
 #if XprtServer
-all:: $(OBJS2) $(OBJS3) $(OBJS_OS2)
+all:: $(OBJS2) $(OBJS_OS2) $(OBJS3)
 #endif
 
 NormalLibraryTarget(printer,$(OBJS))
 NormalLintTarget($(SRCS))
 
 SpecialCObjectRule(ddxInit,$(ICONFIGFILES),$(PO_DEFINES) $(OS_DEFINES) $(EXT_DEFINES))
-#if XprtServer && (PrintOnlyServer || defined(PrintServerExtensions))
+#if XprtServer
 LinkSourceFile(miinitext.c,$(SERVERSRC)/mi)
-SpecialCObjectRule(miinitext,$(ICONFIGFILES),$(PO_DEFINES) $(OS_DEFINES) $(XPEXT_DEFINES) -DXPRINT)
-#if PrintOnlyServer
+SpecialCObjectRule(miinitext,$(ICONFIGFILES), -DPRINT_ONLY_SERVER $(OS_DEFINES) $(XPEXT_DEFINES) -DXPRINT)
 LinkSourceFile(dpmsstubs.c,$(SERVERSRC)/Xext)
 LinkSourceFile(dpmsproc.h,$(SERVERSRC)/Xext)
 SpecialCObjectRule(dpmsstubs,$(ICONFIGFILES),$(PO_DEFINES) $(OS_DEFINES) $(XPEXT_DEFINES) -DXPRINT)
 #endif
-#endif
 
 #ifdef OS2Architecture
 LinkSourceFile(os2_stubs.c,../hw/xfree86/os-support/os2)
 SpecialCObjectRule(os2_stubs,$(ICONFIGFILES),-DOS2NULLSELECT)
 #endif
 
 #ifdef IHaveSubdirs
 MakeSubdirs($(SUBDIRS))
 DependSubdirs($(SUBDIRS))
 MakeLintLibSubdirs($(SUBDIRS))
 #endif
 
 DependTarget()
 
 InstallManPage(Xprt,$(MANDIR))
 
 #ifdef HasDocBookTools
 all:: Xprt.man Xprt.html
 
 ConvertDocBookToManPage(Xprt.sgml, Xprt.man)
Index: xc/programs/Xserver/Xprint/Init.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/Xprint/Init.c,v
retrieving revision 1.9
diff -u -2 -0 -r1.9 Init.c
--- xc/programs/Xserver/Xprint/Init.c	4 Dec 2004 00:42:50 -0000	1.9
+++ xc/programs/Xserver/Xprint/Init.c	11 Mar 2005 15:52:17 -0000
@@ -285,40 +285,52 @@
 static int printScreenPrivIndex,
 	   printWindowPrivIndex,
 	   printGCPrivIndex;
 static unsigned long printGeneration = 0;
 static char *configFileName = (char *)NULL;
 static Bool freeDefaultFontPath = FALSE;
 static char *origFontPath = (char *)NULL;
 
 static Bool xprintInitGlobalsCalled = FALSE;
 /*
  * This function is responsible for doing initalisation of any global
  * variables at an very early point of server startup (even before
  * |ProcessCommandLine()|. 
  */
 void XprintInitGlobals(void)
 {
     extern char dispatchExceptionAtReset; /* defined in Xserver/dix/dispatch.c */
 
     xprintInitGlobalsCalled = TRUE;
 
+#ifdef DAMAGE
+    /* Disable DAMAGE extension for now as it does not work with
+     * the Postscript DDX yet (see
+     * https://bugs.freedesktop.org/show_bug.cgi?id=1660) ...
+     * (you can enable the DAMAGE extension explicitly via
+     * % X +extension DAMAGE ... #) ;-( */
+    {
+      extern Bool noDamageExtension;
+      noDamageExtension = TRUE;
+    }
+#endif /* DAMAGE */
+
 #ifdef SMART_SCHEDULE
     /* Somehow the XF86 "smart scheduler" completely kills the Xprint DDX 
      * (see http://xprint.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=467
      * ("Xfree86's "smart scheduler" breaks Xprt") */
     SmartScheduleDisable = TRUE;
 #endif /* SMART_SCHEDULE */
 
     /* Disable internal screensaver for Xprint (workaround for
      * http://pdx.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=567 ("Xorg
      * Xprt starts to consume 100% CPU when being idle for some time")) */
     defaultScreenSaverTime = 0;
     
     /* Ensure that the maximum request size for the BIGREQUESTS extension
      * is at least 8MB (see 
      * http://xprint.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=622 - "RFE:
      * Xprt's default BIGREQUESTS extension buffer size should be 8MB")
      */
     maxBigRequestSize = (8*1048576)-1;
     
     /* Xprt should not reset by default when the last client exists
Index: xc/programs/Xserver/Xprint/ddxInit.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/Xprint/ddxInit.c,v
retrieving revision 1.4
diff -u -2 -0 -r1.4 ddxInit.c
--- xc/programs/Xserver/Xprint/ddxInit.c	27 Jul 2004 20:26:47 -0000	1.4
+++ xc/programs/Xserver/Xprint/ddxInit.c	11 Mar 2005 15:52:18 -0000
@@ -64,43 +64,40 @@
  *
  *-----------------------------------------------------------------------
  */
 
 void 
 InitOutput(
     ScreenInfo   *pScreenInfo,
     int          argc,
     char         **argv)
 
 {
     int i;
 
     pScreenInfo->imageByteOrder = IMAGE_BYTE_ORDER;
     pScreenInfo->bitmapScanlineUnit = BITMAP_SCANLINE_UNIT;
     pScreenInfo->bitmapScanlinePad = BITMAP_SCANLINE_PAD;
     pScreenInfo->bitmapBitOrder = BITMAP_BIT_ORDER;
 
     pScreenInfo->numPixmapFormats = 0; /* get them in PrinterInitOutput */
     screenInfo.numVideoScreens = 0;
-#ifdef PRINT_ONLY_SERVER
-    PrinterInitOutput(pScreenInfo, argc, argv);
-#endif
 }
 
 static void
 BellProc(
     int volume,
     DeviceIntPtr pDev)
 {
     return;
 }
 
 static void
 KeyControlProc(
     DeviceIntPtr pDev,
     KeybdCtrl *ctrl)
 {
     return;
 }
 
 static KeySym printKeyMap[256];
 static CARD8 printModMap[256];
@@ -248,66 +245,57 @@
     X_GETTIMEOFDAY(&tp);
     return(tp.tv_sec * 1000) + (tp.tv_usec / 1000);
 }
 #endif
 
 /* ddxInitGlobals - called by |InitGlobals| from os/util.c */
 void ddxInitGlobals(void)
 {
     XprintInitGlobals();
 }
 
 /****************************************
 * ddxUseMsg()
 *
 * Called my usemsg from os/utils/c
 *
 *****************************************/
 
 void ddxUseMsg(void)
 {
-/* Enable |XprintUseMsg()| only if |XprintOptions()| is called
- * by |ddxProcessArgument|, too (see below...) */
-#ifdef PRINT_ONLY_SERVER
-    XprintUseMsg();
-#endif /* PRINT_ONLY_SERVER */
 }
 
 void AbortDDX (void)
 {
 }
 
 void ddxGiveUp(void)	/* Called by GiveUp() */
 {
 }
 
 int
 ddxProcessArgument (
     int argc,
     char *argv[],
     int i)
 {
-#ifdef PRINT_ONLY_SERVER
-    return XprintOptions(argc, argv, i) - i;
-#else
     return(0);
-#endif
 }
 
 #ifdef XINPUT
 
 #include "XI.h"
 #include "XIproto.h"
 #include "XIstubs.h"
 
 extern  int     BadDevice;
 
 int
 ChangePointerDevice (
     DeviceIntPtr       old_dev,
     DeviceIntPtr       new_dev,
     unsigned char      x,
     unsigned char      y)
 {
         return (BadDevice);
 }
 
Index: xc/programs/Xserver/dix/Imakefile
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/dix/Imakefile,v
retrieving revision 1.4
diff -u -2 -0 -r1.4 Imakefile
--- xc/programs/Xserver/dix/Imakefile	30 Oct 2004 01:41:45 -0000	1.4
+++ xc/programs/Xserver/dix/Imakefile	11 Mar 2005 15:52:19 -0000
@@ -10,41 +10,41 @@
 #if PrintOnlyServer
 XPSRC = xpstubs.c
 XPOBJ = xpstubs.o
 #endif
 
 #if !HasFfs
 FFS_SRC = ffs.c
 FFS_OBJ = ffs.o
 #endif
 
 SRCS = atom.c colormap.c cursor.c devices.c dispatch.c dixutils.c events.c \
 	extension.c gc.c globals.c glyphcurs.c grabs.c \
 	main.c property.c resource.c swaprep.c swapreq.c \
 	tables.c window.c initatoms.c dixfonts.c privates.c pixmap.c $(FFS_SRC)
 OBJS = atom.o colormap.o cursor.o devices.o dispatch.o dixutils.o events.o \
 	extension.o gc.o globals.o glyphcurs.o grabs.o \
 	main.o property.o resource.o swaprep.o swapreq.o \
 	tables.o window.o initatoms.o dixfonts.o privates.o pixmap.o $(FFS_OBJ)
 
     INCLUDES = -I../include -I$(XINCLUDESRC) -I$(FONTINCSRC) -I$(EXTINCSRC) \
-	       -I$(SERVERSRC)/Xext -I$(SERVERSRC)/lbx
+	       -I$(SERVERSRC)/Xext -I$(SERVERSRC)/lbx -I../Xprint
     LINTLIBS = ../os/llib-los.ln
 
 /*
  * The following configuration parameters may be set in the appropriate
  * .macros files or site.def in the directory util/imake.includes/:
  *
  *     DefaultFontPath                COMPILEDDEFAULTFONTPATH
  *     DefaultRGBDatabase             RGB_DB
  *
  * The sample util/imake.includes/Imake.tmpl will provide generic defaults.
  * The values in site.h are simply a last line of defense and should not be
  * changed.
  */
 
 #ifdef DefaultFontPath
 DEFAULTFONTPATH = DefaultFontPath
 SITE_FONT_PATH = -DCOMPILEDDEFAULTFONTPATH=\"$(DEFAULTFONTPATH)\"
 #endif
 
 #ifdef DefaultRGBDatabase
Index: xc/programs/Xserver/dix/main.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/dix/main.c,v
retrieving revision 1.5
diff -u -2 -0 -r1.5 main.c
--- xc/programs/Xserver/dix/main.c	7 Mar 2005 23:02:58 -0000	1.5
+++ xc/programs/Xserver/dix/main.c	11 Mar 2005 15:52:19 -0000
@@ -231,40 +231,41 @@
 	~0, ~0, ~0, ~0,
 	~0, ~0, ~0, ~0,
 	~0, ~0, ~0, ~0,
 	 3		/* 64 bits per scanline pad unit */
 };
 
 #ifndef MIN
 #define MIN(a,b) (((a) < (b)) ? (a) : (b))
 #endif
 
 int
 main(int argc, char *argv[], char *envp[])
 {
     int		i, j, k, error;
     char	*xauthfile;
     HWEventQueueType	alwaysCheckForInput[2];
 
     display = "0";
 
     InitGlobals();
+    XprintInitGlobals();
 
     /* Quartz support on Mac OS X requires that the Cocoa event loop be in
      * the main thread. This allows the X server main to be called again
      * from another thread. */
 #if defined(__DARWIN__) && defined(DARWIN_WITH_QUARTZ)
     DarwinHandleGUI(argc, argv, envp);
 #endif
 
     /* Notice if we're restarted.  Probably this is because we jumped through
      * an uninitialized pointer */
     if (restart)
 	FatalError("server restarted. Jumped through uninitialized pointer?\n");
     else
 	restart = 1;
 
     CheckUserParameters(argc, argv, envp);
 
     CheckUserAuthorization();
 
 #ifdef COMMANDLINE_CHALLENGED_OPERATING_SYSTEMS
@@ -342,47 +343,46 @@
 	PixmapWidthPaddingInfo[1].padPixelsLog2 = answer[j][k];
  	j = indexForBitsPerPixel[8]; /* bits per byte */
  	PixmapWidthPaddingInfo[1].padBytesLog2 = answer[j][k];
 	PixmapWidthPaddingInfo[1].bitsPerPixel = 1;
 
 	InitAtoms();
 	InitEvents();
 	InitGlyphCaching();
 	ResetClientPrivates();
 	ResetScreenPrivates();
 	ResetWindowPrivates();
 	ResetGCPrivates();
 #ifdef PIXPRIV
 	ResetPixmapPrivates();
 #endif
 	ResetColormapPrivates();
 	ResetFontPrivateIndex();
 	InitCallbackManager();
 	InitVisualWrap();
 	InitOutput(&screenInfo, argc, argv);
+	PrinterInitOutput(&screenInfo, argc, argv);
+
 	if (screenInfo.numScreens < 1)
 	    FatalError("no screens found");
 	if (screenInfo.numVideoScreens < 0)
 	    screenInfo.numVideoScreens = screenInfo.numScreens;
-#ifdef XPRINT
-	PrinterInitOutput(&screenInfo, argc, argv);
-#endif
 	InitExtensions(argc, argv);
 	if (!InitClientPrivates(serverClient))
 	    FatalError("failed to allocate serverClient devprivates");
 	for (i = 0; i < screenInfo.numScreens; i++)
 	{
 	    ScreenPtr pScreen = screenInfo.screens[i];
 	    if (!CreateScratchPixmapsForScreen(i))
 		FatalError("failed to create scratch pixmaps");
 	    if (pScreen->CreateScreenResources &&
 		!(*pScreen->CreateScreenResources)(pScreen))
 		FatalError("failed to create screen resources");
 	    if (!CreateGCperDepth(i))
 		FatalError("failed to create scratch GCs");
 	    if (!CreateDefaultStipple(i))
 		FatalError("failed to create default stipple");
 	    if (!CreateRootWindow(pScreen))
 		FatalError("failed to create root window");
 	}
 	InitInput(argc, argv);
 	if (InitAndStartDevices() != Success)
Index: xc/programs/Xserver/dix/xpstubs.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/dix/xpstubs.c,v
retrieving revision 1.2
diff -u -2 -0 -r1.2 xpstubs.c
--- xc/programs/Xserver/dix/xpstubs.c	23 Apr 2004 19:04:44 -0000	1.2
+++ xc/programs/Xserver/dix/xpstubs.c	11 Mar 2005 15:52:19 -0000
@@ -12,43 +12,59 @@
 in all copies or substantial portions of the Software.
 
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
 OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 OTHER DEALINGS IN THE SOFTWARE.
 
 Except as contained in this notice, the name of The Open Group shall
 not be used in advertising or otherwise to promote the sale, use or
 other dealings in this Software without prior written authorization
 from The Open Group.
 */
 
 /* $Xorg: xpstubs.c,v 1.5 2001/03/08 17:52:08 pookie Exp $ */
 
 #include "misc.h"
 #include "font.h"
+#include "DiPrint.h"
 
 Bool
 XpClientIsBitmapClient(
     ClientPtr client)
 {
     return TRUE;
 }
 
 Bool
 XpClientIsPrintClient(
     ClientPtr client,
     FontPathElementPtr fpe)
 {
     return FALSE;
 }
 int
 XprintOptions(
     int argc,
     char **argv,
     int i)
 {
     return i;
 }
+void
+PrinterInitOutput(
+     ScreenInfo *pScreenInfo,
+     int argc,
+     char **argv)
+{
+}
+void XprintUseMsg(void)
+{
+}
+void XprintInitGlobals(void)
+{
+}
+
+
Index: xc/programs/Xserver/os/utils.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/os/utils.c,v
retrieving revision 1.11
diff -u -2 -0 -r1.11 utils.c
--- xc/programs/Xserver/os/utils.c	25 Nov 2004 12:48:21 -0000	1.11
+++ xc/programs/Xserver/os/utils.c	11 Mar 2005 15:52:23 -0000
@@ -636,40 +636,43 @@
 #endif
 #ifndef NOLOGOHACK
     ErrorF("-logo                  enable logo in screen saver\n");
     ErrorF("nologo                 disable logo in screen saver\n");
 #endif
     ErrorF("-nolisten string       don't listen on protocol\n");
     ErrorF("-noreset               don't reset after last client exists\n");
     ErrorF("-reset                 reset after last client exists\n");
     ErrorF("-p #                   screen-saver pattern duration (minutes)\n");
     ErrorF("-pn                    accept failure to listen on all ports\n");
     ErrorF("-nopn                  reject failure to listen on all ports\n");
     ErrorF("-r                     turns off auto-repeat\n");
     ErrorF("r                      turns on auto-repeat \n");
 #ifdef RENDER
     ErrorF("-render [default|mono|gray|color] set render color alloc policy\n");
 #endif
     ErrorF("-s #                   screen-saver timeout (minutes)\n");
 #ifdef XCSECURITY
     ErrorF("-sp file               security policy file\n");
 #endif
+#ifdef XPRINT
+    XprintUseMsg();
+#endif
     ErrorF("-su                    disable any save under support\n");
     ErrorF("-t #                   mouse threshold (pixels)\n");
     ErrorF("-terminate             terminate at server reset\n");
     ErrorF("-to #                  connection time out\n");
     ErrorF("-tst                   disable testing extensions\n");
     ErrorF("ttyxx                  server started from init on /dev/ttyxx\n");
     ErrorF("v                      video blanking for screen-saver\n");
     ErrorF("-v                     screen-saver without video blanking\n");
     ErrorF("-wm                    WhenMapped default backing-store\n");
     ErrorF("-x string              loads named extension at init time \n");
     ErrorF("-maxbigreqsize         set maximal bigrequest size \n");
 #ifdef PANORAMIX
     ErrorF("+xinerama              Enable XINERAMA extension\n");
     ErrorF("-xinerama              Disable XINERAMA extension\n");
 #endif
 #ifdef SMART_SCHEDULE
     ErrorF("-dumbSched             Disable smart scheduling, enable old behavior\n");
     ErrorF("-schedInterval int     Set scheduler interval in msec\n");
 #endif
     ErrorF("+extension name        Enable extension\n");


More information about the Xprint mailing list