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

Peter Hutterer peter.hutterer at who-t.net
Tue Dec 6 15:44:23 PST 2011


On Fri, Dec 02, 2011 at 11:27:16AM +0000, Daniel Stone wrote:
> 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>

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>

any specific reason that DRIExtensionInit() gets special treatment?

the "#if 1" could be removed as well, or alternatively should be added to
all built-in ones (Render, GE, Shape, ...)

Cheers,
  Peter

> ---
> 
> 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
> 
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
> 


More information about the xorg-devel mailing list