summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dix/colormap.c337
-rw-r--r--dix/dispatch.c1
-rw-r--r--dix/dixfonts.c12
-rw-r--r--dix/enterleave.c2
-rw-r--r--dix/enterleave.h2
-rw-r--r--dix/main.c2
-rwxr-xr-xhw/xfree86/sdksyms.sh2
-rw-r--r--include/Makefile.am4
-rw-r--r--include/colormap.h12
-rw-r--r--include/dixfont.h35
-rw-r--r--include/dixstruct.h23
-rw-r--r--include/swaprep.h320
-rw-r--r--include/swapreq.h6
-rw-r--r--mi/miglblt.c1
-rw-r--r--miext/damage/damage.c1
-rw-r--r--os/utils.c1
16 files changed, 358 insertions, 403 deletions
diff --git a/dix/colormap.c b/dix/colormap.c
index a3e5a2c09..89a17c43b 100644
--- a/dix/colormap.c
+++ b/dix/colormap.c
@@ -64,6 +64,9 @@ SOFTWARE.
#include "privates.h"
#include "xace.h"
+typedef int (*ColorCompareProcPtr) (EntryPtr /*pent */ ,
+ xrgb * /*prgb */ );
+
static Pixel FindBestPixel(EntryPtr /*pentFirst */ ,
int /*size */ ,
xrgb * /*prgb */ ,
@@ -748,6 +751,173 @@ UpdateColors(ColormapPtr pmap)
free(defs);
}
+/* Tries to find a color in pmap that exactly matches the one requested in prgb
+ * if it can't it allocates one.
+ * Starts looking at pentFirst + *pPixel, so if you want a specific pixel,
+ * load *pPixel with that value, otherwise set it to 0
+ */
+static int
+FindColor(ColormapPtr pmap, EntryPtr pentFirst, int size, xrgb * prgb,
+ Pixel * pPixel, int channel, int client, ColorCompareProcPtr comp)
+{
+ EntryPtr pent;
+ Bool foundFree;
+ Pixel pixel, Free = 0;
+ int npix, count, *nump = NULL;
+ Pixel **pixp = NULL, *ppix;
+ xColorItem def;
+
+ foundFree = FALSE;
+
+ if ((pixel = *pPixel) >= size)
+ pixel = 0;
+ /* see if there is a match, and also look for a free entry */
+ for (pent = pentFirst + pixel, count = size; --count >= 0;) {
+ if (pent->refcnt > 0) {
+ if ((*comp) (pent, prgb)) {
+ if (client >= 0)
+ pent->refcnt++;
+ *pPixel = pixel;
+ switch (channel) {
+ case REDMAP:
+ *pPixel <<= pmap->pVisual->offsetRed;
+ case PSEUDOMAP:
+ break;
+ case GREENMAP:
+ *pPixel <<= pmap->pVisual->offsetGreen;
+ break;
+ case BLUEMAP:
+ *pPixel <<= pmap->pVisual->offsetBlue;
+ break;
+ }
+ goto gotit;
+ }
+ }
+ else if (!foundFree && pent->refcnt == 0) {
+ Free = pixel;
+ foundFree = TRUE;
+ /* If we're initializing the colormap, then we are looking for
+ * the first free cell we can find, not to minimize the number
+ * of entries we use. So don't look any further. */
+ if (pmap->flags & BeingCreated)
+ break;
+ }
+ pixel++;
+ if (pixel >= size) {
+ pent = pentFirst;
+ pixel = 0;
+ }
+ else
+ pent++;
+ }
+
+ /* If we got here, we didn't find a match. If we also didn't find
+ * a free entry, we're out of luck. Otherwise, we'll usurp a free
+ * entry and fill it in */
+ if (!foundFree)
+ return BadAlloc;
+ pent = pentFirst + Free;
+ pent->fShared = FALSE;
+ pent->refcnt = (client >= 0) ? 1 : AllocTemporary;
+
+ switch (channel) {
+ case PSEUDOMAP:
+ pent->co.local.red = prgb->red;
+ pent->co.local.green = prgb->green;
+ pent->co.local.blue = prgb->blue;
+ def.red = prgb->red;
+ def.green = prgb->green;
+ def.blue = prgb->blue;
+ def.flags = (DoRed | DoGreen | DoBlue);
+ if (client >= 0)
+ pmap->freeRed--;
+ def.pixel = Free;
+ break;
+
+ case REDMAP:
+ pent->co.local.red = prgb->red;
+ def.red = prgb->red;
+ def.green = pmap->green[0].co.local.green;
+ def.blue = pmap->blue[0].co.local.blue;
+ def.flags = DoRed;
+ if (client >= 0)
+ pmap->freeRed--;
+ def.pixel = Free << pmap->pVisual->offsetRed;
+ break;
+
+ case GREENMAP:
+ pent->co.local.green = prgb->green;
+ def.red = pmap->red[0].co.local.red;
+ def.green = prgb->green;
+ def.blue = pmap->blue[0].co.local.blue;
+ def.flags = DoGreen;
+ if (client >= 0)
+ pmap->freeGreen--;
+ def.pixel = Free << pmap->pVisual->offsetGreen;
+ break;
+
+ case BLUEMAP:
+ pent->co.local.blue = prgb->blue;
+ def.red = pmap->red[0].co.local.red;
+ def.green = pmap->green[0].co.local.green;
+ def.blue = prgb->blue;
+ def.flags = DoBlue;
+ if (client >= 0)
+ pmap->freeBlue--;
+ def.pixel = Free << pmap->pVisual->offsetBlue;
+ break;
+ }
+ (*pmap->pScreen->StoreColors) (pmap, 1, &def);
+ pixel = Free;
+ *pPixel = def.pixel;
+
+ gotit:
+ if (pmap->flags & BeingCreated || client == -1)
+ return Success;
+ /* Now remember the pixel, for freeing later */
+ switch (channel) {
+ case PSEUDOMAP:
+ case REDMAP:
+ nump = pmap->numPixelsRed;
+ pixp = pmap->clientPixelsRed;
+ break;
+
+ case GREENMAP:
+ nump = pmap->numPixelsGreen;
+ pixp = pmap->clientPixelsGreen;
+ break;
+
+ case BLUEMAP:
+ nump = pmap->numPixelsBlue;
+ pixp = pmap->clientPixelsBlue;
+ break;
+ }
+ npix = nump[client];
+ ppix = reallocarray(pixp[client], npix + 1, sizeof(Pixel));
+ if (!ppix) {
+ pent->refcnt--;
+ if (!pent->fShared)
+ switch (channel) {
+ case PSEUDOMAP:
+ case REDMAP:
+ pmap->freeRed++;
+ break;
+ case GREENMAP:
+ pmap->freeGreen++;
+ break;
+ case BLUEMAP:
+ pmap->freeBlue++;
+ break;
+ }
+ return BadAlloc;
+ }
+ ppix[npix] = pixel;
+ pixp[client] = ppix;
+ nump[client]++;
+
+ return Success;
+}
+
/* Get a read-only color from a ColorMap (probably slow for large maps)
* Returns by changing the value in pred, pgreen, pblue and pPix
*/
@@ -1137,173 +1307,6 @@ FindColorInRootCmap(ColormapPtr pmap, EntryPtr pentFirst, int size,
}
}
-/* Tries to find a color in pmap that exactly matches the one requested in prgb
- * if it can't it allocates one.
- * Starts looking at pentFirst + *pPixel, so if you want a specific pixel,
- * load *pPixel with that value, otherwise set it to 0
- */
-int
-FindColor(ColormapPtr pmap, EntryPtr pentFirst, int size, xrgb * prgb,
- Pixel * pPixel, int channel, int client, ColorCompareProcPtr comp)
-{
- EntryPtr pent;
- Bool foundFree;
- Pixel pixel, Free = 0;
- int npix, count, *nump = NULL;
- Pixel **pixp = NULL, *ppix;
- xColorItem def;
-
- foundFree = FALSE;
-
- if ((pixel = *pPixel) >= size)
- pixel = 0;
- /* see if there is a match, and also look for a free entry */
- for (pent = pentFirst + pixel, count = size; --count >= 0;) {
- if (pent->refcnt > 0) {
- if ((*comp) (pent, prgb)) {
- if (client >= 0)
- pent->refcnt++;
- *pPixel = pixel;
- switch (channel) {
- case REDMAP:
- *pPixel <<= pmap->pVisual->offsetRed;
- case PSEUDOMAP:
- break;
- case GREENMAP:
- *pPixel <<= pmap->pVisual->offsetGreen;
- break;
- case BLUEMAP:
- *pPixel <<= pmap->pVisual->offsetBlue;
- break;
- }
- goto gotit;
- }
- }
- else if (!foundFree && pent->refcnt == 0) {
- Free = pixel;
- foundFree = TRUE;
- /* If we're initializing the colormap, then we are looking for
- * the first free cell we can find, not to minimize the number
- * of entries we use. So don't look any further. */
- if (pmap->flags & BeingCreated)
- break;
- }
- pixel++;
- if (pixel >= size) {
- pent = pentFirst;
- pixel = 0;
- }
- else
- pent++;
- }
-
- /* If we got here, we didn't find a match. If we also didn't find
- * a free entry, we're out of luck. Otherwise, we'll usurp a free
- * entry and fill it in */
- if (!foundFree)
- return BadAlloc;
- pent = pentFirst + Free;
- pent->fShared = FALSE;
- pent->refcnt = (client >= 0) ? 1 : AllocTemporary;
-
- switch (channel) {
- case PSEUDOMAP:
- pent->co.local.red = prgb->red;
- pent->co.local.green = prgb->green;
- pent->co.local.blue = prgb->blue;
- def.red = prgb->red;
- def.green = prgb->green;
- def.blue = prgb->blue;
- def.flags = (DoRed | DoGreen | DoBlue);
- if (client >= 0)
- pmap->freeRed--;
- def.pixel = Free;
- break;
-
- case REDMAP:
- pent->co.local.red = prgb->red;
- def.red = prgb->red;
- def.green = pmap->green[0].co.local.green;
- def.blue = pmap->blue[0].co.local.blue;
- def.flags = DoRed;
- if (client >= 0)
- pmap->freeRed--;
- def.pixel = Free << pmap->pVisual->offsetRed;
- break;
-
- case GREENMAP:
- pent->co.local.green = prgb->green;
- def.red = pmap->red[0].co.local.red;
- def.green = prgb->green;
- def.blue = pmap->blue[0].co.local.blue;
- def.flags = DoGreen;
- if (client >= 0)
- pmap->freeGreen--;
- def.pixel = Free << pmap->pVisual->offsetGreen;
- break;
-
- case BLUEMAP:
- pent->co.local.blue = prgb->blue;
- def.red = pmap->red[0].co.local.red;
- def.green = pmap->green[0].co.local.green;
- def.blue = prgb->blue;
- def.flags = DoBlue;
- if (client >= 0)
- pmap->freeBlue--;
- def.pixel = Free << pmap->pVisual->offsetBlue;
- break;
- }
- (*pmap->pScreen->StoreColors) (pmap, 1, &def);
- pixel = Free;
- *pPixel = def.pixel;
-
- gotit:
- if (pmap->flags & BeingCreated || client == -1)
- return Success;
- /* Now remember the pixel, for freeing later */
- switch (channel) {
- case PSEUDOMAP:
- case REDMAP:
- nump = pmap->numPixelsRed;
- pixp = pmap->clientPixelsRed;
- break;
-
- case GREENMAP:
- nump = pmap->numPixelsGreen;
- pixp = pmap->clientPixelsGreen;
- break;
-
- case BLUEMAP:
- nump = pmap->numPixelsBlue;
- pixp = pmap->clientPixelsBlue;
- break;
- }
- npix = nump[client];
- ppix = reallocarray(pixp[client], npix + 1, sizeof(Pixel));
- if (!ppix) {
- pent->refcnt--;
- if (!pent->fShared)
- switch (channel) {
- case PSEUDOMAP:
- case REDMAP:
- pmap->freeRed++;
- break;
- case GREENMAP:
- pmap->freeGreen++;
- break;
- case BLUEMAP:
- pmap->freeBlue++;
- break;
- }
- return BadAlloc;
- }
- ppix[npix] = pixel;
- pixp[client] = ppix;
- nump[client]++;
-
- return Success;
-}
-
/* Comparison functions -- passed to FindColor to determine if an
* entry is already the color we're looking for or not */
static int
diff --git a/dix/dispatch.c b/dix/dispatch.c
index 9208582a6..dbbac8bd6 100644
--- a/dix/dispatch.c
+++ b/dix/dispatch.c
@@ -108,6 +108,7 @@ int ProcInitialConnection();
#include "windowstr.h"
#include <X11/fonts/fontstruct.h>
+#include <X11/fonts/fontutil.h>
#include "dixfontstr.h"
#include "gcstruct.h"
#include "selection.h"
diff --git a/dix/dixfonts.c b/dix/dixfonts.c
index be389e82f..968cee461 100644
--- a/dix/dixfonts.c
+++ b/dix/dixfonts.c
@@ -156,7 +156,7 @@ SetDefaultFont(const char *defaultfontname)
* init_fpe() and free_fpe(), there shouldn't be any problem in using
* freed data.
*/
-void
+static void
QueueFontWakeup(FontPathElementPtr fpe)
{
int i;
@@ -179,7 +179,7 @@ QueueFontWakeup(FontPathElementPtr fpe)
num_slept_fpes++;
}
-void
+static void
RemoveFontWakeup(FontPathElementPtr fpe)
{
int i, j;
@@ -195,7 +195,7 @@ RemoveFontWakeup(FontPathElementPtr fpe)
}
}
-void
+static void
FontWakeup(void *data, int count, void *LastSelectMask)
{
int i;
@@ -849,7 +849,7 @@ ListFonts(ClientPtr client, unsigned char *pattern, unsigned length,
return Success;
}
-int
+static int
doListFontsWithInfo(ClientPtr client, LFWIclosurePtr c)
{
FontPathElementPtr fpe;
@@ -1105,7 +1105,7 @@ static ChangeGCVal clearGC[] = { {.ptr = NullPixmap} };
#define clearGCmask (GCClipMask)
-int
+static int
doPolyText(ClientPtr client, PTclosurePtr c)
{
FontPtr pFont = c->pGC->font, oldpFont;
@@ -1389,7 +1389,7 @@ PolyText(ClientPtr client, DrawablePtr pDraw, GC * pGC, unsigned char *pElt,
#undef TextEltHeader
#undef FontShiftSize
-int
+static int
doImageText(ClientPtr client, ITclosurePtr c)
{
int err = Success, lgerr; /* err is in X error, not font error, space */
diff --git a/dix/enterleave.c b/dix/enterleave.c
index 7f1f94165..f0b1572fb 100644
--- a/dix/enterleave.c
+++ b/dix/enterleave.c
@@ -212,7 +212,7 @@ SetFocusOut(DeviceIntPtr dev)
* @return The window that is the first ancestor of both 'a' and 'b', or the
* NullWindow if they do not have a common ancestor.
*/
-WindowPtr
+static WindowPtr
CommonAncestor(WindowPtr a, WindowPtr b)
{
for (b = b->parent; b; b = b->parent)
diff --git a/dix/enterleave.h b/dix/enterleave.h
index a59d05799..4b833d8a3 100644
--- a/dix/enterleave.h
+++ b/dix/enterleave.h
@@ -41,8 +41,6 @@ extern void EnterLeaveEvent(DeviceIntPtr mouse,
int type,
int mode, int detail, WindowPtr pWin, Window child);
-extern WindowPtr CommonAncestor(WindowPtr a, WindowPtr b);
-
extern void CoreEnterLeaveEvent(DeviceIntPtr mouse,
int type,
int mode,
diff --git a/dix/main.c b/dix/main.c
index 09f9504b8..db3b9c0a9 100644
--- a/dix/main.c
+++ b/dix/main.c
@@ -95,6 +95,8 @@ Equipment Corporation.
#include "cursorstr.h"
#include "selection.h"
#include <X11/fonts/font.h>
+#include <X11/fonts/fontstruct.h>
+#include <X11/fonts/fontutil.h>
#include "opaque.h"
#include "servermd.h"
#include "hotplug.h"
diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh
index 05ac41096..e1415229c 100755
--- a/hw/xfree86/sdksyms.sh
+++ b/hw/xfree86/sdksyms.sh
@@ -295,8 +295,6 @@ cat > sdksyms.c << EOF
#include "selection.h"
#include "servermd.h"
#include "site.h"
-#include "swaprep.h"
-#include "swapreq.h"
#include "validate.h"
#include "window.h"
#include "windowstr.h"
diff --git a/include/Makefile.am b/include/Makefile.am
index 738b582e9..70b83ffec 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -52,8 +52,6 @@ sdk_HEADERS = \
selection.h \
servermd.h \
site.h \
- swaprep.h \
- swapreq.h \
validate.h \
window.h \
windowstr.h \
@@ -74,5 +72,7 @@ EXTRA_DIST = \
dixfontstubs.h eventconvert.h eventstr.h inpututils.h \
probes.h \
protocol-versions.h \
+ swaprep.h \
+ swapreq.h \
systemd-logind.h \
xsha1.h
diff --git a/include/colormap.h b/include/colormap.h
index 5f6b97fec..f3b18a613 100644
--- a/include/colormap.h
+++ b/include/colormap.h
@@ -108,18 +108,6 @@ extern _X_EXPORT void FakeAllocColor(ColormapPtr /*pmap */ ,
extern _X_EXPORT void FakeFreeColor(ColormapPtr /*pmap */ ,
Pixel /*pixel */ );
-typedef int (*ColorCompareProcPtr) (EntryPtr /*pent */ ,
- xrgb * /*prgb */ );
-
-extern _X_EXPORT int FindColor(ColormapPtr /*pmap */ ,
- EntryPtr /*pentFirst */ ,
- int /*size */ ,
- xrgb * /*prgb */ ,
- Pixel * /*pPixel */ ,
- int /*channel */ ,
- int /*client */ ,
- ColorCompareProcPtr /*comp */ );
-
extern _X_EXPORT int QueryColors(ColormapPtr /*pmap */ ,
int /*count */ ,
Pixel * /*ppixIn */ ,
diff --git a/include/dixfont.h b/include/dixfont.h
index 48c630539..1895509b3 100644
--- a/include/dixfont.h
+++ b/include/dixfont.h
@@ -36,14 +36,6 @@ typedef struct _DIXFontProp *DIXFontPropPtr;
extern _X_EXPORT Bool SetDefaultFont(const char * /*defaultfontname */ );
-extern _X_EXPORT void QueueFontWakeup(FontPathElementPtr /*fpe */ );
-
-extern _X_EXPORT void RemoveFontWakeup(FontPathElementPtr /*fpe */ );
-
-extern _X_EXPORT void FontWakeup(void *data,
- int count,
- void *LastSelectMask);
-
extern _X_EXPORT int OpenFont(ClientPtr /*client */ ,
XID /*fid */ ,
Mask /*flags */ ,
@@ -64,14 +56,6 @@ extern _X_EXPORT int ListFonts(ClientPtr /*client */ ,
unsigned int /*length */ ,
unsigned int /*max_names */ );
-extern _X_EXPORT int
- doListFontsWithInfo(ClientPtr /*client */ ,
- LFWIclosurePtr /*c */ );
-
-extern _X_EXPORT int doPolyText(ClientPtr /*client */ ,
- PTclosurePtr /*c */
- );
-
extern _X_EXPORT int PolyText(ClientPtr /*client */ ,
DrawablePtr /*pDraw */ ,
GCPtr /*pGC */ ,
@@ -82,9 +66,6 @@ extern _X_EXPORT int PolyText(ClientPtr /*client */ ,
int /*reqType */ ,
XID /*did */ );
-extern _X_EXPORT int doImageText(ClientPtr /*client */ ,
- ITclosurePtr /*c */ );
-
extern _X_EXPORT int ImageText(ClientPtr /*client */ ,
DrawablePtr /*pDraw */ ,
GCPtr /*pGC */ ,
@@ -126,22 +107,6 @@ extern _X_EXPORT void dixGetGlyphs(FontPtr /*font */ ,
unsigned long * /*glyphcount */ ,
CharInfoPtr * /*glyphs */ );
-extern _X_EXPORT void QueryGlyphExtents(FontPtr /*pFont */ ,
- CharInfoPtr * /*charinfo */ ,
- unsigned long /*count */ ,
- ExtentInfoPtr /*info */ );
-
-extern _X_EXPORT Bool QueryTextExtents(FontPtr /*pFont */ ,
- unsigned long /*count */ ,
- unsigned char * /*chars */ ,
- ExtentInfoPtr /*info */ );
-
-extern _X_EXPORT Bool ParseGlyphCachingMode(char * /*str */ );
-
-extern _X_EXPORT void InitGlyphCaching(void);
-
-extern _X_EXPORT void SetGlyphCachingMode(int /*newmode */ );
-
extern _X_EXPORT void register_fpe_functions(void);
#endif /* DIXFONT_H */
diff --git a/include/dixstruct.h b/include/dixstruct.h
index 6c13895d7..757506623 100644
--- a/include/dixstruct.h
+++ b/include/dixstruct.h
@@ -126,21 +126,18 @@ SetReqFds(ClientPtr client, int req_fds) {
/*
* Scheduling interface
*/
-extern _X_EXPORT long SmartScheduleTime;
-extern _X_EXPORT long SmartScheduleInterval;
-extern _X_EXPORT long SmartScheduleSlice;
-extern _X_EXPORT long SmartScheduleMaxSlice;
-extern _X_EXPORT Bool SmartScheduleDisable;
-extern _X_EXPORT void
-SmartScheduleStartTimer(void);
-extern _X_EXPORT void
-SmartScheduleStopTimer(void);
+extern long SmartScheduleTime;
+extern long SmartScheduleInterval;
+extern long SmartScheduleSlice;
+extern long SmartScheduleMaxSlice;
+extern Bool SmartScheduleDisable;
+extern void SmartScheduleStartTimer(void);
+extern void SmartScheduleStopTimer(void);
#define SMART_MAX_PRIORITY (20)
#define SMART_MIN_PRIORITY (-20)
-extern _X_EXPORT void
-SmartScheduleInit(void);
+extern void SmartScheduleInit(void);
/* This prototype is used pervasively in Xext, dix */
#define DISPATCH_PROC(func) int func(ClientPtr /* client */)
@@ -179,13 +176,13 @@ typedef struct _CallbackList {
/* proc vectors */
-extern _X_EXPORT int (*InitialVector[3]) (ClientPtr /*client */ );
+extern int (*InitialVector[3]) (ClientPtr /*client */ );
extern _X_EXPORT int (*ProcVector[256]) (ClientPtr /*client */ );
extern _X_EXPORT int (*SwappedProcVector[256]) (ClientPtr /*client */ );
-extern _X_EXPORT ReplySwapPtr ReplySwapVector[256];
+extern ReplySwapPtr ReplySwapVector[256];
extern _X_EXPORT int
ProcBadRequest(ClientPtr /*client */ );
diff --git a/include/swaprep.h b/include/swaprep.h
index 3fa2a090c..63c54c7fb 100644
--- a/include/swaprep.h
+++ b/include/swaprep.h
@@ -26,207 +26,207 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#ifndef SWAPREP_H
#define SWAPREP_H 1
-extern _X_EXPORT void Swap32Write(ClientPtr /* pClient */ ,
- int /* size */ ,
- CARD32 * /* pbuf */ );
+extern void Swap32Write(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ CARD32 * /* pbuf */ );
-extern _X_EXPORT void CopySwap32Write(ClientPtr /* pClient */ ,
- int /* size */ ,
- CARD32 * /* pbuf */ );
+extern void CopySwap32Write(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ CARD32 * /* pbuf */ );
+
+extern void CopySwap16Write(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ short * /* pbuf */ );
+
+extern void SGenericReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xGenericReply * /* pRep */ );
-extern _X_EXPORT void CopySwap16Write(ClientPtr /* pClient */ ,
+extern void SGetWindowAttributesReply(ClientPtr /* pClient */ ,
int /* size */ ,
- short * /* pbuf */ );
+ xGetWindowAttributesReply *
+ /* pRep */ );
+
+extern void SGetGeometryReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xGetGeometryReply * /* pRep */ );
+
+extern void SQueryTreeReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xQueryTreeReply * /* pRep */ );
+
+extern void SInternAtomReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xInternAtomReply * /* pRep */ );
+
+extern void SGetAtomNameReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xGetAtomNameReply * /* pRep */ );
-extern _X_EXPORT void SGenericReply(ClientPtr /* pClient */ ,
+extern void SGetPropertyReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xGetPropertyReply * /* pRep */ );
+
+extern void SListPropertiesReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xListPropertiesReply * /* pRep */ );
+
+extern void SGetSelectionOwnerReply(ClientPtr /* pClient */ ,
int /* size */ ,
- xGenericReply * /* pRep */ );
+ xGetSelectionOwnerReply *
+ /* pRep */ );
-extern _X_EXPORT void SGetWindowAttributesReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xGetWindowAttributesReply *
- /* pRep */ );
+extern void SQueryPointerReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xQueryPointerReply * /* pRep */ );
-extern _X_EXPORT void SGetGeometryReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xGetGeometryReply * /* pRep */ );
+extern void SwapTimeCoordWrite(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xTimecoord * /* pRep */ );
-extern _X_EXPORT void SQueryTreeReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xQueryTreeReply * /* pRep */ );
+extern void SGetMotionEventsReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xGetMotionEventsReply * /* pRep */
+ );
-extern _X_EXPORT void SInternAtomReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xInternAtomReply * /* pRep */ );
+extern void STranslateCoordsReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xTranslateCoordsReply * /* pRep */
+ );
-extern _X_EXPORT void SGetAtomNameReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xGetAtomNameReply * /* pRep */ );
+extern void SGetInputFocusReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xGetInputFocusReply * /* pRep */ );
-extern _X_EXPORT void SGetPropertyReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xGetPropertyReply * /* pRep */ );
+extern void SQueryKeymapReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xQueryKeymapReply * /* pRep */ );
-extern _X_EXPORT void SListPropertiesReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xListPropertiesReply * /* pRep */ );
+extern void SQueryFontReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xQueryFontReply * /* pRep */ );
-extern _X_EXPORT void SGetSelectionOwnerReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xGetSelectionOwnerReply *
- /* pRep */ );
+extern void SQueryTextExtentsReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xQueryTextExtentsReply * /* pRep */
+ );
-extern _X_EXPORT void SQueryPointerReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xQueryPointerReply * /* pRep */ );
+extern void SListFontsReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xListFontsReply * /* pRep */ );
-extern _X_EXPORT void SwapTimeCoordWrite(ClientPtr /* pClient */ ,
- int /* size */ ,
- xTimecoord * /* pRep */ );
+extern void SListFontsWithInfoReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xListFontsWithInfoReply *
+ /* pRep */ );
-extern _X_EXPORT void SGetMotionEventsReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xGetMotionEventsReply * /* pRep */
- );
+extern void SGetFontPathReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xGetFontPathReply * /* pRep */ );
-extern _X_EXPORT void STranslateCoordsReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xTranslateCoordsReply * /* pRep */
- );
+extern void SGetImageReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xGetImageReply * /* pRep */ );
-extern _X_EXPORT void SGetInputFocusReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xGetInputFocusReply * /* pRep */ );
+extern void SListInstalledColormapsReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xListInstalledColormapsReply
+ * /* pRep */ );
-extern _X_EXPORT void SQueryKeymapReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xQueryKeymapReply * /* pRep */ );
+extern void SAllocColorReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xAllocColorReply * /* pRep */ );
-extern _X_EXPORT void SQueryFontReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xQueryFontReply * /* pRep */ );
+extern void SAllocNamedColorReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xAllocNamedColorReply * /* pRep */
+ );
-extern _X_EXPORT void SQueryTextExtentsReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xQueryTextExtentsReply * /* pRep */
- );
+extern void SAllocColorCellsReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xAllocColorCellsReply * /* pRep */
+ );
-extern _X_EXPORT void SListFontsReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xListFontsReply * /* pRep */ );
+extern void SAllocColorPlanesReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xAllocColorPlanesReply * /* pRep */
+ );
-extern _X_EXPORT void SListFontsWithInfoReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xListFontsWithInfoReply *
- /* pRep */ );
+extern void SQColorsExtend(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xrgb * /* prgb */ );
-extern _X_EXPORT void SGetFontPathReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xGetFontPathReply * /* pRep */ );
+extern void SQueryColorsReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xQueryColorsReply * /* pRep */ );
-extern _X_EXPORT void SGetImageReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xGetImageReply * /* pRep */ );
+extern void SLookupColorReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xLookupColorReply * /* pRep */ );
-extern _X_EXPORT void SListInstalledColormapsReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xListInstalledColormapsReply
- * /* pRep */ );
+extern void SQueryBestSizeReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xQueryBestSizeReply * /* pRep */ );
-extern _X_EXPORT void SAllocColorReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xAllocColorReply * /* pRep */ );
+extern void SListExtensionsReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xListExtensionsReply * /* pRep */ );
-extern _X_EXPORT void SAllocNamedColorReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xAllocNamedColorReply * /* pRep */
- );
+extern void SGetKeyboardMappingReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xGetKeyboardMappingReply *
+ /* pRep */ );
-extern _X_EXPORT void SAllocColorCellsReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xAllocColorCellsReply * /* pRep */
- );
+extern void SGetPointerMappingReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xGetPointerMappingReply *
+ /* pRep */ );
-extern _X_EXPORT void SAllocColorPlanesReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xAllocColorPlanesReply * /* pRep */
- );
+extern void SGetModifierMappingReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xGetModifierMappingReply *
+ /* pRep */ );
-extern _X_EXPORT void SQColorsExtend(ClientPtr /* pClient */ ,
+extern void SGetKeyboardControlReply(ClientPtr /* pClient */ ,
int /* size */ ,
- xrgb * /* prgb */ );
-
-extern _X_EXPORT void SQueryColorsReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xQueryColorsReply * /* pRep */ );
-
-extern _X_EXPORT void SLookupColorReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xLookupColorReply * /* pRep */ );
-
-extern _X_EXPORT void SQueryBestSizeReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xQueryBestSizeReply * /* pRep */ );
-
-extern _X_EXPORT void SListExtensionsReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xListExtensionsReply * /* pRep */ );
-
-extern _X_EXPORT void SGetKeyboardMappingReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xGetKeyboardMappingReply *
- /* pRep */ );
-
-extern _X_EXPORT void SGetPointerMappingReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xGetPointerMappingReply *
- /* pRep */ );
-
-extern _X_EXPORT void SGetModifierMappingReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xGetModifierMappingReply *
- /* pRep */ );
-
-extern _X_EXPORT void SGetKeyboardControlReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xGetKeyboardControlReply *
- /* pRep */ );
-
-extern _X_EXPORT void SGetPointerControlReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xGetPointerControlReply *
- /* pRep */ );
-
-extern _X_EXPORT void SGetScreenSaverReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xGetScreenSaverReply * /* pRep */ );
-
-extern _X_EXPORT void SLHostsExtend(ClientPtr /* pClient */ ,
+ xGetKeyboardControlReply *
+ /* pRep */ );
+
+extern void SGetPointerControlReply(ClientPtr /* pClient */ ,
int /* size */ ,
- char * /* buf */ );
+ xGetPointerControlReply *
+ /* pRep */ );
-extern _X_EXPORT void SListHostsReply(ClientPtr /* pClient */ ,
- int /* size */ ,
- xListHostsReply * /* pRep */ );
+extern void SGetScreenSaverReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xGetScreenSaverReply * /* pRep */ );
+
+extern void SLHostsExtend(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ char * /* buf */ );
+
+extern void SListHostsReply(ClientPtr /* pClient */ ,
+ int /* size */ ,
+ xListHostsReply * /* pRep */ );
-extern _X_EXPORT void SErrorEvent(xError * /* from */ ,
- xError * /* to */ );
+extern void SErrorEvent(xError * /* from */ ,
+ xError * /* to */ );
-extern _X_EXPORT void SwapConnSetupInfo(char * /* pInfo */ ,
- char * /* pInfoTBase */ );
+extern void SwapConnSetupInfo(char * /* pInfo */ ,
+ char * /* pInfoTBase */ );
-extern _X_EXPORT void WriteSConnectionInfo(ClientPtr /* pClient */ ,
- unsigned long /* size */ ,
- char * /* pInfo */ );
+extern void WriteSConnectionInfo(ClientPtr /* pClient */ ,
+ unsigned long /* size */ ,
+ char * /* pInfo */ );
-extern _X_EXPORT void SwapConnSetupPrefix(xConnSetupPrefix * /* pcspFrom */ ,
- xConnSetupPrefix * /* pcspTo */ );
+extern void SwapConnSetupPrefix(xConnSetupPrefix * /* pcspFrom */ ,
+ xConnSetupPrefix * /* pcspTo */ );
-extern _X_EXPORT void WriteSConnSetupPrefix(ClientPtr /* pClient */ ,
- xConnSetupPrefix * /* pcsp */ );
+extern void WriteSConnSetupPrefix(ClientPtr /* pClient */ ,
+ xConnSetupPrefix * /* pcsp */ );
#undef SWAPREP_PROC
-#define SWAPREP_PROC(func) extern _X_EXPORT void func(xEvent * /* from */, xEvent * /* to */)
+#define SWAPREP_PROC(func) extern void func(xEvent * /* from */, xEvent * /* to */)
SWAPREP_PROC(SCirculateEvent);
SWAPREP_PROC(SClientMessageEvent);
diff --git a/include/swapreq.h b/include/swapreq.h
index 07eff807f..d696aa05e 100644
--- a/include/swapreq.h
+++ b/include/swapreq.h
@@ -26,13 +26,13 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#ifndef SWAPREQ_H
#define SWAPREQ_H 1
-extern _X_EXPORT void SwapColorItem(xColorItem * /* pItem */ );
+extern void SwapColorItem(xColorItem * /* pItem */ );
-extern _X_EXPORT void SwapConnClientPrefix(xConnClientPrefix * /* pCCP */ );
+extern void SwapConnClientPrefix(xConnClientPrefix * /* pCCP */ );
#undef SWAPREQ_PROC
-#define SWAPREQ_PROC(func) extern _X_EXPORT int func(ClientPtr /* client */)
+#define SWAPREQ_PROC(func) extern int func(ClientPtr /* client */)
SWAPREQ_PROC(SProcAllocColor);
SWAPREQ_PROC(SProcAllocColorCells);
diff --git a/mi/miglblt.c b/mi/miglblt.c
index e9d3a1af0..46268aee9 100644
--- a/mi/miglblt.c
+++ b/mi/miglblt.c
@@ -53,6 +53,7 @@ SOFTWARE.
#include <X11/Xproto.h>
#include "misc.h"
#include <X11/fonts/fontstruct.h>
+#include <X11/fonts/fontutil.h>
#include "dixfontstr.h"
#include "gcstruct.h"
#include "windowstr.h"
diff --git a/miext/damage/damage.c b/miext/damage/damage.c
index ce20169d4..746e7984f 100644
--- a/miext/damage/damage.c
+++ b/miext/damage/damage.c
@@ -32,6 +32,7 @@
#include <X11/fonts/font.h>
#include "dixfontstr.h"
#include <X11/fonts/fontstruct.h>
+#include <X11/fonts/fontutil.h>
#include "mi.h"
#include "regionstr.h"
#include "globals.h"
diff --git a/os/utils.c b/os/utils.c
index 7fd395b2a..d09ca79fd 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -81,6 +81,7 @@ __stdcall unsigned long GetTickCount(void);
#include <X11/Xtrans/Xtrans.h>
#include "input.h"
#include "dixfont.h"
+#include <X11/fonts/fontutil.h>
#include "osdep.h"
#include "extension.h"
#ifdef X_POSIX_C_SOURCE