[PATCH v2 08/42] Move extension initialisation prototypes into extinit.h

Daniel Stone daniel at fooishbar.org
Fri Dec 2 03:27:16 PST 2011


Create extinit.h (and xf86Extensions.h, for Xorg-specific extensions) to
hold all our extension initialisation prototypes, rather than
duplicating them everywhere.

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
---

v2: New.

 Xext/bigreq.c                         |    4 +-
 Xext/dpms.c                           |    2 +-
 Xext/geext.c                          |    1 +
 Xext/geext.h                          |    2 -
 Xext/panoramiX.c                      |    2 +-
 Xext/saver.c                          |    2 +-
 Xext/security.c                       |    2 +-
 Xext/shape.c                          |    2 +-
 Xext/shm.c                            |    2 +-
 Xext/sync.c                           |    2 +-
 Xext/syncsrv.h                        |    1 -
 Xext/xcmisc.c                         |    2 +-
 Xext/xf86bigfont.c                    |    1 +
 Xext/xf86bigfontsrv.h                 |    1 -
 Xext/xres.c                           |    2 +-
 Xext/xselinux_ext.c                   |    2 +-
 Xext/xtest.c                          |    2 +-
 Xext/xvdix.h                          |    1 -
 Xext/xvmain.c                         |    1 +
 Xext/xvmc.c                           |    1 +
 Xext/xvmcext.h                        |    2 -
 composite/compext.c                   |    1 +
 composite/compint.h                   |    7 --
 damageext/Makefile.am                 |    1 -
 damageext/damageext.c                 |    1 +
 damageext/damageext.h                 |   33 -------
 damageext/damageextint.h              |    3 +-
 dbe/dbe.c                             |    1 +
 dbe/dbestruct.h                       |    2 -
 glx/glxext.c                          |    1 +
 glx/glxext.h                          |    2 -
 glx/glxserver.h                       |    2 -
 hw/dmx/dmx.c                          |    3 +-
 hw/dmx/glxProxy/glxext.c              |    4 +-
 hw/dmx/glxProxy/glxext.h              |    2 -
 hw/xfree86/common/vidmodeproc.h       |    2 +-
 hw/xfree86/common/xf86.h              |    4 -
 hw/xfree86/common/xf86Extensions.h    |   54 +++++++++++
 hw/xfree86/dixmods/dbemodule.c        |    3 +-
 hw/xfree86/dixmods/extmod/Makefile.am |    1 -
 hw/xfree86/dixmods/extmod/modinit.c   |    3 +-
 hw/xfree86/dixmods/extmod/modinit.h   |   82 ----------------
 hw/xfree86/dixmods/extmod/xf86dga2.c  |    3 +-
 hw/xfree86/dixmods/extmod/xf86vmode.c |    1 +
 hw/xfree86/dixmods/glxmodule.c        |    1 +
 hw/xfree86/dixmods/recordmod.c        |    3 +-
 hw/xfree86/dri/dri.c                  |    1 +
 hw/xfree86/dri/dri.h                  |    3 +-
 hw/xfree86/dri/drimodule.c            |    2 +-
 hw/xfree86/dri/xf86dri.c              |    4 +-
 hw/xfree86/sdksyms.sh                 |    1 -
 hw/xquartz/pseudoramiX.c              |    1 +
 hw/xquartz/pseudoramiX.h              |    1 -
 hw/xquartz/xpr/dri.c                  |    1 +
 hw/xquartz/xpr/dri.h                  |    2 -
 include/extinit.h                     |  166 ++++++++++++++++++++++++++++++---
 include/window.h                      |    2 -
 mi/miinitext.c                        |  165 +--------------------------------
 randr/randr.c                         |    1 +
 randr/randrstr.h                      |    4 -
 record/record.c                       |    3 +-
 render/picturestr.h                   |    2 -
 render/render.c                       |    1 +
 xfixes/xfixes.c                       |    1 +
 xfixes/xfixesint.h                    |    5 -
 xkb/xkb.c                             |    1 +
 xkb/xkb.h                             |    2 -
 67 files changed, 255 insertions(+), 371 deletions(-)
 delete mode 100644 damageext/damageext.h
 create mode 100644 hw/xfree86/common/xf86Extensions.h
 delete mode 100644 hw/xfree86/dixmods/extmod/modinit.h

diff --git a/Xext/bigreq.c b/Xext/bigreq.c
index b797897..0f644d6 100644
--- a/Xext/bigreq.c
+++ b/Xext/bigreq.c
@@ -38,9 +38,7 @@ from The Open Group.
 #include "extnsionst.h"
 #include <X11/extensions/bigreqsproto.h>
 #include "opaque.h"
-#include "modinit.h"
-
-void BigReqExtensionInit(void);
+#include "extinit.h"
 
 static int
 ProcBigReqDispatch (ClientPtr client)
diff --git a/Xext/dpms.c b/Xext/dpms.c
index 37afc39..c8ba904 100644
--- a/Xext/dpms.c
+++ b/Xext/dpms.c
@@ -39,7 +39,7 @@ Equipment Corporation.
 #include "opaque.h"
 #include <X11/extensions/dpmsproto.h>
 #include "dpmsproc.h"
-#include "modinit.h"
+#include "extinit.h"
 
 static int
 ProcDPMSGetVersion(ClientPtr client)
diff --git a/Xext/geext.c b/Xext/geext.c
index a8718cc..608dc8b 100644
--- a/Xext/geext.c
+++ b/Xext/geext.c
@@ -32,6 +32,7 @@
 #include "geint.h"
 #include "geext.h"
 #include "protocol-versions.h"
+#include "extinit.h"
 
 DevPrivateKeyRec GEClientPrivateKeyRec;
 
