diff --git a/Xext/bigreq.c b/Xext/bigreq.c index 2a3012cf7..ae1ad2ed9 100644 --- a/Xext/bigreq.c +++ b/Xext/bigreq.c @@ -30,14 +30,12 @@ from The Open Group. #include #include -#include - -#include "dix/dix_priv.h" - #include "misc.h" #include "os.h" #include "dixstruct.h" +#include "dix_priv.h" #include "extnsionst.h" +#include #include "opaque.h" #include "extinit_priv.h" diff --git a/Xext/saver.c b/Xext/saver.c index f82607e7a..0a239cdd9 100644 --- a/Xext/saver.c +++ b/Xext/saver.c @@ -46,6 +46,7 @@ in this Software without prior written authorization from the X Consortium. #include "extnsionst.h" #include "dixstruct.h" #include "resource.h" +#include "opaque.h" #include "gcstruct.h" #include "cursorstr.h" #include "colormapst.h" diff --git a/Xext/sync.c b/Xext/sync.c index e0c012849..60cfc837d 100644 --- a/Xext/sync.c +++ b/Xext/sync.c @@ -67,6 +67,7 @@ PERFORMANCE OF THIS SOFTWARE. #include "dixstruct.h" #include "pixmapstr.h" #include "resource.h" +#include "opaque.h" #include "syncsrv.h" #include "syncsdk.h" #include "protocol-versions.h" diff --git a/Xext/xace.h b/Xext/xace.h index 354724080..c11949ba3 100644 --- a/Xext/xace.h +++ b/Xext/xace.h @@ -55,29 +55,31 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define XACE_KEY_AVAIL 14 #define XACE_NUM_HOOKS 15 -extern CallbackListPtr XaceHooks[XACE_NUM_HOOKS]; +extern _X_EXPORT CallbackListPtr XaceHooks[XACE_NUM_HOOKS]; /* Entry point for hook functions. Called by Xserver. * Required by libdbe and libextmod */ -/* needs to be exported for in-tree modsetting driver, but not part - of public API for external modules */ -_X_EXPORT int XaceHook(int hook, ... /* appropriate args for hook */); +extern _X_EXPORT int XaceHook(int /*hook */ , + ... /*appropriate args for hook */ + ); /* determine whether any callbacks are present for the XACE hook */ -int XaceHookIsSet(int hook); +extern _X_EXPORT int XaceHookIsSet(int hook); /* Special-cased hook functions */ -int XaceHookDispatch0(ClientPtr ptr, int major); +int XaceHookDispatch0(ClientPtr client, int major); #define XaceHookDispatch(c, m) \ ((XaceHooks[XACE_EXT_DISPATCH] && (m) >= EXTENSION_BASE) ? \ XaceHookDispatch0((c), (m)) : \ Success) -int XaceHookPropertyAccess(ClientPtr ptr, WindowPtr pWin, PropertyPtr *ppProp, - Mask access_mode); -int XaceHookSelectionAccess(ClientPtr ptr, Selection ** ppSel, Mask access_mode); +extern _X_EXPORT int XaceHookPropertyAccess(ClientPtr ptr, WindowPtr pWin, + PropertyPtr *ppProp, + Mask access_mode); +extern _X_EXPORT int XaceHookSelectionAccess(ClientPtr ptr, Selection ** ppSel, + Mask access_mode); /* needs to be exported for in-tree modsetting, but not part of public API */ _X_EXPORT int XaceHookResourceAccess(ClientPtr client, XID id, RESTYPE rtype, void *res, @@ -109,18 +111,18 @@ int XaceHookKeyAvail(xEventPtr ev, DeviceIntPtr dev, int count); /* XTrans wrappers for use by security modules */ -int XaceGetConnectionNumber(ClientPtr ptr); -int XaceIsLocal(ClientPtr ptr); +extern _X_EXPORT int XaceGetConnectionNumber(ClientPtr ptr); +extern _X_EXPORT int XaceIsLocal(ClientPtr ptr); /* From the original Security extension... */ -void XaceCensorImage(ClientPtr client, - RegionPtr pVisibleRegion, - long widthBytesLine, - DrawablePtr pDraw, - int x, int y, int w, int h, - unsigned int format, char *pBuf); +extern _X_EXPORT void XaceCensorImage(ClientPtr client, + RegionPtr pVisibleRegion, + long widthBytesLine, + DrawablePtr pDraw, + int x, int y, int w, int h, + unsigned int format, char *pBuf); #else /* XACE */ diff --git a/Xext/xtest.c b/Xext/xtest.c index 69ca1db08..13f550154 100644 --- a/Xext/xtest.c +++ b/Xext/xtest.c @@ -38,7 +38,6 @@ #include "dix/input_priv.h" #include "dix/dix_priv.h" #include "dix/exevents_priv.h" -#include "mi/mi_priv.h" #include "mi/mipointer_priv.h" #include "os/client_priv.h" #include "os/osdep.h" @@ -52,6 +51,7 @@ #include "scrnintstr.h" #include "dixevents.h" #include "sleepuntil.h" +#include "mi.h" #include "xkbsrv.h" #include "xkbstr.h" #include "exglobals.h" diff --git a/Xi/allowev.c b/Xi/allowev.c index 0753a033c..70f688ca3 100644 --- a/Xi/allowev.c +++ b/Xi/allowev.c @@ -60,6 +60,7 @@ SOFTWARE. #include "dix/input_priv.h" #include "exglobals.h" + #include "allowev.h" #include "dixevents.h" diff --git a/Xi/exevents.c b/Xi/exevents.c index ae4268696..4dd675315 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -93,7 +93,6 @@ SOFTWARE. #include "dix/eventconvert.h" #include "dix/exevents_priv.h" #include "dix/input_priv.h" -#include "mi/mi_priv.h" #include "inputstr.h" #include "windowstr.h" @@ -109,6 +108,7 @@ SOFTWARE. #include "xiquerydevice.h" /* For List*Info */ #include "eventstr.h" #include "inpututils.h" +#include "mi.h" #include "xkbsrv.h" #define WID(w) ((w) ? ((w)->drawable.id) : 0) diff --git a/Xi/extinit.c b/Xi/extinit.c index f6f21f30d..331556da3 100644 --- a/Xi/extinit.c +++ b/Xi/extinit.c @@ -53,6 +53,9 @@ SOFTWARE. #include +#include "inputstr.h" +#include "gcstruct.h" /* pointer for extnsionst.h */ +#include "extnsionst.h" /* extension entry */ #include #include #include @@ -65,6 +68,7 @@ SOFTWARE. #include "gcstruct.h" /* pointer for extnsionst.h */ #include "extnsionst.h" /* extension entry */ #include "geext.h" /* extension interfaces for ge */ + #include "dixevents.h" #include "extinit_priv.h" #include "exglobals.h" diff --git a/Xi/grabdev.c b/Xi/grabdev.c index 9bae237d1..2919479c6 100644 --- a/Xi/grabdev.c +++ b/Xi/grabdev.c @@ -52,15 +52,13 @@ SOFTWARE. #include -#include -#include - -#include "dix/dix_priv.h" - #include "inputstr.h" /* DeviceIntPtr */ #include "windowstr.h" /* window structure */ +#include +#include #include "exglobals.h" #include "dixevents.h" /* GrabDevice */ + #include "grabdev.h" extern XExtEventInfo EventInfo[]; diff --git a/Xi/setfocus.c b/Xi/setfocus.c index 16f969436..fd855b56c 100644 --- a/Xi/setfocus.c +++ b/Xi/setfocus.c @@ -52,16 +52,15 @@ SOFTWARE. #include +#include "windowstr.h" /* focus struct */ +#include "inputstr.h" /* DeviceIntPtr */ #include #include -#include "windowstr.h" /* focus struct */ -#include "inputstr.h" /* DeviceIntPtr */ - -#include "dix/dix_priv.h" - #include "dixevents.h" + #include "exglobals.h" + #include "setfocus.h" /*********************************************************************** diff --git a/Xi/xibarriers.c b/Xi/xibarriers.c index bca99b3d3..f6f3b16f4 100644 --- a/Xi/xibarriers.c +++ b/Xi/xibarriers.c @@ -45,7 +45,6 @@ #include "dix/dix_priv.h" #include "dix/input_priv.h" -#include "mi/mi_priv.h" #include "xibarriers.h" #include "scrnintstr.h" @@ -59,6 +58,7 @@ #include "list.h" #include "exglobals.h" #include "eventstr.h" +#include "mi.h" RESTYPE PointerBarrierType; diff --git a/Xi/xichangehierarchy.c b/Xi/xichangehierarchy.c index c49fb4cfc..1607f8050 100644 --- a/Xi/xichangehierarchy.c +++ b/Xi/xichangehierarchy.c @@ -45,12 +45,17 @@ #include "inputstr.h" /* DeviceIntPtr */ #include "windowstr.h" /* window structure */ #include "scrnintstr.h" /* screen structure */ +#include +#include +#include #include "extnsionst.h" #include "exglobals.h" #include "misc.h" #include "xace.h" #include "xiquerydevice.h" /* for GetDeviceUse */ + #include "xkbsrv.h" + #include "xichangehierarchy.h" #include "xibarriers.h" diff --git a/Xi/xigrabdev.c b/Xi/xigrabdev.c index f7fea9cf3..038bc954f 100644 --- a/Xi/xigrabdev.c +++ b/Xi/xigrabdev.c @@ -31,6 +31,8 @@ #include +#include "inputstr.h" /* DeviceIntPtr */ +#include "windowstr.h" /* window structure */ #include #include diff --git a/Xi/xisetdevfocus.c b/Xi/xisetdevfocus.c index bf2103fdc..ccfd2e7db 100644 --- a/Xi/xisetdevfocus.c +++ b/Xi/xisetdevfocus.c @@ -30,13 +30,11 @@ #include +#include "inputstr.h" /* DeviceIntPtr */ +#include "windowstr.h" /* window structure */ #include #include -#include "dix/dix_priv.h" - -#include "inputstr.h" /* DeviceIntPtr */ -#include "windowstr.h" /* window structure */ #include "exglobals.h" /* BadDevice */ #include "xisetdevfocus.h" diff --git a/dix/colormap_priv.h b/dix/colormap_priv.h index 266e44793..c7d879c79 100644 --- a/dix/colormap_priv.h +++ b/dix/colormap_priv.h @@ -8,7 +8,6 @@ #include #include -#include "dix/screenint_priv.h" #include "include/colormap.h" #include "include/dix.h" #include "include/window.h" diff --git a/dix/cursor.c b/dix/cursor.c index 6edd1f307..15b201c1a 100644 --- a/dix/cursor.c +++ b/dix/cursor.c @@ -48,9 +48,6 @@ SOFTWARE. #include #include - -#include "dix/dix_priv.h" - #include "servermd.h" #include "scrnintstr.h" #include "dixstruct.h" diff --git a/dix/devices.c b/dix/devices.c index 740390207..85805231d 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -60,7 +60,6 @@ SOFTWARE. #include "dix/exevents_priv.h" #include "dix/input_priv.h" #include "dix/ptrveloc_priv.h" -#include "mi/mi_priv.h" #include "os/osdep.h" #include "xkb/xkbsrv_priv.h" @@ -74,6 +73,7 @@ SOFTWARE. #include "ptrveloc.h" #include "privates.h" #include "xace.h" +#include "mi.h" #include "dispatch.h" #include "swaprep.h" #include "dixevents.h" diff --git a/dix/dispatch.c b/dix/dispatch.c index 462b26516..ac01b52ee 100644 --- a/dix/dispatch.c +++ b/dix/dispatch.c @@ -100,6 +100,9 @@ Equipment Corporation. #include #include +#include "dix/registry_priv.h" + +#include "windowstr.h" #include #include @@ -108,16 +111,15 @@ Equipment Corporation. #include "dix/input_priv.h" #include "dix/gc_priv.h" #include "dix/registry_priv.h" -#include "dix/screenint_priv.h" #include "include/resource.h" #include "os/auth.h" #include "os/client_priv.h" -#include "os/ddx_priv.h" #include "os/osdep.h" #include "os/screensaver.h" #include "windowstr.h" #include "dixfontstr.h" +#include "dix_priv.h" #include "gcstruct.h" #include "selection.h" #include "colormapst.h" @@ -4147,4 +4149,3 @@ DetachOffloadGPU(ScreenPtr secondary) assert(secondary->is_offload_secondary); secondary->is_offload_secondary = FALSE; } - diff --git a/dix/display.c b/dix/display.c index 5e8cf7bc5..4fbb026bc 100644 --- a/dix/display.c +++ b/dix/display.c @@ -7,6 +7,7 @@ #include "dix/dix_priv.h" #include "include/dix.h" #include "include/screenint.h" +#include "opaque.h" const char *display = "0"; int displayfd = -1; diff --git a/dix/dix_priv.h b/dix/dix_priv.h index ec2ff44be..f4ef8faa0 100644 --- a/dix/dix_priv.h +++ b/dix/dix_priv.h @@ -15,35 +15,18 @@ #include #include -#include -#include "include/callback.h" -#include "include/cursor.h" #include "include/dix.h" -#include "include/events.h" #include "include/gc.h" -#include "include/input.h" #include "include/window.h" /* server setting: maximum size for big requests */ #define MAX_BIG_REQUEST_SIZE 4194303 extern long maxBigRequestSize; -extern char dispatchExceptionAtReset; -extern int terminateDelay; -extern Bool touchEmulatePointer; - -extern HWEventQueuePtr checkForInput[2]; - /* -retro mode */ extern Bool party_like_its_1989; -static inline _X_NOTSAN Bool -InputCheckPending(void) -{ - return (*checkForInput[0] != *checkForInput[1]); -} - void ClearWorkQueue(void); void ProcessWorkQueue(void); void ProcessWorkQueueZombies(void); @@ -86,170 +69,4 @@ int dixLookupClient(ClientPtr *result, ClientPtr client, Mask access_mode); -Bool CreateConnectionBlock(void); - -void EnableLimitedSchedulingLatency(void); - -void DisableLimitedSchedulingLatency(void); - -int dix_main(int argc, char *argv[], char *envp[]); - -void SetMaskForEvent(int deviceid, Mask mask, int event); - -void EnqueueEvent(InternalEvent *ev, DeviceIntPtr device); - -void PlayReleasedEvents(void); - -void ActivatePointerGrab(DeviceIntPtr mouse, - GrabPtr grab, - TimeStamp time, - Bool autoGrab); - -void DeactivatePointerGrab(DeviceIntPtr mouse); - -void ActivateKeyboardGrab(DeviceIntPtr keybd, - GrabPtr grab, - TimeStamp time, - Bool passive); - -void DeactivateKeyboardGrab(DeviceIntPtr keybd); - -BOOL ActivateFocusInGrab(DeviceIntPtr dev, WindowPtr old, WindowPtr win); - -void AllowSome(ClientPtr client, - TimeStamp time, - DeviceIntPtr thisDev, - int newState); - -void ReleaseActiveGrabs(ClientPtr client); - -GrabPtr CheckPassiveGrabsOnWindow(WindowPtr pWin, - DeviceIntPtr device, - InternalEvent *event, - BOOL checkCore, - BOOL activate); - -int DeliverDeviceEvents(WindowPtr pWin, - InternalEvent *event, - GrabPtr grab, - WindowPtr stopAt, - DeviceIntPtr dev); - -int DeliverOneGrabbedEvent(InternalEvent *event, - DeviceIntPtr dev, - enum InputLevel level); - -void DeliverTouchEvents(DeviceIntPtr dev, - TouchPointInfoPtr ti, - InternalEvent *ev, - XID resource); - -Bool DeliverGestureEventToOwner(DeviceIntPtr dev, - GestureInfoPtr gi, - InternalEvent *ev); - -void InitializeSprite(DeviceIntPtr pDev, WindowPtr pWin); -void FreeSprite(DeviceIntPtr pDev); -void UpdateSpriteForScreen(DeviceIntPtr pDev, ScreenPtr pScreen); - -Bool CheckDeviceGrabs(DeviceIntPtr device, - InternalEvent *event, - WindowPtr ancestor); - -void DeliverFocusedEvent(DeviceIntPtr keybd, - InternalEvent *event, - WindowPtr window); - -int DeliverGrabbedEvent(InternalEvent *event, - DeviceIntPtr thisDev, - Bool deactivateGrab); - -void FreezeThisEventIfNeededForSyncGrab(DeviceIntPtr thisDev, - InternalEvent *event); - -void FixKeyState(DeviceEvent *event, DeviceIntPtr keybd); - -void RecalculateDeliverableEvents(WindowPtr pWin); - -void DoFocusEvents(DeviceIntPtr dev, - WindowPtr fromWin, - WindowPtr toWin, - int mode); - -int SetInputFocus(ClientPtr client, - DeviceIntPtr dev, - Window focusID, - CARD8 revertTo, - Time ctime, - Bool followOK); - -int GrabDevice(ClientPtr client, - DeviceIntPtr dev, - unsigned this_mode, - unsigned other_mode, - Window grabWindow, - unsigned ownerEvents, - Time ctime, - GrabMask *mask, - int grabtype, - Cursor curs, - Window confineToWin, - CARD8 *status); - -void InitEvents(void); - -void CloseDownEvents(void); - -void DeleteWindowFromAnyEvents(WindowPtr pWin, Bool freeResources); - -Mask EventMaskForClient(WindowPtr pWin, ClientPtr client); - -Bool CheckMotion(DeviceEvent *ev, DeviceIntPtr pDev); - -int SetClientPointer(ClientPtr client, DeviceIntPtr device); - -Bool IsInterferingGrab(ClientPtr client, DeviceIntPtr dev, xEvent *events); - -int XItoCoreType(int xi_type); - -Bool DevHasCursor(DeviceIntPtr pDev); - -Bool IsPointerEvent(InternalEvent *event); - -Bool IsTouchEvent(InternalEvent *event); - -Bool IsGestureEvent(InternalEvent *event); - -Bool IsGestureBeginEvent(InternalEvent *event); - -Bool IsGestureEndEvent(InternalEvent *event); - -void CopyKeyClass(DeviceIntPtr device, DeviceIntPtr master); - -int CorePointerProc(DeviceIntPtr dev, int what); - -int CoreKeyboardProc(DeviceIntPtr dev, int what); - -extern Bool whiteRoot; - -extern volatile char isItTimeToYield; - -/* bit values for dispatchException */ -#define DE_RESET 1 -#define DE_TERMINATE 2 -#define DE_PRIORITYCHANGE 4 /* set when a client's priority changes */ - -extern volatile char dispatchException; - -extern int ScreenSaverBlanking; -extern int ScreenSaverAllowExposures; -extern int defaultScreenSaverBlanking; -extern int defaultScreenSaverAllowExposures; -extern const char *display; -extern int displayfd; -extern Bool explicit_display; - -extern Bool disableBackingStore; -extern Bool enableBackingStore; - #endif /* _XSERVER_DIX_PRIV_H */ diff --git a/dix/enterleave.c b/dix/enterleave.c index c10d27e96..9c6188ec8 100644 --- a/dix/enterleave.c +++ b/dix/enterleave.c @@ -31,7 +31,6 @@ #include #include -#include "dix/dix_priv.h" #include "dix/eventconvert.h" #include "dix/input_priv.h" diff --git a/dix/eventconvert.c b/dix/eventconvert.c index d805018f8..715bbf716 100644 --- a/dix/eventconvert.c +++ b/dix/eventconvert.c @@ -37,7 +37,6 @@ #include #include -#include "dix/dix_priv.h" #include "dix/eventconvert.h" #include "dix/exevents_priv.h" diff --git a/dix/gestures.c b/dix/gestures.c index 4889a145a..02bdd406e 100644 --- a/dix/gestures.c +++ b/dix/gestures.c @@ -29,15 +29,16 @@ #include "dix/dixgrabs_priv.h" #include "dix/eventconvert.h" #include "dix/input_priv.h" -#include "mi/mi_priv.h" #include "inputstr.h" #include "scrnintstr.h" + #include "eventstr.h" #include "exevents.h" #include "exglobals.h" #include "inpututils.h" #include "windowstr.h" +#include "mi.h" #define GESTURE_HISTORY_SIZE 100 diff --git a/dix/getevents.c b/dix/getevents.c index 4cdd2b711..465747287 100644 --- a/dix/getevents.c +++ b/dix/getevents.c @@ -41,7 +41,6 @@ #include #include "dix/input_priv.h" -#include "mi/mi_priv.h" #include "misc.h" #include "resource.h" @@ -55,6 +54,7 @@ #include "eventstr.h" #include "eventconvert.h" #include "inpututils.h" +#include "mi.h" #include "windowstr.h" #include "xkbsrv.h" diff --git a/dix/globals.c b/dix/globals.c index 309b67a0c..b92476c7a 100644 --- a/dix/globals.c +++ b/dix/globals.c @@ -48,15 +48,13 @@ SOFTWARE. #include #include - -#include "dix/dix_priv.h" - #include "misc.h" #include "windowstr.h" #include "scrnintstr.h" #include "input.h" #include "dixfont.h" #include "dixstruct.h" +#include "dix_priv.h" #include "os.h" ScreenInfo screenInfo; diff --git a/dix/main.c b/dix/main.c index 040dfd225..6bd310c70 100644 --- a/dix/main.c +++ b/dix/main.c @@ -93,8 +93,6 @@ Equipment Corporation. #include "os/audit.h" #include "os/auth.h" #include "os/client_priv.h" -#include "os/cmdline.h" -#include "os/ddx_priv.h" #include "os/osdep.h" #include "os/screensaver.h" @@ -110,6 +108,10 @@ Equipment Corporation. #include "colormapst.h" #include "cursorstr.h" #include "selection.h" +#include +#include +#include +#include "opaque.h" #include "servermd.h" #include "dixfont.h" #include "extnsionst.h" diff --git a/dix/pixmap.c b/dix/pixmap.c index 020ceb83a..3324f947b 100644 --- a/dix/pixmap.c +++ b/dix/pixmap.c @@ -29,11 +29,8 @@ from The Open Group. #include #include -#include - -#include "mi/mi_priv.h" - #include "scrnintstr.h" +#include "mi.h" #include "misc.h" #include "os.h" #include "windowstr.h" @@ -41,6 +38,7 @@ from The Open Group. #include "dixstruct.h" #include "gcstruct.h" #include "servermd.h" +#include "X11/extensions/render.h" #include "picturestr.h" #include "randrstr.h" /* diff --git a/dix/screenint_priv.h b/dix/screenint_priv.h deleted file mode 100644 index 616cfbfb6..000000000 --- a/dix/screenint_priv.h +++ /dev/null @@ -1,26 +0,0 @@ -/* SPDX-License-Identifier: MIT OR X11 - * - * Copyright © 2024 Enrico Weigelt, metux IT consult - * Copyright © 1987, 1998 The Open Group - */ -#ifndef _XSERVER_DIX_SCREENINT_PRIV_H -#define _XSERVER_DIX_SCREENINT_PRIV_H - -#include - -#include "screenint.h" - -typedef Bool (*ScreenInitProcPtr)(ScreenPtr pScreen, int argc, char **argv); - -int AddScreen(ScreenInitProcPtr pfnInit, int argc, char **argv); -int AddGPUScreen(ScreenInitProcPtr pfnInit, int argc, char **argv); - -void RemoveGPUScreen(ScreenPtr pScreen); - -void AttachUnboundGPU(ScreenPtr pScreen, ScreenPtr newScreen); -void DetachUnboundGPU(ScreenPtr unbound); - -void AttachOffloadGPU(ScreenPtr pScreen, ScreenPtr newScreen); -void DetachOffloadGPU(ScreenPtr slave); - -#endif /* _XSERVER_DIX_SCREENINT_PRIV_H */ diff --git a/dix/touch.c b/dix/touch.c index 749454637..31011b059 100644 --- a/dix/touch.c +++ b/dix/touch.c @@ -31,7 +31,6 @@ #include "dix/eventconvert.h" #include "dix/exevents_priv.h" #include "dix/input_priv.h" -#include "mi/mi_priv.h" #include "inputstr.h" #include "scrnintstr.h" @@ -39,6 +38,7 @@ #include "exglobals.h" #include "inpututils.h" #include "windowstr.h" +#include "mi.h" #define TOUCH_HISTORY_SIZE 100 diff --git a/dix/window.c b/dix/window.c index e8ce20928..a613345b6 100644 --- a/dix/window.c +++ b/dix/window.c @@ -103,7 +103,6 @@ Equipment Corporation. #include "dix/exevents_priv.h" #include "dix/input_priv.h" #include "dix/property_priv.h" -#include "mi/mi_priv.h" /* miPaintWindow */ #include "os/auth.h" #include "os/client_priv.h" #include "os/screensaver.h" @@ -129,6 +128,7 @@ Equipment Corporation. #endif /* XINERAMA */ #include "dixevents.h" #include "globals.h" +#include "mi.h" /* miPaintWindow */ #ifdef COMPOSITE #include "compint.h" #endif diff --git a/fb/fboverlay.c b/fb/fboverlay.c index 7ea8e660b..5ead17315 100644 --- a/fb/fboverlay.c +++ b/fb/fboverlay.c @@ -26,8 +26,6 @@ #include -#include "mi/mi_priv.h" - #include "fb.h" #include "fboverlay.h" #include "shmint.h" diff --git a/glx/vndext.c b/glx/vndext.c index a0519ff65..92b3001a3 100644 --- a/glx/vndext.c +++ b/glx/vndext.c @@ -40,8 +40,6 @@ #include #include "vndservervendor.h" -#include "dix/dix_priv.h" - ExtensionEntry *GlxExtensionEntry; int GlxErrorBase = 0; static CallbackListRec vndInitCallbackList; diff --git a/hw/kdrive/ephyr/ephyr.c b/hw/kdrive/ephyr/ephyr.c index 1971cf431..069270219 100644 --- a/hw/kdrive/ephyr/ephyr.c +++ b/hw/kdrive/ephyr/ephyr.c @@ -30,6 +30,7 @@ #include "mi/mipointer_priv.h" #include "os/client_priv.h" +#include "os/osdep.h" #include "ephyr.h" #include "inputstr.h" diff --git a/hw/kdrive/ephyr/ephyrinit.c b/hw/kdrive/ephyr/ephyrinit.c index 16c477dad..b1341e1a4 100644 --- a/hw/kdrive/ephyr/ephyrinit.c +++ b/hw/kdrive/ephyr/ephyrinit.c @@ -25,9 +25,7 @@ #include -#include "dix/dix_priv.h" -#include "os/cmdline.h" -#include "os/ddx_priv.h" +#include "os/osdep.h" #include "ephyr.h" #include "ephyrlog.h" diff --git a/hw/kdrive/src/kdrive.c b/hw/kdrive/src/kdrive.c index ba4feda03..fa2848c78 100644 --- a/hw/kdrive/src/kdrive.c +++ b/hw/kdrive/src/kdrive.c @@ -23,15 +23,11 @@ #include #include "config/hotplug_priv.h" -#include "dix/screenint_priv.h" -#include "os/cmdline.h" -#include "os/ddx_priv.h" #include "kdrive.h" #include #include #include "privates.h" - #ifdef RANDR #include #endif diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c index ad5d4b047..ebeb34764 100644 --- a/hw/kdrive/src/kinput.c +++ b/hw/kdrive/src/kinput.c @@ -41,7 +41,6 @@ #include "dix/input_priv.h" #include "mi/mi_priv.h" #include "mi/mipointer_priv.h" -#include "os/cmdline.h" #include "xkbsrv.h" #include "XIstubs.h" /* even though we don't use stubs. cute, no? */ @@ -53,6 +52,10 @@ #include "inpututils.h" #include "optionstr.h" +#if defined(CONFIG_UDEV) || defined(CONFIG_HAL) +#include +#endif + #define AtomFromName(x) MakeAtom(x, strlen(x), 1) struct KdConfigDevice { diff --git a/hw/vfb/InitInput.c b/hw/vfb/InitInput.c index 447f23931..ca451604d 100644 --- a/hw/vfb/InitInput.c +++ b/hw/vfb/InitInput.c @@ -29,16 +29,14 @@ from The Open Group. #include #include +#include "mi.h" #include -#include -#include - -#include "mi/mi_priv.h" - #include "scrnintstr.h" #include "inputstr.h" +#include #include "mipointer.h" #include "xkbsrv.h" +#include #include "xserver-properties.h" #include "exevents.h" #include "extinit.h" diff --git a/hw/vfb/InitOutput.c b/hw/vfb/InitOutput.c index 9463bc118..fff1a6403 100644 --- a/hw/vfb/InitOutput.c +++ b/hw/vfb/InitOutput.c @@ -38,10 +38,7 @@ from The Open Group. #include "dix/colormap_priv.h" #include "dix/dix_priv.h" -#include "dix/screenint_priv.h" -#include "mi/mipointer_priv.h" -#include "os/cmdline.h" -#include "os/ddx_priv.h" +#include "os/osdep.h" #include "scrnintstr.h" #include "servermd.h" diff --git a/hw/xfree86/common/xf86Configure.c b/hw/xfree86/common/xf86Configure.c index d1f7ba14b..6c71d83cf 100644 --- a/hw/xfree86/common/xf86Configure.c +++ b/hw/xfree86/common/xf86Configure.c @@ -29,7 +29,7 @@ #include -#include "os/ddx_priv.h" +#include "os/osdep.h" #include "xf86.h" #include "xf86Config.h" diff --git a/hw/xfree86/common/xf86Cursor.c b/hw/xfree86/common/xf86Cursor.c index 8a3b5c778..c663310d5 100644 --- a/hw/xfree86/common/xf86Cursor.c +++ b/hw/xfree86/common/xf86Cursor.c @@ -34,7 +34,6 @@ #include #include "dix/input_priv.h" -#include "mi/mipointer_priv.h" #include "cursor.h" #include "mipointer.h" diff --git a/hw/xfree86/common/xf86DGA.c b/hw/xfree86/common/xf86DGA.c index 41b58d9e3..98e9b3581 100644 --- a/hw/xfree86/common/xf86DGA.c +++ b/hw/xfree86/common/xf86DGA.c @@ -41,22 +41,20 @@ #include #endif -#include #include #include -#include #include "dix/colormap_priv.h" #include "dix/dix_priv.h" #include "dix/eventconvert.h" #include "dix/exevents_priv.h" -#include "mi/mi_priv.h" #include "xf86.h" #include "xf86str.h" #include "xf86Priv.h" #include "dgaproc.h" #include "dgaproc_priv.h" +#include #include "colormapst.h" #include "pixmapstr.h" #include "inputstr.h" @@ -68,6 +66,9 @@ #include "exglobals.h" #include "eventstr.h" #include "xf86Extensions.h" + +#include "mi.h" + #include "misc.h" #include "dixstruct.h" #include "dixevents.h" @@ -78,6 +79,8 @@ #include "dgaproc.h" #include "protocol-versions.h" +#include + #define DGA_PROTOCOL_OLD_SUPPORT 1 static DevPrivateKeyRec DGAScreenKeyRec; diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c index 2a595b6e3..ed4f85e9a 100644 --- a/hw/xfree86/common/xf86Events.c +++ b/hw/xfree86/common/xf86Events.c @@ -59,17 +59,15 @@ #include #include #include -#include -#include "dix/dix_priv.h" #include "dix/input_priv.h" -#include "mi/mi_priv.h" #include "misc.h" #include "xf86.h" #include "xf86Priv.h" #include "xf86_os_support.h" #include "xf86_OSlib.h" +#include #ifdef XFreeXDGA #include "dgaproc.h" @@ -78,7 +76,9 @@ #include "inputstr.h" #include "xf86Xinput.h" +#include "mi.h" #include "mipointer.h" + #include "xkbsrv.h" #include "xkbstr.h" diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c index 430482c38..564be38af 100644 --- a/hw/xfree86/common/xf86Helper.c +++ b/hw/xfree86/common/xf86Helper.c @@ -43,8 +43,8 @@ #include "dix/dix_priv.h" #include "dix/input_priv.h" -#include "mi/mi_priv.h" +#include "mi.h" #include "os.h" #include "servermd.h" #include "pixmapstr.h" diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c index 970cc0dc4..052a063ae 100644 --- a/hw/xfree86/common/xf86Init.c +++ b/hw/xfree86/common/xf86Init.c @@ -54,14 +54,13 @@ #include "config/dbus-core.h" #include "config/hotplug_priv.h" #include "dix/input_priv.h" -#include "dix/screenint_priv.h" -#include "mi/mi_priv.h" -#include "os/cmdline.h" -#include "os/ddx_priv.h" +#include "os/osdep.h" +#include "input.h" #include "servermd.h" #include "windowstr.h" #include "scrnintstr.h" +#include "mi.h" #include "systemd-logind.h" #include "loaderProcs.h" diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c index 2d310cc58..4baa48cd1 100644 --- a/hw/xfree86/common/xf86Xinput.c +++ b/hw/xfree86/common/xf86Xinput.c @@ -50,14 +50,12 @@ #include #endif -#include /* InputClassMatches */ #include #include #include #include #include -#include "dix/dix_priv.h" #include "dix/ptrveloc_priv.h" #include "dix/input_priv.h" @@ -71,12 +69,14 @@ #include "extinit.h" #include "loaderProcs.h" #include "systemd-logind.h" + #include "exevents.h" /* AddInputDevice */ #include "exglobals.h" #include "eventstr.h" #include "inpututils.h" #include "optionstr.h" +#include /* InputClassMatches */ #ifdef HAVE_FNMATCH_H #include #endif diff --git a/hw/xfree86/common/xf86cmap.c b/hw/xfree86/common/xf86cmap.c index 84f6a495d..ca547cc33 100644 --- a/hw/xfree86/common/xf86cmap.c +++ b/hw/xfree86/common/xf86cmap.c @@ -36,11 +36,9 @@ #include "misc.h" #include "dix/colormap_priv.h" -#include "mi/mi_priv.h" - -#include "misc.h" #include "colormapst.h" #include "scrnintstr.h" + #include "resource.h" #include "xf86.h" diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c index 2962c8b21..63c1be2c9 100644 --- a/hw/xfree86/common/xf86platformBus.c +++ b/hw/xfree86/common/xf86platformBus.c @@ -38,7 +38,6 @@ #include #include "config/hotplug_priv.h" -#include "dix/screenint_priv.h" #include "os.h" #include "systemd-logind.h" diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c index cdc4d0c7f..78ef815c0 100644 --- a/hw/xfree86/modes/xf86RandR12.c +++ b/hw/xfree86/modes/xf86RandR12.c @@ -27,7 +27,6 @@ #include #include "dix/input_priv.h" -#include "dix/screenint_priv.h" #include "xf86.h" #include "os.h" diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c index da0aa7635..68213ab49 100644 --- a/hw/xfree86/modes/xf86Rotate.c +++ b/hw/xfree86/modes/xf86Rotate.c @@ -28,19 +28,16 @@ #include #include #include -#include -#include -#include - -#include "dix/dix_priv.h" -#include "mi/mi_priv.h" - +#include "mi.h" #include "xf86.h" #include "xf86DDC.h" #include "windowstr.h" #include "xf86Crtc.h" #include "xf86Modes.h" #include "xf86RandR12.h" +#include "X11/extensions/render.h" +#include "X11/extensions/dpmsconst.h" +#include "X11/Xatom.h" void xf86RotateCrtcRedisplay(xf86CrtcPtr crtc, PixmapPtr dst_pixmap, diff --git a/hw/xfree86/os-support/bsd/bsd_init.c b/hw/xfree86/os-support/bsd/bsd_init.c index 6dafd410c..2f244d207 100644 --- a/hw/xfree86/os-support/bsd/bsd_init.c +++ b/hw/xfree86/os-support/bsd/bsd_init.c @@ -29,8 +29,6 @@ #include -#include "os/cmdline.h" - #include "compiler.h" #include "xf86.h" #include "xf86Priv.h" diff --git a/hw/xfree86/os-support/linux/lnx_init.c b/hw/xfree86/os-support/linux/lnx_init.c index 126371aeb..90ef01c9a 100644 --- a/hw/xfree86/os-support/linux/lnx_init.c +++ b/hw/xfree86/os-support/linux/lnx_init.c @@ -31,10 +31,9 @@ #include #include -#include "os/cmdline.h" - #include "compiler.h" #include "linux.h" + #include "xf86.h" #include "xf86Priv.h" #include "xf86_os_support.h" diff --git a/hw/xfree86/os-support/solaris/sun_init.c b/hw/xfree86/os-support/solaris/sun_init.c index 4e91d3cfd..4c60bf3bb 100644 --- a/hw/xfree86/os-support/solaris/sun_init.c +++ b/hw/xfree86/os-support/solaris/sun_init.c @@ -29,8 +29,6 @@ #include #include -#include "../../../../os/cmdline.h" - #include "xf86.h" #include "xf86Priv.h" #include "xf86_os_support.h" diff --git a/hw/xnest/Args.c b/hw/xnest/Args.c index aa87558f3..e190ed054 100644 --- a/hw/xnest/Args.c +++ b/hw/xnest/Args.c @@ -17,8 +17,6 @@ is" without express or implied warranty. #include #include -#include "os/ddx_priv.h" - #include "screenint.h" #include "input.h" #include "misc.h" diff --git a/hw/xnest/Events.c b/hw/xnest/Events.c index 413206a2d..e58989d71 100644 --- a/hw/xnest/Events.c +++ b/hw/xnest/Events.c @@ -17,8 +17,6 @@ is" without express or implied warranty. #include #include -#include "mi/mi_priv.h" - #include "screenint.h" #include "input.h" #include "misc.h" @@ -27,6 +25,7 @@ is" without express or implied warranty. #include "servermd.h" #include "inputstr.h" #include "inpututils.h" +#include "mi.h" #include "Xnest.h" diff --git a/hw/xnest/Init.c b/hw/xnest/Init.c index e9c5fc59b..d092f9363 100644 --- a/hw/xnest/Init.c +++ b/hw/xnest/Init.c @@ -20,9 +20,7 @@ is" without express or implied warranty. #include #include -#include "dix/screenint_priv.h" -#include "mi/mi_priv.h" -#include "os/ddx_priv.h" +#include "os/osdep.h" #include "screenint.h" #include "input.h" @@ -30,6 +28,7 @@ is" without express or implied warranty. #include "scrnintstr.h" #include "windowstr.h" #include "servermd.h" +#include "mi.h" #include "dixfontstr.h" #include "extinit_priv.h" #include "Xnest.h" diff --git a/hw/xnest/Screen.c b/hw/xnest/Screen.c index bab6096b1..4c7ebd95b 100644 --- a/hw/xnest/Screen.c +++ b/hw/xnest/Screen.c @@ -17,8 +17,8 @@ is" without express or implied warranty. #include #include +#include "mi/mi.h" #include "mi/mi_priv.h" -#include "mi/mipointer_priv.h" #include "scrnintstr.h" #include "dix.h" diff --git a/hw/xnest/Window.c b/hw/xnest/Window.c index d8a203a03..d7ad0097d 100644 --- a/hw/xnest/Window.c +++ b/hw/xnest/Window.c @@ -17,8 +17,6 @@ is" without express or implied warranty. #include #include -#include "mi/mi_priv.h" - #include "gcstruct.h" #include "window.h" #include "windowstr.h" diff --git a/hw/xquartz/darwin.c b/hw/xquartz/darwin.c index aba4869f8..cdeff49ea 100644 --- a/hw/xquartz/darwin.c +++ b/hw/xquartz/darwin.c @@ -34,7 +34,7 @@ #include #include -#include "os/ddx_priv.h" +#include "os/osdep.h" #include "os.h" #include "servermd.h" diff --git a/hw/xquartz/darwinEvents.c b/hw/xquartz/darwinEvents.c index 5aa16ffab..b8d85a17e 100644 --- a/hw/xquartz/darwinEvents.c +++ b/hw/xquartz/darwinEvents.c @@ -45,16 +45,14 @@ #include #include #include - -#include "mi/mi_priv.h" #include "os/client_priv.h" - #include "misc.h" #include "windowstr.h" #include "pixmapstr.h" #include "inputstr.h" #include "inpututils.h" #include "eventstr.h" +#include "mi.h" #include "scrnintstr.h" #include "mipointer.h" #include "os.h" diff --git a/hw/xquartz/xpr/xprCursor.c b/hw/xquartz/xpr/xprCursor.c index 5b0ad8a33..22b52344d 100644 --- a/hw/xquartz/xpr/xprCursor.c +++ b/hw/xquartz/xpr/xprCursor.c @@ -38,8 +38,6 @@ #include "darwinEvents.h" #include -#include "mi/mipointer_priv.h" - #include "mi.h" #include "scrnintstr.h" #include "cursorstr.h" diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c index 447627dc6..baa49801d 100644 --- a/hw/xwayland/xwayland-input.c +++ b/hw/xwayland/xwayland-input.c @@ -32,13 +32,13 @@ #include "dix/dix_priv.h" #include "dix/exevents_priv.h" #include "dix/input_priv.h" -#include "mi/mi_priv.h" #include "mi/mipointer_priv.h" #include #include #include #include +#include #include #include #include diff --git a/hw/xwayland/xwayland-window.c b/hw/xwayland/xwayland-window.c index dac4b4ed6..c78d2d761 100644 --- a/hw/xwayland/xwayland-window.c +++ b/hw/xwayland/xwayland-window.c @@ -24,7 +24,7 @@ */ #include - +#include "dix/dix_priv.h" #include #include #include @@ -32,8 +32,6 @@ #include #include -#include "dix/dix_priv.h" - #include "compositeext.h" #include "compint.h" #include "inputstr.h" diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c index 1ff032287..326015a81 100644 --- a/hw/xwayland/xwayland.c +++ b/hw/xwayland/xwayland.c @@ -35,11 +35,7 @@ #include #include -#include "dix/dix_priv.h" -#include "dix/screenint_priv.h" -#include "os/cmdline.h" #include "os/client_priv.h" -#include "os/ddx_priv.h" #include "os/fmt.h" #include "os/osdep.h" #include "os/xserver_poll.h" diff --git a/hw/xwin/InitInput.c b/hw/xwin/InitInput.c index c50464a60..6aced4f9c 100644 --- a/hw/xwin/InitInput.c +++ b/hw/xwin/InitInput.c @@ -29,9 +29,6 @@ #ifdef HAVE_XWIN_CONFIG_H #include #endif - -#include "mi/mi_priv.h" - #include "win.h" #include "dixstruct_priv.h" #include "inputstr.h" diff --git a/hw/xwin/InitOutput.c b/hw/xwin/InitOutput.c index aeb6b9f84..d0d20b582 100644 --- a/hw/xwin/InitOutput.c +++ b/hw/xwin/InitOutput.c @@ -32,13 +32,9 @@ from The Open Group. #include #endif -#include "win.h" - -#include "dix/dix_priv.h" -#include "dix/screenint_priv.h" -#include "os/ddx_priv.h" #include "os/osdep.h" +#include "win.h" #include "winmsg.h" #include "winconfig.h" #include "winprefs.h" @@ -63,15 +59,13 @@ typedef WINAPI HRESULT(*SHGETFOLDERPATHPROC) (HWND hwndOwner, DWORD dwFlags, LPTSTR pszPath); #endif -#include "dix/screenint_priv.h" +#include "os/osdep.h" #include "winmonitors.h" #include "nonsdk_extinit.h" #include "extinit_priv.h" #include "pseudoramiX/pseudoramiX.h" -#include "dix/dix_priv.h" - #include "glx_extinit.h" #ifdef XWIN_GLX_WINDOWS #include "glx/glwindows.h" diff --git a/hw/xwin/wincreatewnd.c b/hw/xwin/wincreatewnd.c index 58247675f..e3238ae76 100644 --- a/hw/xwin/wincreatewnd.c +++ b/hw/xwin/wincreatewnd.c @@ -31,9 +31,6 @@ #ifdef HAVE_XWIN_CONFIG_H #include #endif - -#include "dix/dix_priv.h" - #include "win.h" #include "shellapi.h" diff --git a/hw/xwin/wincursor.c b/hw/xwin/wincursor.c index 6b42c990e..3fc050bfa 100644 --- a/hw/xwin/wincursor.c +++ b/hw/xwin/wincursor.c @@ -36,9 +36,6 @@ #endif #include "win.h" #include "winmsg.h" - -#include "mi/mipointer_priv.h" - #include #include #include diff --git a/hw/xwin/windisplay.c b/hw/xwin/windisplay.c index 52ece1d88..17f0c7789 100644 --- a/hw/xwin/windisplay.c +++ b/hw/xwin/windisplay.c @@ -30,8 +30,6 @@ #endif #include // for display -#include "dix/dix_priv.h" // for display - #include "windisplay.h" #include "winmsg.h" diff --git a/hw/xwin/winkeybd.c b/hw/xwin/winkeybd.c index 8956b859e..00586c25b 100644 --- a/hw/xwin/winkeybd.c +++ b/hw/xwin/winkeybd.c @@ -34,16 +34,11 @@ #ifdef HAVE_XWIN_CONFIG_H #include #endif - -#include "mi/mi_priv.h" - #include "win.h" - -#include "dix/dix_priv.h" - #include "winkeybd.h" #include "winconfig.h" #include "winmsg.h" + #include "xkbsrv.h" /* C does not have a logical XOR operator, so we use a macro instead */ diff --git a/hw/xwin/winprocarg.c b/hw/xwin/winprocarg.c index 4f753982f..d7250fb6c 100644 --- a/hw/xwin/winprocarg.c +++ b/hw/xwin/winprocarg.c @@ -35,9 +35,7 @@ from The Open Group. #include #endif -#include "os/cmdline.h" #include "os/osdep.h" -#include "os/ddx_priv.h" #include <../xfree86/common/xorgVersion.h> #include "win.h" diff --git a/hw/xwin/wintrayicon.c b/hw/xwin/wintrayicon.c index 7da170d27..5d1e6aefa 100644 --- a/hw/xwin/wintrayicon.c +++ b/hw/xwin/wintrayicon.c @@ -38,8 +38,6 @@ #include "winprefs.h" #include "winclipboard/winclipboard.h" -#include "dix/dix_priv.h" - /* * Initialize the tray icon */ diff --git a/include/dix.h b/include/dix.h index 65e66e06c..874a63c0b 100644 --- a/include/dix.h +++ b/include/dix.h @@ -130,15 +130,26 @@ typedef struct _WorkQueue *WorkQueuePtr; extern _X_EXPORT ClientPtr clients[MAXCLIENTS]; extern _X_EXPORT ClientPtr serverClient; extern _X_EXPORT int currentMaxClients; +extern _X_EXPORT char dispatchExceptionAtReset; +extern _X_EXPORT int terminateDelay; +extern _X_EXPORT Bool touchEmulatePointer; + +typedef int HWEventQueueType; +typedef HWEventQueueType *HWEventQueuePtr; + +extern _X_EXPORT HWEventQueuePtr checkForInput[2]; + +static inline _X_NOTSAN Bool +InputCheckPending(void) +{ + return (*checkForInput[0] != *checkForInput[1]); +} typedef struct _TimeStamp { CARD32 months; /* really ~49.7 days */ CARD32 milliseconds; } TimeStamp; -typedef int HWEventQueueType; -typedef HWEventQueueType *HWEventQueuePtr; - /* dispatch.c */ extern _X_EXPORT void SetInputCheck(HWEventQueuePtr /*c0 */ , HWEventQueuePtr /*c1 */ ); @@ -160,6 +171,8 @@ extern _X_EXPORT void SendErrorToClient(ClientPtr /*client */ , extern _X_EXPORT void MarkClientException(ClientPtr /*client */ ); +extern _X_HIDDEN Bool CreateConnectionBlock(void); + /* dixutils.c */ extern _X_EXPORT int dixLookupWindow(WindowPtr *result, @@ -187,6 +200,12 @@ extern _X_EXPORT void BlockHandler(void *timeout); extern _X_EXPORT void WakeupHandler(int result); +void +EnableLimitedSchedulingLatency(void); + +void +DisableLimitedSchedulingLatency(void); + typedef void (*ServerBlockHandlerProcPtr) (void *blockData, void *timeout); @@ -260,8 +279,16 @@ InitAtoms(void); extern _X_EXPORT void SetVendorRelease(int release); +int +dix_main(int argc, char *argv[], char *envp[]); + /* events.c */ +extern void +SetMaskForEvent(int /* deviceid */ , + Mask /* mask */ , + int /* event */ ); + extern _X_EXPORT void ConfineToShape(DeviceIntPtr /* pDev */ , RegionPtr /* shape */ , @@ -281,23 +308,63 @@ GetSpriteWindow(DeviceIntPtr pDev); extern _X_EXPORT void NoticeTime(const DeviceIntPtr dev, TimeStamp time); - extern _X_EXPORT void NoticeEventTime(InternalEvent *ev, DeviceIntPtr dev); - extern _X_EXPORT TimeStamp LastEventTime(int deviceid); - extern _X_EXPORT Bool LastEventTimeWasReset(int deviceid); - extern _X_EXPORT void LastEventTimeToggleResetFlag(int deviceid, Bool state); - extern _X_EXPORT void LastEventTimeToggleResetAll(Bool state); +extern void +EnqueueEvent(InternalEvent * /* ev */ , + DeviceIntPtr /* device */ ); +extern void +PlayReleasedEvents(void); + +extern void +ActivatePointerGrab(DeviceIntPtr /* mouse */ , + GrabPtr /* grab */ , + TimeStamp /* time */ , + Bool /* autoGrab */ ); + +extern void +DeactivatePointerGrab(DeviceIntPtr /* mouse */ ); + +extern void +ActivateKeyboardGrab(DeviceIntPtr /* keybd */ , + GrabPtr /* grab */ , + TimeStamp /* time */ , + Bool /* passive */ ); + +extern void +DeactivateKeyboardGrab(DeviceIntPtr /* keybd */ ); + +extern BOOL +ActivateFocusInGrab(DeviceIntPtr /* dev */ , + WindowPtr /* old */ , + WindowPtr /* win */ ); + +extern void +AllowSome(ClientPtr /* client */ , + TimeStamp /* time */ , + DeviceIntPtr /* thisDev */ , + int /* newState */ ); + +extern void +ReleaseActiveGrabs(ClientPtr client); + +extern GrabPtr +CheckPassiveGrabsOnWindow(WindowPtr /* pWin */ , + DeviceIntPtr /* device */ , + InternalEvent * /* event */ , + BOOL /* checkCore */ , + BOOL /* activate */ ); + extern _X_EXPORT int DeliverEventsToWindow(DeviceIntPtr /* pWin */ , WindowPtr /* pWin */ , @@ -311,19 +378,123 @@ DeliverRawEvent(RawDeviceEvent * /* ev */ , DeviceIntPtr /* dev */ ); +extern int +DeliverDeviceEvents(WindowPtr /* pWin */ , + InternalEvent * /* event */ , + GrabPtr /* grab */ , + WindowPtr /* stopAt */ , + DeviceIntPtr /* dev */ ); + +extern int +DeliverOneGrabbedEvent(InternalEvent * /* event */ , + DeviceIntPtr /* dev */ , + enum InputLevel /* level */ ); + +extern void +DeliverTouchEvents(DeviceIntPtr /* dev */ , + TouchPointInfoPtr /* ti */ , + InternalEvent * /* ev */ , + XID /* resource */ ); + +extern Bool +DeliverGestureEventToOwner(DeviceIntPtr dev, GestureInfoPtr gi, + InternalEvent *ev); + +extern void +InitializeSprite(DeviceIntPtr /* pDev */ , + WindowPtr /* pWin */ ); +extern void +FreeSprite(DeviceIntPtr pDev); + +extern void +UpdateSpriteForScreen(DeviceIntPtr /* pDev */ , + ScreenPtr /* pScreen */ ); + extern _X_EXPORT void WindowHasNewCursor(WindowPtr /* pWin */ ); +extern Bool +CheckDeviceGrabs(DeviceIntPtr /* device */ , + InternalEvent * /* event */ , + WindowPtr /* ancestor */ ); + +extern void +DeliverFocusedEvent(DeviceIntPtr /* keybd */ , + InternalEvent * /* event */ , + WindowPtr /* window */ ); + +extern int +DeliverGrabbedEvent(InternalEvent * /* event */ , + DeviceIntPtr /* thisDev */ , + Bool /* deactivateGrab */ ); + +extern void +FreezeThisEventIfNeededForSyncGrab(DeviceIntPtr thisDev, + InternalEvent *event); + +extern void +FixKeyState(DeviceEvent * /* event */ , + DeviceIntPtr /* keybd */ ); + +extern void +RecalculateDeliverableEvents(WindowPtr /* pWin */ ); + extern _X_EXPORT int OtherClientGone(void *value, XID id); +extern void +DoFocusEvents(DeviceIntPtr /* dev */ , + WindowPtr /* fromWin */ , + WindowPtr /* toWin */ , + int /* mode */ ); + +extern int +SetInputFocus(ClientPtr /* client */ , + DeviceIntPtr /* dev */ , + Window /* focusID */ , + CARD8 /* revertTo */ , + Time /* ctime */ , + Bool /* followOK */ ); + +extern int +GrabDevice(ClientPtr /* client */ , + DeviceIntPtr /* dev */ , + unsigned /* this_mode */ , + unsigned /* other_mode */ , + Window /* grabWindow */ , + unsigned /* ownerEvents */ , + Time /* ctime */ , + GrabMask * /* mask */ , + int /* grabtype */ , + Cursor /* curs */ , + Window /* confineToWin */ , + CARD8 * /* status */ ); + +extern void +InitEvents(void); + +extern void +CloseDownEvents(void); + +extern void +DeleteWindowFromAnyEvents(WindowPtr /* pWin */ , + Bool /* freeResources */ ); + +extern Mask +EventMaskForClient(WindowPtr /* pWin */ , + ClientPtr /* client */ ); + extern _X_EXPORT int DeliverEvents(WindowPtr /*pWin */ , xEventPtr /*xE */ , int /*count */ , WindowPtr /*otherParent */ ); +extern Bool +CheckMotion(DeviceEvent * /* ev */ , + DeviceIntPtr /* pDev */ ); + extern _X_EXPORT void WriteEventsToClient(ClientPtr /*pClient */ , int /*count */ , @@ -341,12 +512,21 @@ TryClientEvents(ClientPtr /*client */ , extern _X_EXPORT void WindowsRestructured(void); +extern int +SetClientPointer(ClientPtr /* client */ , + DeviceIntPtr /* device */ ); + extern _X_EXPORT DeviceIntPtr PickPointer(ClientPtr /* client */ ); extern _X_EXPORT DeviceIntPtr PickKeyboard(ClientPtr /* client */ ); +extern Bool +IsInterferingGrab(ClientPtr /* client */ , + DeviceIntPtr /* dev */ , + xEvent * /* events */ ); + #ifdef RANDR extern _X_EXPORT void ScreenRestructured(ScreenPtr pScreen); @@ -392,18 +572,37 @@ typedef struct { extern _X_EXPORT CallbackListPtr RootWindowFinalizeCallback; +extern int +XItoCoreType(int xi_type); +extern Bool +DevHasCursor(DeviceIntPtr pDev); extern _X_EXPORT Bool IsPointerDevice(DeviceIntPtr dev); - extern _X_EXPORT Bool IsKeyboardDevice(DeviceIntPtr dev); +extern Bool +IsPointerEvent(InternalEvent *event); +extern Bool +IsTouchEvent(InternalEvent *event); +Bool +IsGestureEvent(InternalEvent *event); +Bool +IsGestureBeginEvent(InternalEvent *event); +Bool +IsGestureEndEvent(InternalEvent *event); extern _X_EXPORT Bool IsMaster(DeviceIntPtr dev); - extern _X_EXPORT Bool IsFloating(DeviceIntPtr dev); +extern _X_HIDDEN void +CopyKeyClass(DeviceIntPtr device, DeviceIntPtr master); +extern _X_HIDDEN int +CorePointerProc(DeviceIntPtr dev, int what); +extern _X_HIDDEN int +CoreKeyboardProc(DeviceIntPtr dev, int what); + extern _X_EXPORT void *lastGLContext; /** diff --git a/include/opaque.h b/include/opaque.h index 7850792e8..022efb4bc 100644 --- a/include/opaque.h +++ b/include/opaque.h @@ -35,6 +35,27 @@ from The Open Group. // needed by libglx and libglamor (server modules) extern _X_EXPORT Bool enableIndirectGLX; +extern _X_EXPORT volatile char isItTimeToYield; +extern _X_EXPORT volatile char dispatchException; + +/* bit values for dispatchException */ +#define DE_RESET 1 +#define DE_TERMINATE 2 +#define DE_PRIORITYCHANGE 4 /* set when a client's priority changes */ + +extern _X_EXPORT int ScreenSaverBlanking; +extern _X_EXPORT int ScreenSaverAllowExposures; +extern _X_EXPORT int defaultScreenSaverBlanking; +extern _X_EXPORT int defaultScreenSaverAllowExposures; +extern _X_EXPORT const char *display; +extern _X_EXPORT int displayfd; +extern _X_EXPORT Bool explicit_display; + +extern _X_EXPORT Bool disableBackingStore; +extern _X_EXPORT Bool enableBackingStore; +extern _X_EXPORT Bool RunFromSigStopParent; + +extern _X_EXPORT Bool whiteRoot; extern _X_EXPORT Bool bgNoneRoot; #endif /* OPAQUE_H */ diff --git a/include/os.h b/include/os.h index c4e0f15fc..244481351 100644 --- a/include/os.h +++ b/include/os.h @@ -84,6 +84,14 @@ typedef struct _NewClientRec *NewClientPtr; #include #include +#ifdef DDXBEFORERESET +extern void ddxBeforeReset(void); +#endif + +extern _X_EXPORT Bool WaitForSomething(Bool clients_are_ready); + +extern _X_EXPORT int ReadRequestFromClient(ClientPtr /*client */ ); + extern _X_EXPORT int ReadFdFromClient(ClientPtr client); extern _X_EXPORT void SetCriticalOutputPending(void); @@ -135,6 +143,14 @@ extern _X_EXPORT void TimerFree(OsTimerPtr /* pTimer */ ); extern _X_EXPORT void GiveUp(int /*sig */ ); +extern _X_EXPORT void UseMsg(void); + +extern _X_EXPORT void ProcessCommandLine(int /*argc */ , char * /*argv */ []); + +extern _X_EXPORT int set_font_authorizations(char **authorizations, + int *authlen, + void *client); + /* * This function malloc(3)s buffer, terminating the server if there is not * enough memory. @@ -242,9 +258,85 @@ OsAbort(void) extern _X_EXPORT Bool PrivsElevated(void); +extern _X_EXPORT void +CheckUserParameters(int argc, char **argv, char **envp); +extern _X_EXPORT void +CheckUserAuthorization(void); + +extern _X_EXPORT int +AddHost(ClientPtr /*client */ , + int /*family */ , + unsigned /*length */ , + const void * /*pAddr */ ); + +extern _X_EXPORT Bool +ForEachHostInFamily(int family, + Bool (*func)( + unsigned char *addr, + short len, + void *closure), + void *closure); + +extern _X_EXPORT int +RemoveHost(ClientPtr client, + int family, + unsigned length, + void *pAddr); + +extern _X_EXPORT int +GetHosts(void ** /*data */ , + int * /*pnHosts */ , + int * /*pLen */ , + BOOL * /*pEnabled */ ); + +typedef struct sockaddr *sockaddrPtr; + +extern _X_EXPORT int +InvalidHost(sockaddrPtr /*saddr */ , int /*len */ , ClientPtr client); + +#define LCC_UID_SET (1 << 0) +#define LCC_GID_SET (1 << 1) +#define LCC_PID_SET (1 << 2) +#define LCC_ZID_SET (1 << 3) + +typedef struct { + int fieldsSet; /* Bit mask of fields set */ + int euid; /* Effective uid */ + int egid; /* Primary effective group id */ + int nSuppGids; /* Number of supplementary group ids */ + int *pSuppGids; /* Array of supplementary group ids */ + int pid; /* Process id */ + int zoneid; /* Only set on Solaris 10 & later */ +} LocalClientCredRec; + +extern _X_EXPORT int +GetLocalClientCreds(ClientPtr, LocalClientCredRec **); + +extern _X_EXPORT void +FreeLocalClientCreds(LocalClientCredRec *); + +extern _X_EXPORT int +ChangeAccessControl(ClientPtr /*client */ , int /*fEnabled */ ); + extern _X_EXPORT int GetClientFd(ClientPtr); +extern _X_EXPORT Bool +ClientIsLocal(ClientPtr client); + +extern _X_EXPORT int +ddxProcessArgument(int /*argc */ , char * /*argv */ [], int /*i */ ); + +#define CHECK_FOR_REQUIRED_ARGUMENTS(num) \ + do if (((i + num) >= argc) || (!argv[i + num])) { \ + UseMsg(); \ + FatalError("Required argument to %s not specified\n", argv[i]); \ + } while (0) + + +extern _X_EXPORT void +ddxUseMsg(void); + /* stuff for ReplyCallback */ extern _X_EXPORT CallbackListPtr ReplyCallback; typedef struct { @@ -266,6 +358,10 @@ enum ExitCode { EXIT_ERR_DRIVERS = 3, }; +extern _X_EXPORT void +ddxGiveUp(enum ExitCode error); +extern _X_EXPORT void +ddxInputThreadInit(void); extern _X_EXPORT int TimeSinceLastInputEvent(void); diff --git a/include/screenint.h b/include/screenint.h index fc313042d..9a095d5ac 100644 --- a/include/screenint.h +++ b/include/screenint.h @@ -56,6 +56,22 @@ typedef struct _Screen *ScreenPtr; extern _X_EXPORT void AttachOutputGPU(ScreenPtr pScreen, ScreenPtr newScreen); extern _X_EXPORT void DetachOutputGPU(ScreenPtr output); +typedef Bool (*ScreenInitProcPtr)(ScreenPtr pScreen, int argc, char **argv); +extern _X_EXPORT int AddScreen(ScreenInitProcPtr pfnInit, int argc, char **argv); +extern _X_EXPORT int AddGPUScreen(ScreenInitProcPtr pfnInit, int argc, char **argv); + +extern _X_EXPORT void RemoveGPUScreen(ScreenPtr pScreen); + +extern _X_EXPORT void +AttachUnboundGPU(ScreenPtr pScreen, ScreenPtr newScreen); +extern _X_EXPORT void +DetachUnboundGPU(ScreenPtr unbound); + +extern _X_EXPORT void +AttachOffloadGPU(ScreenPtr pScreen, ScreenPtr newScreen); + +extern _X_EXPORT void +DetachOffloadGPU(ScreenPtr slave); typedef struct _ColormapRec *ColormapPtr; diff --git a/mi/mi.h b/mi/mi.h index 3a65f4cb1..b7b320d2c 100644 --- a/mi/mi.h +++ b/mi/mi.h @@ -67,6 +67,11 @@ typedef struct _miDash *miDashPtr; /* miarc.c */ +extern _X_EXPORT void miWideArc(DrawablePtr pDraw, + GCPtr pGC, + int narcs, + xArc * parcs); + extern _X_EXPORT void miPolyArc(DrawablePtr /*pDraw */ , GCPtr /*pGC */ , int /*narcs */ , @@ -108,12 +113,71 @@ miDoCopy(DrawablePtr pSrcDrawable, int xOut, int yOut, miCopyProc copyProc, Pixel bitplane, void *closure); +/* micursor.c */ + +extern _X_EXPORT void miRecolorCursor(DeviceIntPtr /* pDev */ , + ScreenPtr /*pScr */ , + CursorPtr /*pCurs */ , + Bool /*displayed */ + ); + +/* midash.c */ + +extern _X_EXPORT void miStepDash(int /*dist */ , + int * /*pDashIndex */ , + unsigned char * /*pDash */ , + int /*numInDashList */ , + int * /*pDashOffset */ + ); + /* mieq.c */ #ifndef INPUT_H typedef struct _DeviceRec *DevicePtr; #endif +extern _X_EXPORT Bool mieqInit(void + ); + +extern _X_EXPORT void mieqFini(void); + +extern _X_EXPORT void mieqEnqueue(DeviceIntPtr /*pDev */ , + InternalEvent * /*e */ + ); + +extern _X_EXPORT void mieqSwitchScreen(DeviceIntPtr /* pDev */ , + ScreenPtr /*pScreen */ , + Bool /*set_dequeue_screen */ + ); + +extern _X_EXPORT void mieqProcessDeviceEvent(DeviceIntPtr /* dev */ , + InternalEvent * /* event */ , + ScreenPtr /* screen */ + ); + +extern _X_EXPORT void mieqProcessInputEvents(void + ); + +extern _X_EXPORT void mieqAddCallbackOnDrained(CallbackProcPtr callback, + void *param); + +extern _X_EXPORT void mieqRemoveCallbackOnDrained(CallbackProcPtr callback, + void *param); + +extern DeviceIntPtr CopyGetMasterEvent(DeviceIntPtr /* sdev */ , + InternalEvent * /* original */ , + InternalEvent * /* copy */ + ); + +/** + * Custom input event handler. If you need to process input events in some + * other way than the default path, register an input event handler for the + * given internal event type. + */ +typedef void (*mieqHandler) (int screen, InternalEvent *event, + DeviceIntPtr dev); +void _X_EXPORT mieqSetHandler(int event, mieqHandler handler); + /* miexpose.c */ extern _X_EXPORT RegionPtr miHandleExposures(DrawablePtr /*pSrcDrawable */ , @@ -127,9 +191,20 @@ extern _X_EXPORT RegionPtr miHandleExposures(DrawablePtr /*pSrcDrawable */ , int /*dsty */ ); +extern _X_EXPORT void miSendExposures(WindowPtr /*pWin */ , + RegionPtr /*pRgn */ , + int /*dx */ , + int /*dy */ + ); + extern _X_EXPORT void miWindowExposures(WindowPtr /*pWin */ , RegionPtr /*prgn */); +extern _X_EXPORT void miPaintWindow(WindowPtr /*pWin */ , + RegionPtr /*prgn */ , + int /*what */ + ); + extern _X_EXPORT void miClearDrawable(DrawablePtr /*pDraw */ , GCPtr /*pGC */ ); @@ -235,6 +310,11 @@ extern _X_EXPORT void miPushPixels(GCPtr /*pGC */ , ); /* miscrinit.c */ + +extern _X_EXPORT void +miSourceValidate(DrawablePtr pDrawable, int x, int y, int w, int h, + unsigned int subWindowMode); + extern _X_EXPORT Bool miModifyPixmapHeader(PixmapPtr pPixmap, int width, int height, @@ -264,6 +344,18 @@ extern _X_EXPORT Bool miScreenInit(ScreenPtr pScreen, /* mivaltree.c */ +extern _X_EXPORT int miShapedWindowIn(RegionPtr /*universe */ , + RegionPtr /*bounding */ , + BoxPtr /*rect */ , + int /*x */ , + int /*y */ + ); + +extern _X_EXPORT int miValidateTree(WindowPtr /*pParent */ , + WindowPtr /*pChild */ , + VTKind /*kind */ + ); + extern _X_EXPORT void miWideLine(DrawablePtr /*pDrawable */ , GCPtr /*pGC */ , int /*mode */ , @@ -284,6 +376,62 @@ extern _X_EXPORT void miPolylines(DrawablePtr pDrawable, int npt, DDXPointPtr pPts); +/* miwindow.c */ + +extern _X_EXPORT void miClearToBackground(WindowPtr /*pWin */ , + int /*x */ , + int /*y */ , + int /*w */ , + int /*h */ , + Bool /*generateExposures */ + ); + +extern _X_EXPORT void miMarkWindow(WindowPtr /*pWin */ + ); + +extern _X_EXPORT Bool miMarkOverlappedWindows(WindowPtr /*pWin */ , + WindowPtr /*pFirst */ , + WindowPtr * /*ppLayerWin */ + ); + +extern _X_EXPORT void miHandleValidateExposures(WindowPtr /*pWin */ + ); + +extern _X_EXPORT void miMoveWindow(WindowPtr /*pWin */ , + int /*x */ , + int /*y */ , + WindowPtr /*pNextSib */ , + VTKind /*kind */ + ); + +extern _X_EXPORT void miResizeWindow(WindowPtr /*pWin */ , + int /*x */ , + int /*y */ , + unsigned int /*w */ , + unsigned int /*h */ , + WindowPtr /*pSib */ + ); + +extern _X_EXPORT WindowPtr miGetLayerWindow(WindowPtr /*pWin */ + ); + +extern _X_EXPORT void miSetShape(WindowPtr /*pWin */ , + int /*kind */ + ); + +extern _X_EXPORT void miChangeBorderWidth(WindowPtr /*pWin */ , + unsigned int /*width */ + ); + +extern _X_EXPORT void miMarkUnrealizedWindow(WindowPtr /*pChild */ , + WindowPtr /*pWin */ , + Bool /*fromConfigure */ + ); + +extern _X_EXPORT WindowPtr miSpriteTrace(SpritePtr pSprite, int x, int y); + +extern _X_EXPORT WindowPtr miXYToWindow(ScreenPtr pScreen, SpritePtr pSprite, int x, int y); + /* mizerarc.c */ extern _X_EXPORT void miZeroPolyArc(DrawablePtr /*pDraw */ , diff --git a/mi/mi_priv.h b/mi/mi_priv.h index a9360c9b3..26c9d158f 100644 --- a/mi/mi_priv.h +++ b/mi/mi_priv.h @@ -5,71 +5,8 @@ #ifndef _XSERVER_MI_PRIV_H #define _XSERVER_MI_PRIV_H -#include -#include - -#include "dix/screenint_priv.h" -#include "include/callback.h" -#include "include/events.h" -#include "include/gc.h" -#include "include/pixmap.h" -#include "include/regionstr.h" -#include "include/screenint.h" -#include "include/validate.h" -#include "include/window.h" -#include "mi/mi.h" - -#define SetInstalledmiColormap(s,c) \ - (dixSetPrivate(&(s)->devPrivates, micmapScrPrivateKey, c)) +#include "screenint.h" void miScreenClose(ScreenPtr pScreen); -void miWideArc(DrawablePtr pDraw, GCPtr pGC, int narcs, xArc * parcs); -void miStepDash(int dist, int * pDashIndex, unsigned char * pDash, - int numInDashList, int *pDashOffset); - -Bool mieqInit(void); -void mieqFini(void); -void mieqEnqueue(DeviceIntPtr pDev, InternalEvent *e); -void mieqSwitchScreen(DeviceIntPtr pDev, ScreenPtr pScreen, Bool set_dequeue_screen); -void mieqProcessDeviceEvent(DeviceIntPtr dev, InternalEvent *event, ScreenPtr screen); -void mieqProcessInputEvents(void); -void mieqAddCallbackOnDrained(CallbackProcPtr callback, void *param); -void mieqRemoveCallbackOnDrained(CallbackProcPtr callback, void *param); - -/** - * Custom input event handler. If you need to process input events in some - * other way than the default path, register an input event handler for the - * given internal event type. - */ -typedef void (*mieqHandler) (int screen, InternalEvent *event, - DeviceIntPtr dev); -void mieqSetHandler(int event, mieqHandler handler); - -void miSendExposures(WindowPtr pWin, RegionPtr pRgn, int dx, int dy); - -void miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what); - -void miSourceValidate(DrawablePtr pDrawable, int x, int y, int w, int h, - unsigned int subWindowMode); -int miShapedWindowIn(RegionPtr universe, RegionPtr bounding, BoxPtr rect, - int x, int y); -int miValidateTree(WindowPtr pParent, WindowPtr pChild, VTKind kind); - -void miClearToBackground(WindowPtr pWin, int x, int y, int w, int h, - Bool generateExposures); -void miMarkWindow(WindowPtr pWin); -Bool miMarkOverlappedWindows(WindowPtr pWin, WindowPtr pFirst, - WindowPtr *ppLayerWin); -void miHandleValidateExposures(WindowPtr pWin); -void miMoveWindow(WindowPtr pWin, int x, int y, WindowPtr pNextSib, VTKind kind); -void miResizeWindow(WindowPtr pWin, int x, int y, unsigned int w, - unsigned int h, WindowPtr pSib); -WindowPtr miGetLayerWindow(WindowPtr pWin); -void miSetShape(WindowPtr pWin, int kind); -void miChangeBorderWidth(WindowPtr pWin, unsigned int width); -void miMarkUnrealizedWindow(WindowPtr pChild, WindowPtr pWin, Bool fromConfigure); -WindowPtr miSpriteTrace(SpritePtr pSprite, int x, int y); -WindowPtr miXYToWindow(ScreenPtr pScreen, SpritePtr pSprite, int x, int y); - #endif /* _XSERVER_MI_PRIV_H */ diff --git a/mi/miarc.c b/mi/miarc.c index 9ea4a6155..602ccbf76 100644 --- a/mi/miarc.c +++ b/mi/miarc.c @@ -51,17 +51,15 @@ SOFTWARE. #include #include #include -#include - -#include "mi/mi_priv.h" - #include "misc.h" #include "gcstruct.h" #include "scrnintstr.h" #include "pixmapstr.h" #include "windowstr.h" #include "mifpoly.h" +#include "mi.h" #include "mifillarc.h" +#include #define EPSILON 0.000001 #define ISEQUAL(a,b) (fabs((a) - (b)) <= EPSILON) diff --git a/mi/micmap.c b/mi/micmap.c index e8b3ad568..6d2abf63a 100644 --- a/mi/micmap.c +++ b/mi/micmap.c @@ -33,9 +33,7 @@ #include #include "dix/colormap_priv.h" -#include "mi/mi_priv.h" #include "os/osdep.h" - #include "scrnintstr.h" #include "colormapst.h" #include "resource.h" diff --git a/mi/micmap.h b/mi/micmap.h index d8bf7e2c2..bb71c7cb1 100644 --- a/mi/micmap.h +++ b/mi/micmap.h @@ -6,6 +6,8 @@ #define GetInstalledmiColormap(s) \ ((ColormapPtr) dixLookupPrivate(&(s)->devPrivates, micmapScrPrivateKey)) +#define SetInstalledmiColormap(s,c) \ + (dixSetPrivate(&(s)->devPrivates, micmapScrPrivateKey, c)) extern _X_EXPORT DevPrivateKeyRec micmapScrPrivateKeyRec; diff --git a/mi/midash.c b/mi/midash.c index fa3a02074..76bd4266d 100644 --- a/mi/midash.c +++ b/mi/midash.c @@ -45,8 +45,6 @@ SOFTWARE. ******************************************************************/ #include -#include "mi/mi_priv.h" - #include "regionstr.h" #include "mistruct.h" diff --git a/mi/midispcur.c b/mi/midispcur.c index 305b6fc68..60f3dd979 100644 --- a/mi/midispcur.c +++ b/mi/midispcur.c @@ -33,7 +33,6 @@ in this Software without prior written authorization from The Open Group. #include -#include "dix/dix_priv.h" #include "dix/gc_priv.h" #include "misc.h" @@ -47,7 +46,9 @@ in this Software without prior written authorization from The Open Group. #include "mipointer.h" #include "misprite.h" #include "gcstruct.h" + #include "picturestr.h" + #include "inputstr.h" /* per-screen private data */ diff --git a/mi/mieq.c b/mi/mieq.c index 74d10a314..caf360dcf 100644 --- a/mi/mieq.c +++ b/mi/mieq.c @@ -41,7 +41,6 @@ in this Software without prior written authorization from The Open Group. #include #include -#include "mi/mi_priv.h" #include "mi/mipointer_priv.h" #include "os/screensaver.h" @@ -50,6 +49,7 @@ in this Software without prior written authorization from The Open Group. #include "pixmapstr.h" #include "inputstr.h" #include "inpututils.h" +#include "mi.h" #include "mipointer.h" #include "scrnintstr.h" #include "extinit.h" @@ -384,7 +384,7 @@ FixUpEventForMaster(DeviceIntPtr mdev, DeviceIntPtr sdev, * @param copy The event after being copied * @return The master device or NULL if the device is a floating slave. */ -static DeviceIntPtr +DeviceIntPtr CopyGetMasterEvent(DeviceIntPtr sdev, InternalEvent *original, InternalEvent *copy) { diff --git a/mi/miexpose.c b/mi/miexpose.c index 4af84310c..6f834854a 100644 --- a/mi/miexpose.c +++ b/mi/miexpose.c @@ -74,12 +74,10 @@ Equipment Corporation. #include #include -#include #include #include #include "dix/dix_priv.h" -#include "mi/mi_priv.h" #include "misc.h" #include "regionstr.h" @@ -88,7 +86,11 @@ Equipment Corporation. #include "windowstr.h" #include "pixmap.h" #include "input.h" + #include "dixstruct.h" +#include "mi.h" +#include + #include "globals.h" #ifdef XINERAMA diff --git a/mi/mioverlay.c b/mi/mioverlay.c index 3b8edee1b..6a03c1184 100644 --- a/mi/mioverlay.c +++ b/mi/mioverlay.c @@ -3,13 +3,11 @@ #include -#include "mi/mi_priv.h" - - #include "scrnintstr.h" #include #include "validate.h" #include "windowstr.h" +#include "mi.h" #include "gcstruct.h" #include "regionstr.h" #include "privates.h" diff --git a/mi/mipointer.c b/mi/mipointer.c index 5196b2688..0571f1627 100644 --- a/mi/mipointer.c +++ b/mi/mipointer.c @@ -54,12 +54,12 @@ in this Software without prior written authorization from The Open Group. #include "dix/dix_priv.h" #include "dix/input_priv.h" -#include "mi/mi_priv.h" #include "mi/mipointer_priv.h" #include "misc.h" #include "windowstr.h" #include "pixmapstr.h" +#include "mi.h" #include "scrnintstr.h" #include "mipointrst.h" #include "cursorstr.h" @@ -115,10 +115,6 @@ static void miPointerMoveNoEvent(DeviceIntPtr pDev, ScreenPtr pScreen, int x, static InternalEvent *mipointermove_events; /* for WarpPointer MotionNotifies */ -static void -miRecolorCursor(DeviceIntPtr pDev, ScreenPtr pScr, - CursorPtr pCurs, Bool displayed); - Bool miPointerInitialize(ScreenPtr pScreen, miPointerSpriteFuncPtr spriteFuncs, @@ -299,7 +295,7 @@ miPointerSetCursorPosition(DeviceIntPtr pDev, ScreenPtr pScreen, return TRUE; } -static void +void miRecolorCursor(DeviceIntPtr pDev, ScreenPtr pScr, CursorPtr pCurs, Bool displayed) { diff --git a/mi/mipointer.h b/mi/mipointer.h index ba1710a25..2b5851dd9 100644 --- a/mi/mipointer.h +++ b/mi/mipointer.h @@ -77,6 +77,12 @@ extern _X_EXPORT Bool miDCInitialize(ScreenPtr /*pScreen */ , miPointerScreenFuncPtr /*screenFuncs */ ); +extern _X_EXPORT void miPointerWarpCursor(DeviceIntPtr /*pDev */ , + ScreenPtr /*pScreen */ , + int /*x */ , + int /*y */ + ); + extern _X_EXPORT ScreenPtr miPointerGetScreen(DeviceIntPtr pDev); diff --git a/mi/mipointer_priv.h b/mi/mipointer_priv.h index cc4ce9940..fcd40e509 100644 --- a/mi/mipointer_priv.h +++ b/mi/mipointer_priv.h @@ -7,11 +7,8 @@ #include -#include "dix/screenint_priv.h" -#include "include/input.h" #include "mi/mipointer.h" -void miPointerWarpCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y); void miPointerSetScreen(DeviceIntPtr pDev, int screen_num, int x, int y); void miPointerUpdateSprite(DeviceIntPtr pDev); diff --git a/mi/mivaltree.c b/mi/mivaltree.c index edab5dc1b..0dff150c2 100644 --- a/mi/mivaltree.c +++ b/mi/mivaltree.c @@ -91,12 +91,10 @@ Equipment Corporation. #include #include - -#include "mi/mi_priv.h" - #include "scrnintstr.h" #include "validate.h" #include "windowstr.h" +#include "mi.h" #include "regionstr.h" #include "mivalidate.h" #include "globals.h" diff --git a/mi/miwideline.c b/mi/miwideline.c index 0498e9cd8..0d81519cf 100644 --- a/mi/miwideline.c +++ b/mi/miwideline.c @@ -63,13 +63,11 @@ SOFTWARE. #undef _XOPEN_SOURCE #endif #include - -#include "mi/mi_priv.h" - #include "windowstr.h" #include "gcstruct.h" #include "regionstr.h" #include "miwideline.h" +#include "mi.h" typedef struct { int count; /* number of spans */ diff --git a/mi/miwindow.c b/mi/miwindow.c index 4412b9c18..b30e624c7 100644 --- a/mi/miwindow.c +++ b/mi/miwindow.c @@ -50,10 +50,10 @@ SOFTWARE. #include #include "dix/input_priv.h" -#include "mi/mi_priv.h" #include "regionstr.h" #include "region.h" +#include "mi.h" #include "windowstr.h" #include "scrnintstr.h" #include "pixmapstr.h" diff --git a/mi/mizerarc.c b/mi/mizerarc.c index 90dde9f8b..ca2cb4087 100644 --- a/mi/mizerarc.c +++ b/mi/mizerarc.c @@ -37,12 +37,10 @@ Author: Bob Scheifler, MIT X Consortium #include #include #include - -#include "mi/mi_priv.h" - #include "regionstr.h" #include "gcstruct.h" #include "pixmapstr.h" +#include "mi.h" #include "mizerarc.h" #define FULLCIRCLE (360 * 64) diff --git a/miext/rootless/rootlessScreen.c b/miext/rootless/rootlessScreen.c index ddb1cf607..b57018242 100644 --- a/miext/rootless/rootlessScreen.c +++ b/miext/rootless/rootlessScreen.c @@ -37,8 +37,8 @@ #include #include "dix/colormap_priv.h" -#include "mi/mi_priv.h" +#include "mi.h" #include "scrnintstr.h" #include "gcstruct.h" #include "pixmapstr.h" diff --git a/miext/rootless/rootlessValTree.c b/miext/rootless/rootlessValTree.c index beacff99f..e311021db 100644 --- a/miext/rootless/rootlessValTree.c +++ b/miext/rootless/rootlessValTree.c @@ -92,13 +92,11 @@ Equipment Corporation. #include #include /* For NULL */ -#include - -#include "mi/mi_priv.h" - +#include #include "scrnintstr.h" #include "validate.h" #include "windowstr.h" +#include "mi.h" #include "regionstr.h" #include "mivalidate.h" diff --git a/miext/rootless/rootlessWindow.c b/miext/rootless/rootlessWindow.c index f1cdec307..f089448ad 100644 --- a/miext/rootless/rootlessWindow.c +++ b/miext/rootless/rootlessWindow.c @@ -35,12 +35,9 @@ #include /* For CHAR_BIT */ #include #include - -#include "mi/mi_priv.h" -#include "dix_priv.h" - #ifdef __APPLE__ #include +#include "mi.h" #include "pixmapstr.h" #include "windowstr.h" //#include diff --git a/os/WaitFor.c b/os/WaitFor.c index a616850ab..aa307ba55 100644 --- a/os/WaitFor.c +++ b/os/WaitFor.c @@ -54,12 +54,12 @@ SOFTWARE. #include -#include -#include #ifdef WIN32 #include #endif #include /* for strings, fcntl, time */ +#include +#include #include #include "dix/dix_priv.h" @@ -70,7 +70,7 @@ SOFTWARE. #include "misc.h" #include "osdep.h" #include "dixstruct_priv.h" -#include "globals.h" +#include "opaque.h" #ifdef DPMSExtension #include "dpmsproc.h" #endif diff --git a/os/auth.h b/os/auth.h index 5d23e9ada..52d5f8b39 100644 --- a/os/auth.h +++ b/os/auth.h @@ -26,28 +26,11 @@ typedef int (*AuthRemCFunc) (AuthRemCArgs); #define AuthRstCArgs void typedef int (*AuthRstCFunc) (AuthRstCArgs); -int set_font_authorizations(char **authorizations, - int *authlen, - void *client); - #define LCC_UID_SET (1 << 0) #define LCC_GID_SET (1 << 1) #define LCC_PID_SET (1 << 2) #define LCC_ZID_SET (1 << 3) -typedef struct { - int fieldsSet; /* Bit mask of fields set */ - int euid; /* Effective uid */ - int egid; /* Primary effective group id */ - int nSuppGids; /* Number of supplementary group ids */ - int *pSuppGids; /* Array of supplementary group ids */ - int pid; /* Process id */ - int zoneid; /* Only set on Solaris 10 & later */ -} LocalClientCredRec; - -int GetLocalClientCreds(ClientPtr, LocalClientCredRec **); -void FreeLocalClientCreds(LocalClientCredRec *); - void EnableLocalAccess(void); void DisableLocalAccess(void); @@ -87,17 +70,8 @@ XID GenerateAuthorization(unsigned int name_length, void RegisterAuthorizations(void); -void CheckUserAuthorization(void); - typedef struct sockaddr *sockaddrPtr; -int AddHost(ClientPtr client, int family, unsigned length, const void *pAddr); -Bool ForEachHostInFamily(int family, - Bool (*func)(unsigned char *addr, short len, void *closure), - void *closure); -int RemoveHost(ClientPtr client, int family, unsigned length, void *pAddr); -int GetHosts(void **data, int *pnHosts, int *pLen, BOOL *pEnabled); -int InvalidHost(sockaddrPtr saddr, int len, ClientPtr client); void AddLocalHosts(void); void ResetHosts(const char *display); @@ -107,8 +81,6 @@ void DefineSelf(int fd); /* check whether given addr belongs to ourself */ void AugmentSelf(void *from, int len); -int ChangeAccessControl(ClientPtr client, int fEnabled); - void AccessUsingXdmcp(void); extern Bool defeatAccessControl; diff --git a/os/client_priv.h b/os/client_priv.h index 88da283da..9d1c8c4d0 100644 --- a/os/client_priv.h +++ b/os/client_priv.h @@ -34,7 +34,6 @@ pid_t GetClientPid(struct _Client *client); const char *GetClientCmdName(struct _Client *client); const char *GetClientCmdArgs(struct _Client *client); -Bool ClientIsLocal(struct _Client *client); XID AuthorizationIDOfClient(struct _Client *client); const char *ClientAuthorized(struct _Client *client, unsigned int proto_n, @@ -43,7 +42,6 @@ const char *ClientAuthorized(struct _Client *client, char *auth_string); Bool AddClientOnOpenFD(int fd); void ListenOnOpenFD(int fd, int noxauth); -int ReadRequestFromClient(struct _Client *client); int WriteFdToClient(struct _Client *client, int fd, Bool do_close); Bool InsertFakeRequest(struct _Client *client, char *data, int count); void FlushAllOutput(void); diff --git a/os/cmdline.h b/os/cmdline.h deleted file mode 100644 index 9a4a19467..000000000 --- a/os/cmdline.h +++ /dev/null @@ -1,20 +0,0 @@ -/* SPDX-License-Identifier: MIT OR X11 - * - * Copyright © 2024 Enrico Weigelt, metux IT consult - */ -#ifndef _XSERVER_OS_CMDLINE_H -#define _XSERVER_OS_CMDLINE_H - -#include "include/os.h" - -#define CHECK_FOR_REQUIRED_ARGUMENTS(num) \ - do if (((i + num) >= argc) || (!argv[i + num])) { \ - UseMsg(); \ - FatalError("Required argument to %s not specified\n", argv[i]); \ - } while (0) - -void UseMsg(void); -void ProcessCommandLine(int argc, char * argv[]); -void CheckUserParameters(int argc, char **argv, char **envp); - -#endif /* _XSERVER_OS_CMELINE_H */ diff --git a/os/connection.c b/os/connection.c index 64aca9081..4618c7ce3 100644 --- a/os/connection.c +++ b/os/connection.c @@ -103,6 +103,7 @@ SOFTWARE. #include "os/osdep.h" #include "misc.h" /* for typedef of pointer */ +#include "opaque.h" #include "dixstruct_priv.h" #include "globals.h" #include "xace.h" diff --git a/os/ddx_priv.h b/os/ddx_priv.h deleted file mode 100644 index 5fd584c39..000000000 --- a/os/ddx_priv.h +++ /dev/null @@ -1,27 +0,0 @@ -/* SPDX-License-Identifier: MIT OR X11 - * - * Copyright © 2024 Enrico Weigelt, metux IT consult - */ -#ifndef _XSERVER_OS_DDX_PRIV_H -#define _XSERVER_OS_DDX_PRIV_H - -#include "os.h" - -/* callbacks of the DDX, which are called by DIX or OS layer. - DDX's need to implement these in order to handle DDX specific things. -*/ - -/* called before server reset */ -void ddxBeforeReset(void); - -/* called by ProcessCommandLine, so DDX can catch cmdline args */ -int ddxProcessArgument(int argc, char *argv[], int i); - -/* print DDX specific usage message */ -void ddxUseMsg(void); - -void ddxGiveUp(enum ExitCode error); - -void ddxInputThreadInit(void); - -#endif /* _XSERVER_OS_DDX_PRIV_H */ diff --git a/os/inputthread.c b/os/inputthread.c index 623648256..1a417c0a5 100644 --- a/os/inputthread.c +++ b/os/inputthread.c @@ -34,7 +34,6 @@ #include #include "dix/input_priv.h" -#include "os/ddx_priv.h" #include "inputstr.h" #include "opaque.h" diff --git a/os/io.c b/os/io.c index 167b40a72..9438cd722 100644 --- a/os/io.c +++ b/os/io.c @@ -80,6 +80,7 @@ SOFTWARE. #include "os.h" #include "opaque.h" #include "dixstruct.h" +#include "dix_priv.h" #include "misc.h" CallbackListPtr ReplyCallback; diff --git a/os/log.c b/os/log.c index 7d91ca0a4..c42500a66 100644 --- a/os/log.c +++ b/os/log.c @@ -92,10 +92,15 @@ OR PERFORMANCE OF THIS SOFTWARE. #include "dix/input_priv.h" #include "os/audit.h" #include "os/client_priv.h" -#include "os/ddx_priv.h" #include "os/fmt.h" #include "os/osdep.h" +#include "os/osdep.h" + +#include "os/audit.h" +#include "os/fmt.h" + +#include "input.h" #include "opaque.h" #include "osdep.h" diff --git a/os/osdep.h b/os/osdep.h index c8702855a..2d12c5089 100644 --- a/os/osdep.h +++ b/os/osdep.h @@ -188,7 +188,6 @@ void ListenToAllClients(void); /* allow DDX to force using another clock */ void ForceClockId(clockid_t forced_clockid); -Bool WaitForSomething(Bool clients_are_ready); void CloseDownConnection(ClientPtr client); extern int LimitClients; diff --git a/os/osinit.c b/os/osinit.c index 726602d0c..0e89e84c7 100644 --- a/os/osinit.c +++ b/os/osinit.c @@ -61,7 +61,6 @@ SOFTWARE. #include #endif -#include "dix/dix_priv.h" #include "os/busfault.h" #include "os/serverlock.h" diff --git a/os/utils.c b/os/utils.c index 8963b53a0..6f6fb2884 100644 --- a/os/utils.c +++ b/os/utils.c @@ -95,6 +95,7 @@ __stdcall unsigned long GetTickCount(void); #include #include /* for isspace */ #include + #include /* for malloc() */ #if defined(TCPCONN) @@ -106,11 +107,11 @@ __stdcall unsigned long GetTickCount(void); #include "dix/dix_priv.h" #include "dix/input_priv.h" #include "os/auth.h" -#include "os/cmdline.h" -#include "os/ddx_priv.h" #include "os/serverlock.h" +#include "os/osdep.h" #include "dixstruct.h" +#include "dix_priv.h" #include "xkbsrv.h" #include "picture.h" #include "miinitext.h" diff --git a/os/xdmcp.c b/os/xdmcp.c index 955cee1b4..395635966 100644 --- a/os/xdmcp.c +++ b/os/xdmcp.c @@ -38,7 +38,6 @@ #include #include -#include "dix/dix_priv.h" #include "os/auth.h" #include "misc.h" @@ -47,6 +46,7 @@ #include "xdmauth.h" #include "input.h" #include "dixstruct.h" +#include "opaque.h" #define XSERV_t #define TRANS_SERVER diff --git a/randr/rrproperty.c b/randr/rrproperty.c index f97c3464f..594fe5185 100644 --- a/randr/rrproperty.c +++ b/randr/rrproperty.c @@ -19,15 +19,11 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * OF THIS SOFTWARE. */ -#include - -#include - -#include "dix/dix_priv.h" #include "randrstr_priv.h" #include "propertyst.h" #include "swaprep.h" +#include static int DeliverPropertyEvent(WindowPtr pWin, void *value) diff --git a/randr/rrproviderproperty.c b/randr/rrproviderproperty.c index e84e0dff3..7c851c86b 100644 --- a/randr/rrproviderproperty.c +++ b/randr/rrproviderproperty.c @@ -19,9 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * OF THIS SOFTWARE. */ -#include - -#include "dix/dix_priv.h" #include "randrstr_priv.h" #include "propertyst.h" diff --git a/test/bigreq/request-length.c b/test/bigreq/request-length.c index 8174813ae..65cc7ccab 100644 --- a/test/bigreq/request-length.c +++ b/test/bigreq/request-length.c @@ -62,7 +62,8 @@ int main(int argc, char **argv) free(xcb_big_requests_enable_reply(c, xcb_big_requests_enable(c), NULL)); /* Manually write out the bad request. XCB can't help us here.*/ - write(fd, &xise_req, sizeof(xise_req)); + int written = write(fd, &xise_req, sizeof(xise_req)); + (void)written; /* Block until the server has processed our mess and throws an * error. If we get disconnected, then the server has noticed what we're diff --git a/test/input.c b/test/input.c index 39057c828..ef1d14cd9 100644 --- a/test/input.c +++ b/test/input.c @@ -37,7 +37,6 @@ #include "dix/eventconvert.h" #include "dix/exevents_priv.h" #include "dix/input_priv.h" -#include "mi/mi_priv.h" #include "misc.h" #include "resource.h" @@ -46,6 +45,7 @@ #include "exglobals.h" #include "eventstr.h" #include "inpututils.h" +#include "mi.h" #include "assert.h" #include "tests-common.h" diff --git a/test/simple-xinit.c b/test/simple-xinit.c index 39daf54c9..7340dc6dc 100644 --- a/test/simple-xinit.c +++ b/test/simple-xinit.c @@ -66,7 +66,8 @@ static const char *server_dead = "server_dead"; static void handle_sigchld(int sig) { - write(server_displayfd, server_dead, strlen(server_dead)); + int written = write(server_displayfd, server_dead, strlen(server_dead)); + (void)written; } /* Starts the X server, returning its pid. */ diff --git a/xfixes/disconnect.c b/xfixes/disconnect.c index 5b2945a4a..4bd93fb61 100644 --- a/xfixes/disconnect.c +++ b/xfixes/disconnect.c @@ -44,9 +44,8 @@ #include -#include "dix/dix_priv.h" - #include "xfixesint.h" +#include "opaque.h" static DevPrivateKeyRec ClientDisconnectPrivateKeyRec; diff --git a/xkb/ddxLoad.c b/xkb/ddxLoad.c index 30f593bda..f3026ea3d 100644 --- a/xkb/ddxLoad.c +++ b/xkb/ddxLoad.c @@ -38,7 +38,6 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include #include -#include "dix/dix_priv.h" #include "os/osdep.h" #include "inputstr.h" diff --git a/xkb/xkbActions.c b/xkb/xkbActions.c index 260f453ee..baa2c1749 100644 --- a/xkb/xkbActions.c +++ b/xkb/xkbActions.c @@ -26,7 +26,6 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include -#include #include #include #include @@ -37,7 +36,6 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include "dix/dix_priv.h" #include "dix/dixgrabs_priv.h" #include "dix/input_priv.h" -#include "mi/mi_priv.h" #include "mi/mipointer_priv.h" #include "xkb/xkbsrv_priv.h" @@ -45,9 +43,15 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include "inputstr.h" #include "exevents.h" #include "eventstr.h" +#include "mi.h" #include "mipointer.h" #include "inpututils.h" +#include +#include +#include "mi.h" +#include "mipointer.h" +#include "inpututils.h" #define EXTENSION_EVENT_BASE 64 DevPrivateKeyRec xkbDevicePrivateKeyRec; diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c index 2819935eb..b92993a9b 100644 --- a/xkb/xkbInit.c +++ b/xkb/xkbInit.c @@ -39,7 +39,6 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include #include -#include "os/cmdline.h" #include "xkb/xkbsrv_priv.h" #include "misc.h"