diff --git a/Xext/geext.h b/Xext/geext.h
index 8e6dbeb..dfcec5a 100644
--- a/Xext/geext.h
+++ b/Xext/geext.h
@@ -78,6 +78,4 @@ extern _X_EXPORT void GERegisterExtension(
 
 extern _X_EXPORT void GEInitEvent(xGenericEvent* ev, int extension);
 
-extern _X_EXPORT void GEExtensionInit(void);
-
 #endif /* _GEEXT_H_ */
diff --git a/Xext/panoramiX.c b/Xext/panoramiX.c
index 7c2f04d..63130cc 100644
--- a/Xext/panoramiX.c
+++ b/Xext/panoramiX.c
@@ -59,7 +59,7 @@ Equipment Corporation.
 #ifdef COMPOSITE
 #include "compint.h"
 #endif
-#include "modinit.h"
+#include "extinit.h"
 #include "protocol-versions.h"
 
 #ifdef GLXPROXY
diff --git a/Xext/saver.c b/Xext/saver.c
index 6cd900f..0a4c4fa 100644
--- a/Xext/saver.c
+++ b/Xext/saver.c
@@ -58,7 +58,7 @@ in this Software without prior written authorization from the X Consortium.
 
 #include <stdio.h>
 
-#include "modinit.h"
+#include "extinit.h"
 
 static int ScreenSaverEventBase = 0;
 
diff --git a/Xext/security.c b/Xext/security.c
index 6365cc7..6f28e14 100644
--- a/Xext/security.c
+++ b/Xext/security.c
@@ -38,7 +38,7 @@ in this Software without prior written authorization from The Open Group.
 #include "xacestr.h"
 #include "securitysrv.h"
 #include <X11/extensions/securproto.h>
-#include "modinit.h"
+#include "extinit.h"
 #include "protocol-versions.h"
 
 /* Extension stuff */
diff --git a/Xext/shape.c b/Xext/shape.c
index cb2a0e0..624c686 100644
--- a/Xext/shape.c
+++ b/Xext/shape.c
@@ -44,7 +44,7 @@ in this Software without prior written authorization from The Open Group.
 #include <X11/extensions/shapeproto.h>
 #include "regionstr.h"
 #include "gcstruct.h"
-#include "modinit.h"
+#include "extinit.h"
 #include "protocol-versions.h"
 
 typedef	RegionPtr (*CreateDftPtr)(
diff --git a/Xext/shm.c b/Xext/shm.c
index 06de6c4..885d10e 100644
--- a/Xext/shm.c
+++ b/Xext/shm.c
@@ -88,7 +88,7 @@ in this Software without prior written authorization from The Open Group.
 #include "panoramiXsrv.h"
 #endif
 
-#include "modinit.h"
+#include "extinit.h"
 
 typedef struct _ShmDesc {
     struct _ShmDesc *next;
diff --git a/Xext/sync.c b/Xext/sync.c
index 23360f0..766e421 100644
--- a/Xext/sync.c
+++ b/Xext/sync.c
@@ -76,7 +76,7 @@ PERFORMANCE OF THIS SOFTWARE.
 #include <sys/time.h>
 #endif
 
-#include "modinit.h"
+#include "extinit.h"
 
 /*
  * Local Global Variables
diff --git a/Xext/syncsrv.h b/Xext/syncsrv.h
index 2b70773..30d05cc 100644
--- a/Xext/syncsrv.h
+++ b/Xext/syncsrv.h
@@ -142,5 +142,4 @@ extern void SyncDestroySystemCounter(
 
 extern void InitServertime(void);
 
-extern void SyncExtensionInit(void);
 #endif /* _SYNCSRV_H_ */
diff --git a/Xext/xcmisc.c b/Xext/xcmisc.c
index 90c183c..8eff40e 100644
--- a/Xext/xcmisc.c
+++ b/Xext/xcmisc.c
@@ -38,7 +38,7 @@ from The Open Group.
 #include "extnsionst.h"
 #include "swaprep.h"
 #include <X11/extensions/xcmiscproto.h>
-#include "modinit.h"
+#include "extinit.h"
 
 #include <stdint.h>
 
diff --git a/Xext/xf86bigfont.c b/Xext/xf86bigfont.c
index 4b63a13..544d57a 100644
--- a/Xext/xf86bigfont.c
+++ b/Xext/xf86bigfont.c
@@ -71,6 +71,7 @@
 #include "gcstruct.h"
 #include "dixfontstr.h"
 #include "extnsionst.h"
+#include "extinit.h"
 #include "protocol-versions.h"
 
 #include <X11/extensions/xf86bigfproto.h>
diff --git a/Xext/xf86bigfontsrv.h b/Xext/xf86bigfontsrv.h
index 2c78dc4..eab5287 100644
--- a/Xext/xf86bigfontsrv.h
+++ b/Xext/xf86bigfontsrv.h
@@ -27,7 +27,6 @@
 
 #include <X11/fonts/font.h>
 
-extern void XFree86BigfontExtensionInit(void);
 extern void XF86BigfontFreeFontShm(FontPtr);
 extern void XF86BigfontCleanup(void);
 
diff --git a/Xext/xres.c b/Xext/xres.c
index a8105a2..707e02d 100644
--- a/Xext/xres.c
+++ b/Xext/xres.c
@@ -20,7 +20,7 @@
 #include "pixmapstr.h"
 #include "windowstr.h"
 #include "gcstruct.h"
-#include "modinit.h"
+#include "extinit.h"
 #include "protocol-versions.h"
 
 static int
diff --git a/Xext/xselinux_ext.c b/Xext/xselinux_ext.c
index c4e2fa0..6a55a64 100644
--- a/Xext/xselinux_ext.c
+++ b/Xext/xselinux_ext.c
@@ -26,7 +26,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "windowstr.h"
 #include "propertyst.h"
 #include "extnsionst.h"
-#include "modinit.h"
+#include "extinit.h"
 #include "xselinuxint.h"
 
 #define CTX_DEV offsetof(SELinuxSubjectRec, dev_create_sid)
diff --git a/Xext/xtest.c b/Xext/xtest.c
index 813259f..ce6b440 100644
--- a/Xext/xtest.c
+++ b/Xext/xtest.c
@@ -55,7 +55,7 @@
 #include "eventstr.h"
 #include "inpututils.h"
 
-#include "modinit.h"
+#include "extinit.h"
 
 extern int DeviceValuator;
 
diff --git a/Xext/xvdix.h b/Xext/xvdix.h
index e9c22bf..62a50f9 100644
--- a/Xext/xvdix.h
+++ b/Xext/xvdix.h
@@ -236,7 +236,6 @@ typedef struct {
 extern _X_EXPORT int ProcXvDispatch(ClientPtr);
 extern _X_EXPORT int SProcXvDispatch(ClientPtr);
 
-extern _X_EXPORT void XvExtensionInit(void);
 extern _X_EXPORT int XvScreenInit(ScreenPtr);
 extern _X_EXPORT DevPrivateKey XvGetScreenKey(void);
 extern _X_EXPORT unsigned long XvGetRTPort(void);
diff --git a/Xext/xvmain.c b/Xext/xvmain.c
index d21a56c..d397ba6 100644
--- a/Xext/xvmain.c
+++ b/Xext/xvmain.c
@@ -88,6 +88,7 @@ SOFTWARE.
 #include "pixmapstr.h"
 #include "gc.h"
 #include "extnsionst.h"
+#include "extinit.h"
 #include "dixstruct.h"
 #include "resource.h"
 #include "opaque.h"
diff --git a/Xext/xvmc.c b/Xext/xvmc.c
index 47b9f47..7bb5507 100644
--- a/Xext/xvmc.c
+++ b/Xext/xvmc.c
@@ -13,6 +13,7 @@
 #include "resource.h"
 #include "scrnintstr.h"
 #include "extnsionst.h"
+#include "extinit.h"
 #include "servermd.h"
 #include <X11/Xfuncproto.h>
 #include "xvdix.h"
diff --git a/Xext/xvmcext.h b/Xext/xvmcext.h
index 5b43126..cc956d3 100644
--- a/Xext/xvmcext.h
+++ b/Xext/xvmcext.h
@@ -102,8 +102,6 @@ typedef struct {
 } XvMCAdaptorRec, *XvMCAdaptorPtr;
 
 #ifndef XorgLoader
-extern _X_EXPORT void XvMCExtensionInit(void);
-
 extern _X_EXPORT int XvMCScreenInit(ScreenPtr pScreen,
 				    int num,
 				    XvMCAdaptorPtr adapt);
diff --git a/composite/compext.c b/composite/compext.c
index 722587a..bba3605 100644
--- a/composite/compext.c
+++ b/composite/compext.c
@@ -48,6 +48,7 @@
 #include "compint.h"
 #include "xace.h"
 #include "protocol-versions.h"
+#include "extinit.h"
 
 static CARD8	CompositeReqCode;
 static DevPrivateKeyRec CompositeClientPrivateKeyRec;
diff --git a/composite/compint.h b/composite/compint.h
index bb5335d..952f536 100644
--- a/composite/compint.h
+++ b/composite/compint.h
@@ -225,13 +225,6 @@ compReallocPixmap (WindowPtr pWin, int x, int y,
 		   unsigned int w, unsigned int h, int bw);
 
 /*
- * compext.c
- */
-
-void
-CompositeExtensionInit (void);
-
-/*
  * compinit.c
  */
 
diff --git a/damageext/Makefile.am b/damageext/Makefile.am
index 35f7620..4d4cf44 100644
--- a/damageext/Makefile.am
+++ b/damageext/Makefile.am
@@ -4,5 +4,4 @@ AM_CFLAGS = $(DIX_CFLAGS)
 
 libdamageext_la_SOURCES = 	\
 	damageext.c		\
-	damageext.h		\
 	damageextint.h
diff --git a/damageext/damageext.c b/damageext/damageext.c
index 86f880c..b18785b 100644
--- a/damageext/damageext.c
+++ b/damageext/damageext.c
@@ -26,6 +26,7 @@
 
 #include "damageextint.h"
 #include "protocol-versions.h"
+#include "extinit.h"
 
 static unsigned char	DamageReqCode;
 static int		DamageEventBase;
diff --git a/damageext/damageext.h b/damageext/damageext.h
deleted file mode 100644
index 642800b..0000000
--- a/damageext/damageext.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright © 2002 Keith Packard
- *
- * 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 Keith Packard not be used in
- * advertising or publicity pertaining to distribution of the software without
- * specific, written prior permission.  Keith Packard makes no
- * representations about the suitability of this software for any purpose.  It
- * is provided "as is" without express or implied warranty.
- *
- * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL KEITH PACKARD 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.
- */
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#ifndef _DAMAGEEXT_H_
-#define _DAMAGEEXT_H_
-
-void
-DamageExtensionInit(void);
-
-#endif /* _DAMAGEEXT_H_ */
diff --git a/damageext/damageextint.h b/damageext/damageextint.h
index a235cb9..c944c4f 100644
--- a/damageext/damageextint.h
+++ b/damageext/damageextint.h
@@ -37,8 +37,7 @@
 #include "windowstr.h"
 #include "selection.h"
 #include "scrnintstr.h"
-#include "damageext.h"
-#include "damage.h" 
+#include "damage.h"
 #include "xfixes.h"
 
 typedef struct _DamageClient {
diff --git a/dbe/dbe.c b/dbe/dbe.c
index a468676..7e1791f 100644
--- a/dbe/dbe.c
+++ b/dbe/dbe.c
@@ -43,6 +43,7 @@
 #include <X11/Xproto.h>
 #include "scrnintstr.h"
 #include "extnsionst.h"
+#include "extinit.h"
 #include "gcstruct.h"
 #include "dixstruct.h"
 #define NEED_DBE_PROTOCOL
diff --git a/dbe/dbestruct.h b/dbe/dbestruct.h
index 9c383ce..53c3e6b 100644
--- a/dbe/dbestruct.h
+++ b/dbe/dbestruct.h
@@ -88,8 +88,6 @@ XdbeScreenVisualInfo;
 /* Marker for free elements in the buffer ID array. */
 #define DBE_FREE_ID_ELEMENT	0
 
-extern _X_EXPORT void DbeExtensionInit (void);
-
 /* TYPEDEFS */
 
 /* Record used to pass swap information between DIX and DDX swapping
diff --git a/glx/glxext.c b/glx/glxext.c
index 9cfc096..f3b054e 100644
--- a/glx/glxext.c
+++ b/glx/glxext.c
@@ -39,6 +39,7 @@
 #include <registry.h>
 #include "privates.h"
 #include <os.h>
+#include "extinit.h"
 #include "unpack.h"
 #include "glxutil.h"
 #include "glxext.h"
diff --git a/glx/glxext.h b/glx/glxext.h
index 7008c47..58cf054 100644
--- a/glx/glxext.h
+++ b/glx/glxext.h
@@ -44,8 +44,6 @@ extern void __glXClearErrorOccured(void);
 extern GLboolean __glXErrorOccured(void);
 extern void __glXResetLargeCommandStatus(__GLXclientState*);
 
-extern void GlxExtensionInit(void);
-
 extern const char GLServerVersion[];
 extern int DoGetString(__GLXclientState *cl, GLbyte *pc, GLboolean need_swap);
 
diff --git a/glx/glxserver.h b/glx/glxserver.h
index 6bcf7d3..8330419 100644
--- a/glx/glxserver.h
+++ b/glx/glxserver.h
@@ -77,8 +77,6 @@ extern __GLXclientState *glxGetClient(ClientPtr pClient);
 
 /************************************************************************/
 
-void GlxExtensionInit(void);
-
 void GlxSetVisualConfigs(int nconfigs, 
                          void *configs, void **privates);
 
diff --git a/hw/dmx/dmx.c b/hw/dmx/dmx.c
index 01a7448..16bf068 100644
--- a/hw/dmx/dmx.c
+++ b/hw/dmx/dmx.c
@@ -52,6 +52,7 @@
 #include "os.h"
 #include "dixstruct.h"
 #include "extnsionst.h"
+#include "extinit.h"
 #include "opaque.h"
 
 #include "dmxextension.h"
@@ -65,8 +66,6 @@ extern unsigned long XRT_WINDOW;
 extern int           PanoramiXNumScreens;
 #endif
 
-extern void DMXExtensionInit(void);
-
 static unsigned char DMXCode;
 
 
diff --git a/hw/dmx/glxProxy/glxext.c b/hw/dmx/glxProxy/glxext.c
index 7f63b6b..fddd58e 100644
--- a/hw/dmx/glxProxy/glxext.c
+++ b/hw/dmx/glxProxy/glxext.c
@@ -44,11 +44,13 @@
 #include "glxvisuals.h"
 #include "micmap.h"
 #include "glxswap.h"
+#include "extinit.h"
 
 /*
 ** Stubs to satisfy miinitext.c references.
 */
-typedef int __GLXprovider;
+struct __GLXprovider {
+};
 __GLXprovider __glXDRISWRastProvider;
 void GlxPushProvider(__GLXprovider *provider) { }
 
diff --git a/hw/dmx/glxProxy/glxext.h b/hw/dmx/glxProxy/glxext.h
index 361bcac..c748493 100644
--- a/hw/dmx/glxProxy/glxext.h
+++ b/hw/dmx/glxProxy/glxext.h
@@ -70,8 +70,6 @@ extern void __glXResetLargeCommandStatus(__GLXclientState*);
 extern int __glXQueryContextInfoEXT(__GLXclientState *cl, GLbyte *pc);
 extern int __glXSwapQueryContextInfoEXT(__GLXclientState *cl, char *pc);
 
-extern void GlxExtensionInit(void);
-
 extern Bool __glXCoreType(void);
 
 #endif /* _glxext_h_ */
diff --git a/hw/xfree86/common/vidmodeproc.h b/hw/xfree86/common/vidmodeproc.h
index da4d05e..35e9d8b 100644
--- a/hw/xfree86/common/vidmodeproc.h
+++ b/hw/xfree86/common/vidmodeproc.h
@@ -40,7 +40,7 @@ typedef union {
   float f;
 } vidMonitorValue;
 
-extern _X_EXPORT void XFree86VidModeExtensionInit(void);
+extern Bool VidModeExtensionInit(ScreenPtr pScreen);
 
 extern _X_EXPORT Bool VidModeAvailable(int scrnIndex);
 extern _X_EXPORT Bool VidModeGetCurrentModeline(int scrnIndex, pointer *mode, int *dotClock);
diff --git a/hw/xfree86/common/xf86.h b/hw/xfree86/common/xf86.h
index f216d5e..6781083 100644
--- a/hw/xfree86/common/xf86.h
+++ b/hw/xfree86/common/xf86.h
@@ -346,10 +346,6 @@ extern _X_EXPORT Bool xf86RandRSetNewVirtualAndDimensions(ScreenPtr pScreen,
 			int newmmWidth, int newmmHeight, Bool resetMode);
 #endif
 
-/* xf86VidModeExtentionInit.c */
-
-extern _X_EXPORT Bool VidModeExtensionInit(ScreenPtr pScreen);
-
 #endif /* _NO_XF86_PROTOTYPES */
 
 #endif /* _XF86_H */
diff --git a/hw/xfree86/common/xf86Extensions.h b/hw/xfree86/common/xf86Extensions.h
new file mode 100644
index 0000000..f86a421
--- /dev/null
+++ b/hw/xfree86/common/xf86Extensions.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright © 2011 Daniel Stone
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included 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 AUTHORS OR COPYRIGHT HOLDERS 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.
+ *
+ * Author: Daniel Stone <daniel at fooishbar.org>
+ */
+
+#ifndef XF86EXTENSIONS_H
+#define XF86EXTENSIONS_H
+
+#include "extnsionst.h"
+
+#ifdef XF86DRI
+extern Bool noXFree86DRIExtension;
+extern void XFree86DRIExtensionInit(void);
+#endif
+
+#ifdef DRI2
+#include <X11/extensions/dri2proto.h>
+extern void DRI2ExtensionInit(void);
+#endif
+
+#ifdef XF86VIDMODE
+#include <X11/extensions/xf86vmproto.h>
+extern Bool noXFree86VidModeExtension;
+extern void XFree86VidModeExtensionInit(void);
+#endif
+
+#ifdef XFreeXDGA
+#include <X11/extensions/xf86dgaproto.h>
+extern Bool noXFree86DGAExtension;
+extern void XFree86DGAExtensionInit(void);
+extern void XFree86DGARegister(void);
+#endif
+
+#endif
diff --git a/hw/xfree86/dixmods/dbemodule.c b/hw/xfree86/dixmods/dbemodule.c
index 436a7b1..4cf1577 100644
--- a/hw/xfree86/dixmods/dbemodule.c
+++ b/hw/xfree86/dixmods/dbemodule.c
@@ -4,11 +4,10 @@
 
 #include "xf86Module.h"
 #include "globals.h"
+#include "extinit.h"
 
 static MODULESETUPPROTO(dbeSetup);
 
-extern void DbeExtensionInit(void);
-
 static ExtensionModule dbeExt = {
     DbeExtensionInit,
     "DOUBLE-BUFFER",
diff --git a/hw/xfree86/dixmods/extmod/Makefile.am b/hw/xfree86/dixmods/extmod/Makefile.am
index 87c28a4..99e9c8d 100644
--- a/hw/xfree86/dixmods/extmod/Makefile.am
+++ b/hw/xfree86/dixmods/extmod/Makefile.am
@@ -23,7 +23,6 @@ INCLUDES = @XORG_INCS@ \
 
 libextmod_la_LDFLAGS = -module -avoid-version
 libextmod_la_SOURCES = modinit.c \
-                       modinit.h \
                        $(DGA_SRCS) \
                        $(XF86VMODE_SRCS) \
                        $(XV_SRCS)
diff --git a/hw/xfree86/dixmods/extmod/modinit.c b/hw/xfree86/dixmods/extmod/modinit.c
index a415e5f..688661e 100644
--- a/hw/xfree86/dixmods/extmod/modinit.c
+++ b/hw/xfree86/dixmods/extmod/modinit.c
@@ -29,7 +29,8 @@
 
 #include <X11/Xproto.h>
 
-#include "modinit.h"
+#include "extinit.h"
+#include "xf86Extensions.h"
 #include "globals.h"
 
 static MODULESETUPPROTO(extmodSetup);
diff --git a/hw/xfree86/dixmods/extmod/modinit.h b/hw/xfree86/dixmods/extmod/modinit.h
deleted file mode 100644
index 22e6ce1..0000000
--- a/hw/xfree86/dixmods/extmod/modinit.h
+++ /dev/null
@@ -1,82 +0,0 @@
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#endif
-
-#include <X11/extensions/shapeproto.h>
-
-#ifdef XTEST
-extern void XTestExtensionInit(void);
-#include <X11/extensions/xtestproto.h>
-#endif
-
-#if 1
-extern void XTestExtension1Init(void);
-#endif
-
-#if 1
-extern void XCMiscExtensionInit(void);
-#endif
-
-#ifdef SCREENSAVER
-extern void ScreenSaverExtensionInit (void);
-#include <X11/extensions/saver.h>
-#endif
-
-#ifdef XF86VIDMODE
-extern void	XFree86VidModeExtensionInit(void);
-#include <X11/extensions/xf86vmproto.h>
-#endif
-
-#ifdef XFreeXDGA
-extern void XFree86DGAExtensionInit(void);
-extern void XFree86DGARegister(void);
-#include <X11/extensions/xf86dgaproto.h>
-#endif
-
-#ifdef DPMSExtension
-extern void DPMSExtensionInit(void);
-#include <X11/extensions/dpmsconst.h>
-#endif
-
-#ifdef XV
-extern void XvExtensionInit(void);
-extern void XvMCExtensionInit(void);
-extern void XvRegister(void);
-#include <X11/extensions/Xv.h>
-#include <X11/extensions/XvMC.h>
-#endif
-
-#ifdef RES
-extern void ResExtensionInit(void);
-#include <X11/extensions/XResproto.h>
-#endif
-
-#ifdef SHM
-extern void ShmExtensionInit(void);
-#include <X11/extensions/shmproto.h>
-extern void ShmRegisterFuncs(
-    ScreenPtr pScreen,
-    ShmFuncsPtr funcs);
-#endif
-
-#ifdef XSELINUX
-extern void SELinuxExtensionInit(void);
-#include "xselinux.h"
-#endif
-
-#ifdef XEVIE
-extern void XevieExtensionInit(void);
-#endif
-
-#if 1
-extern void SecurityExtensionInit(void);
-#endif
-
-#if 1
-extern void PanoramiXExtensionInit(void);
-#endif
-
-#if 1
-extern void XkbExtensionInit(void);
-#endif
diff --git a/hw/xfree86/dixmods/extmod/xf86dga2.c b/hw/xfree86/dixmods/extmod/xf86dga2.c
index e24dda0..4583171 100644
--- a/hw/xfree86/dixmods/extmod/xf86dga2.c
+++ b/hw/xfree86/dixmods/extmod/xf86dga2.c
@@ -18,6 +18,7 @@
 #include "dixevents.h"
 #include "pixmapstr.h"
 #include "extnsionst.h"
+#include "xf86Extensions.h"
 #include "colormapst.h"
 #include "cursorstr.h"
 #include "scrnintstr.h"
@@ -29,7 +30,7 @@
 
 #include <string.h>
 
-#include "modinit.h"
+#include "extinit.h"
 
 #define DGA_PROTOCOL_OLD_SUPPORT 1
 
diff --git a/hw/xfree86/dixmods/extmod/xf86vmode.c b/hw/xfree86/dixmods/extmod/xf86vmode.c
index 6d3d5fc..6ae6472 100644
--- a/hw/xfree86/dixmods/extmod/xf86vmode.c
+++ b/hw/xfree86/dixmods/extmod/xf86vmode.c
@@ -39,6 +39,7 @@ from Kaleb S. KEITHLEY
 #include "misc.h"
 #include "dixstruct.h"
 #include "extnsionst.h"
+#include "xf86Extensions.h"
 #include "scrnintstr.h"
 #include "servermd.h"
 #include <X11/extensions/xf86vmproto.h>
diff --git a/hw/xfree86/dixmods/glxmodule.c b/hw/xfree86/dixmods/glxmodule.c
index 62a047e..79d4b16 100644
--- a/hw/xfree86/dixmods/glxmodule.c
+++ b/hw/xfree86/dixmods/glxmodule.c
@@ -42,6 +42,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "micmap.h"
 #include "globals.h"
 #include "glxserver.h"
+#include "extinit.h"
 
 static MODULESETUPPROTO(glxSetup);
 
diff --git a/hw/xfree86/dixmods/recordmod.c b/hw/xfree86/dixmods/recordmod.c
index cb265de..fdedec4 100644
--- a/hw/xfree86/dixmods/recordmod.c
+++ b/hw/xfree86/dixmods/recordmod.c
@@ -3,13 +3,12 @@
 #endif
 
 #include "xf86Module.h"
+#include "extinit.h"
 
 extern Bool noTestExtensions;
 
 static MODULESETUPPROTO(recordSetup);
 
-extern void RecordExtensionInit(void);
-
 static ExtensionModule recordExt = {
     RecordExtensionInit,
     "RECORD",
diff --git a/hw/xfree86/dri/dri.c b/hw/xfree86/dri/dri.c
index 1726960..ad54ed2 100644
--- a/hw/xfree86/dri/dri.c
+++ b/hw/xfree86/dri/dri.c
@@ -51,6 +51,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "misc.h"
 #include "dixstruct.h"
 #include "extnsionst.h"
+#include "extinit.h"
 #include "colormapst.h"
 #include "cursorstr.h"
 #include "scrnintstr.h"
diff --git a/hw/xfree86/dri/dri.h b/hw/xfree86/dri/dri.h
index f690e23..84d23ac 100644
--- a/hw/xfree86/dri/dri.h
+++ b/hw/xfree86/dri/dri.h
@@ -197,6 +197,7 @@ typedef struct {
     
 } DRIInfoRec, *DRIInfoPtr;
 
+extern Bool DRIExtensionInit(void);
 
 extern _X_EXPORT Bool DRIOpenDRMMaster(ScrnInfoPtr pScrn, unsigned long sAreaSize,
 			     const char *busID,
@@ -208,8 +209,6 @@ extern _X_EXPORT Bool DRIScreenInit(ScreenPtr pScreen,
 
 extern _X_EXPORT void DRICloseScreen(ScreenPtr pScreen);
 
-extern _X_EXPORT Bool DRIExtensionInit(void);
-
 extern _X_EXPORT void DRIReset(void);
 
 extern _X_EXPORT Bool DRIQueryDirectRenderingCapable(ScreenPtr pScreen,
diff --git a/hw/xfree86/dri/drimodule.c b/hw/xfree86/dri/drimodule.c
index 40e3aca..d2acafd 100644
--- a/hw/xfree86/dri/drimodule.c
+++ b/hw/xfree86/dri/drimodule.c
@@ -37,6 +37,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #endif
 
 #include "xf86Module.h"
+#include "xf86Extensions.h"
 #include "globals.h"
 
 #include "xf86drm.h"
@@ -58,7 +59,6 @@ static XF86ModuleVersionInfo VersRec =
         {0,0,0,0}
 };
 
-extern void XFree86DRIExtensionInit(void);
 #define _XF86DRI_SERVER_
 #include <X11/dri/xf86driproto.h>
 
diff --git a/hw/xfree86/dri/xf86dri.c b/hw/xfree86/dri/xf86dri.c
index c35ba2f..58492ce 100644
--- a/hw/xfree86/dri/xf86dri.c
+++ b/hw/xfree86/dri/xf86dri.c
@@ -47,6 +47,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "misc.h"
 #include "dixstruct.h"
 #include "extnsionst.h"
+#include "extinit.h"
 #include "colormapst.h"
 #include "cursorstr.h"
 #include "scrnintstr.h"
@@ -60,6 +61,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "dristruct.h"
 #include "xf86drm.h"
 #include "protocol-versions.h"
+#include "xf86Extensions.h"
 
 static int DRIErrorBase;
 
@@ -69,8 +71,6 @@ static void XF86DRIResetProc(ExtensionEntry* extEntry);
 
 static unsigned char DRIReqCode = 0;
 
-extern void XFree86DRIExtensionInit(void);
-
 /*ARGSUSED*/
 static void
 XF86DRIResetProc (
diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh
index 4a4e1f6..944f039 100755
--- a/hw/xfree86/sdksyms.sh
+++ b/hw/xfree86/sdksyms.sh
@@ -276,7 +276,6 @@ cat > sdksyms.c << EOF
 #include "dixstruct.h"
 #include "exevents.h"
 #include "extension.h"
-#include "extinit.h"
 #include "extnsionst.h"
 #include "gc.h"
 #include "gcstruct.h"
diff --git a/hw/xquartz/pseudoramiX.c b/hw/xquartz/pseudoramiX.c
index 89ad94f..a4797e0 100644
--- a/hw/xquartz/pseudoramiX.c
+++ b/hw/xquartz/pseudoramiX.c
@@ -40,6 +40,7 @@ Equipment Corporation.
 #include "darwin.h"
 #include "pseudoramiX.h"
 #include "extnsionst.h"
+#include "extinit.h"
 #include "dixstruct.h"
 #include "window.h"
 #include <X11/extensions/panoramiXproto.h>
diff --git a/hw/xquartz/pseudoramiX.h b/hw/xquartz/pseudoramiX.h
index 2ffa4cf..665af4b 100644
--- a/hw/xquartz/pseudoramiX.h
+++ b/hw/xquartz/pseudoramiX.h
@@ -5,5 +5,4 @@
 extern int noPseudoramiXExtension;
 
 void PseudoramiXAddScreen(int x, int y, int w, int h);
-void PseudoramiXExtensionInit(void);
 void PseudoramiXResetScreens(void);
diff --git a/hw/xquartz/xpr/dri.c b/hw/xquartz/xpr/dri.c
index a58f2c7..1cdbb8d 100644
--- a/hw/xquartz/xpr/dri.c
+++ b/hw/xquartz/xpr/dri.c
@@ -55,6 +55,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "misc.h"
 #include "dixstruct.h"
 #include "extnsionst.h"
+#include "extinit.h"
 #include "colormapst.h"
 #include "cursorstr.h"
 #include "scrnintstr.h"
diff --git a/hw/xquartz/xpr/dri.h b/hw/xquartz/xpr/dri.h
index 48fea36..9f6e0d1 100644
--- a/hw/xquartz/xpr/dri.h
+++ b/hw/xquartz/xpr/dri.h
@@ -70,8 +70,6 @@ extern Bool DRIFinishScreenInit(ScreenPtr pScreen);
 
 extern void DRICloseScreen(ScreenPtr pScreen);
 
-extern Bool DRIExtensionInit(void);
-
 extern void DRIReset(void);
 
 extern Bool DRIQueryDirectRenderingCapable(ScreenPtr pScreen,
diff --git a/include/extinit.h b/include/extinit.h
index 8e47beb..5be45ac 100644
--- a/include/extinit.h
+++ b/include/extinit.h
@@ -23,8 +23,29 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
 ********************************************************/
 
-/********************************************************************
- * Interface of extinit.c
+/*
+ * Copyright (C) 1994-2003 The XFree86 Project, Inc.  All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of
+ * this software and associated documentation files (the "Software"), to deal in
+ * the Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is furnished to do
+ * so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included 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, FIT-
+ * NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+ * XFREE86 PROJECT 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 XFree86 Project 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 XFree86 Project.
  */
 
 #ifndef EXTINIT_H
@@ -32,16 +53,135 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
 #include "extnsionst.h"
 
-extern void
-XInputExtensionInit(
-	void
-	);
+#ifdef COMPOSITE
+extern Bool noCompositeExtension;
+extern void CompositeExtensionInit(void);
+#endif
 
-extern _X_EXPORT void
-AssignTypeAndName (
-	DeviceIntPtr           /* dev */,
-	Atom                   /* type */,
-	const char *           /* name */
-	);
+#ifdef DAMAGE
+extern void DamageExtensionInit(void);
+#endif
 
-#endif /* EXTINIT_H */
+#ifdef DBE
+extern Bool noDbeExtension;
+extern void DbeExtensionInit(void);
+#endif
+
+#ifdef DMXEXT
+extern void DMXExtensionInit(void);
+#endif
+
+#ifdef DPMSExtension
+#include <X11/extensions/dpmsconst.h>
+extern Bool noDPMSExtension;
+extern void DPMSExtensionInit(void);
+#endif
+
+extern Bool noGEExtension;
+extern void GEExtensionInit(void);
+
+#ifdef GLXEXT
+extern Bool noGlxExtension;
+typedef struct __GLXprovider __GLXprovider;
+extern __GLXprovider __glXDRISWRastProvider;
+extern void GlxPushProvider(__GLXprovider *impl);
+extern void GlxExtensionInit(void);
+#endif
+
+#ifdef PANORAMIX
+#include <X11/extensions/panoramiXproto.h>
+extern Bool noPanoramiXExtension;
+extern void PanoramiXExtensionInit(void);
+#endif
+
+#ifdef RANDR
+extern Bool noRRExtension;
+extern void RRExtensionInit(void);
+#endif
+
+#ifdef XRECORD
+extern void RecordExtensionInit(void);
+#endif
+
+extern Bool noRenderExtension;
+extern void RenderExtensionInit(void);
+
+#ifdef RES
+#include <X11/extensions/XResproto.h>
+extern Bool noResExtension;
+extern void ResExtensionInit(void);
+#endif
+
+#ifdef SCREENSAVER
+#include <X11/extensions/saver.h>
+extern Bool noScreenSaverExtension;
+extern void ScreenSaverExtensionInit(void);
+#endif
+
+#include <X11/extensions/shapeproto.h>
+extern void ShapeExtensionInit(void);
+
+#ifdef MITSHM
+#include <X11/extensions/shm.h>
+#include <X11/extensions/shmproto.h>
+extern Bool noMITShmExtension;
+extern void ShmExtensionInit(void);
+#endif
+
+extern void SyncExtensionInit(void);
+
+extern void XCMiscExtensionInit(void);
+
+#ifdef XCSECURITY
+#include <X11/extensions/secur.h>
+#include "securitysrv.h"
+extern Bool noSecurityExtension;
+extern void SecurityExtensionInit(void);
+#endif
+
+#ifdef XF86BIGFONT
+#include <X11/extensions/xf86bigfproto.h>
+extern Bool noXFree86BigfontExtension;
+extern void XFree86BigfontExtensionInit(void);
+#endif
+
+extern void BigReqExtensionInit(void);
+
+#ifdef XFIXES
+extern Bool noXFixesExtension;
+extern void XFixesExtensionInit(void);
+#endif
+
+extern void XInputExtensionInit(void);
+extern _X_EXPORT void AssignTypeAndName(DeviceIntPtr dev, Atom type, const char *name);
+
+#include <X11/extensions/XKB.h>
+extern void XkbExtensionInit(void);
+
+#ifdef XSELINUX
+#include "xselinux.h"
+extern Bool noSELinuxExtension;
+extern void SELinuxExtensionInit(void);
+#endif
+
+#ifdef XTEST
+#include <X11/extensions/xtestconst.h>
+#include <X11/extensions/xtestproto.h>
+extern void XTestExtensionInit(void);
+#endif
+
+#ifdef INXQUARTZ
+extern Bool noPseudoramiXExtension;
+extern void PseudoramiXExtensionInit(void);
+#endif
+
+#ifdef XV
+#include <X11/extensions/Xv.h>
+#include <X11/extensions/XvMC.h>
+extern Bool noXvExtension;
+extern void XvExtensionInit(void);
+extern void XvMCExtensionInit(void);
+extern void XvRegister(void);
+#endif
+
+#endif
diff --git a/include/window.h b/include/window.h
index e13598b..fea317c 100644
--- a/include/window.h
+++ b/include/window.h
@@ -249,8 +249,6 @@ extern _X_EXPORT void ResizeChildrenWinSize(
     int /*dw*/,
     int /*dh*/);
 
-extern _X_EXPORT void ShapeExtensionInit(void);
-
 extern _X_EXPORT void SendShapeNotify(
     WindowPtr /* pWin */,
     int /* which */ );
diff --git a/mi/miinitext.c b/mi/miinitext.c
index 16fd2da..b3d3504 100644
--- a/mi/miinitext.c
+++ b/mi/miinitext.c
@@ -91,178 +91,17 @@ SOFTWARE.
 
 #include "misc.h"
 #include "extension.h"
+#include "extinit.h"
 #include "micmap.h"
 #include "globals.h"
 
-
-extern Bool noTestExtensions;
-
-#ifdef COMPOSITE
-extern Bool noCompositeExtension;
-#endif
-#ifdef DBE
-extern Bool noDbeExtension;
-#endif
-#ifdef DPMSExtension
-extern Bool noDPMSExtension;
-#endif
-#ifdef GLXEXT
-extern Bool noGlxExtension;
-#endif
-#ifdef SCREENSAVER
-extern Bool noScreenSaverExtension;
-#endif
-#ifdef MITSHM
-extern Bool noMITShmExtension;
-#endif
-#ifdef RANDR
-extern Bool noRRExtension;
-#endif
-extern Bool noRenderExtension;
-#ifdef XCSECURITY
-extern Bool noSecurityExtension;
-#endif
-#ifdef RES
-extern Bool noResExtension;
-#endif
-#ifdef XF86BIGFONT
-extern Bool noXFree86BigfontExtension;
-#endif
-#ifdef XFreeXDGA
-extern Bool noXFree86DGAExtension;
-#endif
-#ifdef XF86DRI
-extern Bool noXFree86DRIExtension;
-#endif
-#ifdef XF86VIDMODE
-extern Bool noXFree86VidModeExtension;
-#endif
-#ifdef XFIXES
-extern Bool noXFixesExtension;
-#endif
-#ifdef PANORAMIX
-extern Bool noPanoramiXExtension;
-#endif
-#ifdef INXQUARTZ
-extern Bool noPseudoramiXExtension;
-#endif
-#ifdef XSELINUX
-extern Bool noSELinuxExtension;
-#endif
-#ifdef XV
-extern Bool noXvExtension;
-#endif
-extern Bool noGEExtension;
-
 #ifndef XFree86LOADER
 typedef void (*InitExtension)(void);
 #else /* XFree86Loader */
 #include "loaderProcs.h"
+#include "xf86Extensions.h"
 #endif
 
-#ifdef MITSHM
-#include <X11/extensions/shm.h>
-#endif
-#ifdef XTEST
-#include <X11/extensions/xtestconst.h>
-#endif
-#include <X11/extensions/XKB.h>
-#ifdef XCSECURITY
-#include "securitysrv.h"
-#include <X11/extensions/secur.h>
-#endif
-#ifdef XSELINUX
-#include "xselinux.h"
-#endif
-#ifdef PANORAMIX
-#include <X11/extensions/panoramiXproto.h>
-#endif
-#ifdef XF86BIGFONT
-#include <X11/extensions/xf86bigfproto.h>
-#endif
-#ifdef RES
-#include <X11/extensions/XResproto.h>
-#endif
-
-/* FIXME: this whole block of externs should be from the appropriate headers */
-#ifdef MITSHM
-extern void ShmExtensionInit(void);
-#endif
-#ifdef PANORAMIX
-extern void PanoramiXExtensionInit(void);
-#endif
-#ifdef INXQUARTZ
-extern void PseudoramiXExtensionInit(void);
-#endif
-extern void XInputExtensionInit(void);
-#ifdef XTEST
-extern void XTestExtensionInit(void);
-#endif
-extern void BigReqExtensionInit(void);
-#ifdef SCREENSAVER
-extern void ScreenSaverExtensionInit (void);
-#endif
-#ifdef XV
-extern void XvExtensionInit(void);
-extern void XvMCExtensionInit(void);
-#endif
-extern void SyncExtensionInit(void);
-extern void XkbExtensionInit(void);
-extern void XCMiscExtensionInit(void);
-#ifdef XRECORD
-extern void RecordExtensionInit(void);
-#endif
-#ifdef DBE
-extern void DbeExtensionInit(void);
-#endif
-#ifdef XCSECURITY
-extern void SecurityExtensionInit(void);
-#endif
-#ifdef XSELINUX
-extern void SELinuxExtensionInit(void);
-#endif
-#ifdef XF86BIGFONT
-extern void XFree86BigfontExtensionInit(void);
-#endif
-#ifdef XF86VIDMODE
-extern void XFree86VidModeExtensionInit(void);
-#endif
-#ifdef XFreeXDGA
-extern void XFree86DGAExtensionInit(void);
-#endif
-#ifdef GLXEXT
-typedef struct __GLXprovider __GLXprovider;
-extern __GLXprovider __glXDRISWRastProvider;
-extern void GlxPushProvider(__GLXprovider *impl);
-extern void GlxExtensionInit(void);
-#endif
-#ifdef XF86DRI
-extern void XFree86DRIExtensionInit(void);
-#endif
-#ifdef DPMSExtension
-extern void DPMSExtensionInit(void);
-#endif
-extern void RenderExtensionInit(void);
-#ifdef RANDR
-extern void RRExtensionInit(void);
-#endif
-#ifdef RES
-extern void ResExtensionInit(void);
-#endif
-#ifdef DMXEXT
-extern void DMXExtensionInit(void);
-#endif
-#ifdef XFIXES
-extern void XFixesExtensionInit(void);
-#endif
-#ifdef DAMAGE
-extern void DamageExtensionInit(void);
-#endif
-#ifdef COMPOSITE
-extern void CompositeExtensionInit(void);
-#endif
-extern void GEExtensionInit(void);
-
 /* The following is only a small first step towards run-time
  * configurable extensions.
  */
diff --git a/randr/randr.c b/randr/randr.c
index d337129..7f0ce67 100644
--- a/randr/randr.c
+++ b/randr/randr.c
@@ -30,6 +30,7 @@
 #endif
 
 #include "randrstr.h"
+#include "extinit.h"
 
 /* From render.h */
 #ifndef SubPixelUnknown
diff --git a/randr/randrstr.h b/randr/randrstr.h
index 842e0e0..7e93dd6 100644
--- a/randr/randrstr.h
+++ b/randr/randrstr.h
@@ -374,10 +374,6 @@ extern _X_EXPORT RESTYPE RRCrtcType, RRModeType, RROutputType;
 #define GetRRClient(pClient)    ((RRClientPtr)dixLookupPrivate(&(pClient)->devPrivates, RRClientPrivateKey))
 #define rrClientPriv(pClient)	RRClientPtr pRRClient = GetRRClient(pClient)
 
-/* Initialize the extension */
-extern _X_EXPORT void
-RRExtensionInit (void);
-
 #ifdef RANDR_12_INTERFACE
 /*
  * Set the range of sizes for the screen
diff --git a/record/record.c b/record/record.c
index b956b4a..7cad2dd 100644
--- a/record/record.c
+++ b/record/record.c
@@ -38,6 +38,7 @@ and Jim Haggerty of Metheus.
 
 #include "dixstruct.h"
 #include "extnsionst.h"
+#include "extinit.h"
 #include <X11/extensions/recordproto.h>
 #include "set.h"
 #include "swaprep.h"
@@ -142,8 +143,6 @@ static int RecordDeleteContext(
     XID /*id*/
 );
 
-void RecordExtensionInit(void);
-
 /***************************************************************************/
 
 /* client private stuff */
diff --git a/render/picturestr.h b/render/picturestr.h
index 9b37671..fc5068a 100644
--- a/render/picturestr.h
+++ b/render/picturestr.h
@@ -592,8 +592,6 @@ CompositeTriFan (CARD8		op,
 		 int		npoints,
 		 xPointFixed	*points);
 
-extern _X_EXPORT void RenderExtensionInit (void);
-
 Bool
 AnimCurInit (ScreenPtr pScreen);
 
diff --git a/render/render.c b/render/render.c
index d82e099..f8aadf9 100644
--- a/render/render.c
+++ b/render/render.c
@@ -37,6 +37,7 @@
 #include "pixmapstr.h"
 #include "colormapst.h"
 #include "extnsionst.h"
+#include "extinit.h"
 #include "servermd.h"
 #include <X11/extensions/render.h>
 #include <X11/extensions/renderproto.h>
diff --git a/xfixes/xfixes.c b/xfixes/xfixes.c
index 96d33c0..1420684 100644
--- a/xfixes/xfixes.c
+++ b/xfixes/xfixes.c
@@ -48,6 +48,7 @@
 
 #include "xfixesint.h"
 #include "protocol-versions.h"
+#include "extinit.h"
 
 static unsigned char	XFixesReqCode;
 int		XFixesEventBase;
diff --git a/xfixes/xfixesint.h b/xfixes/xfixesint.h
index 6ba276e..2b469f0 100644
--- a/xfixes/xfixesint.h
+++ b/xfixes/xfixesint.h
@@ -71,11 +71,6 @@ typedef struct _XFixesClient {
 
 extern int	(*ProcXFixesVector[XFixesNumberRequests])(ClientPtr);
 
-/* Initialize extension at server startup time */
-
-void
-XFixesExtensionInit(void);
-
 /* Save set */
 int
 ProcXFixesChangeSaveSet(ClientPtr client);
diff --git a/xkb/xkb.c b/xkb/xkb.c
index ac0b427..e3ab3d7 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -36,6 +36,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
 #define	XKBSRV_NEED_FILE_FUNCS
 #include <xkbsrv.h>
 #include "extnsionst.h"
+#include "extinit.h"
 #include "xace.h"
 #include "xkb.h"
 #include "protocol-versions.h"
diff --git a/xkb/xkb.h b/xkb/xkb.h
index a526356..f3a60af 100644
--- a/xkb/xkb.h
+++ b/xkb/xkb.h
@@ -27,6 +27,4 @@ extern int ProcXkbGetKbdByName(ClientPtr client);
 extern int ProcXkbGetDeviceInfo(ClientPtr client);
 extern int ProcXkbSetDeviceInfo(ClientPtr client);
 extern int ProcXkbSetDebuggingFlags(ClientPtr client);
-
-extern void XkbExtensionInit(void);
 #endif
-- 
1.7.7.3



More information about the xorg-devel mailing list