diff --git a/dix/dispatch.c b/dix/dispatch.c index d09ec2697..d9d86374d 100644 --- a/dix/dispatch.c +++ b/dix/dispatch.c @@ -122,6 +122,7 @@ Equipment Corporation. #include "os/screensaver.h" #include "windowstr.h" +#include "ddx.h" #include "dixfontstr.h" #include "gcstruct.h" #include "cursorstr.h" diff --git a/dix/main.c b/dix/main.c index cf83a6346..8423a15f3 100644 --- a/dix/main.c +++ b/dix/main.c @@ -111,6 +111,7 @@ Equipment Corporation. #include "extension.h" #include "cursorstr.h" #include "servermd.h" +#include "ddx.h" #include "dixfont.h" #include "extnsionst.h" #include "privates.h" diff --git a/hw/kdrive/ephyr/ephyrinit.c b/hw/kdrive/ephyr/ephyrinit.c index 9306f3367..742f98ac1 100644 --- a/hw/kdrive/ephyr/ephyrinit.c +++ b/hw/kdrive/ephyr/ephyrinit.c @@ -30,6 +30,7 @@ #include "os/ddx_priv.h" #include "os/osdep.h" +#include "ddx.h" #include "ephyr.h" #include "ephyrlog.h" #include "glx_extinit.h" diff --git a/hw/vfb/InitOutput.c b/hw/vfb/InitOutput.c index cd3b2e0a8..daf02ccf9 100644 --- a/hw/vfb/InitOutput.c +++ b/hw/vfb/InitOutput.c @@ -70,6 +70,7 @@ from The Open Group. #include #include #endif /* MITSHM */ +#include "ddx.h" #include "dix.h" #include "miline.h" #include "glx_extinit.h" diff --git a/hw/xfree86/common/xf86Configure.c b/hw/xfree86/common/xf86Configure.c index 6242cad50..1158bc409 100644 --- a/hw/xfree86/common/xf86Configure.c +++ b/hw/xfree86/common/xf86Configure.c @@ -32,6 +32,7 @@ #include "os/ddx_priv.h" #include "os/osdep.h" +#include "ddx.h" #include "xf86.h" #include "xf86Config.h" #include "xf86_OSlib.h" diff --git a/hw/xnest/Args.c b/hw/xnest/Args.c index 32add64ed..0fe74d83c 100644 --- a/hw/xnest/Args.c +++ b/hw/xnest/Args.c @@ -25,7 +25,7 @@ is" without express or implied warranty. #include "misc.h" #include "scrnintstr.h" #include "servermd.h" -#include "extinit.h" +#include "os/ddx.h" #include "xnest-xcb.h" diff --git a/hw/xnest/Init.c b/hw/xnest/Init.c index ffa94b075..c4f5b9e4a 100644 --- a/hw/xnest/Init.c +++ b/hw/xnest/Init.c @@ -26,6 +26,7 @@ is" without express or implied warranty. #include "os/ddx_priv.h" #include "os/osdep.h" +#include "ddx.h" #include "screenint.h" #include "input.h" #include "misc.h" diff --git a/hw/xquartz/darwin.c b/hw/xquartz/darwin.c index 8b6c3c2ee..45e279444 100644 --- a/hw/xquartz/darwin.c +++ b/hw/xquartz/darwin.c @@ -46,6 +46,7 @@ #include "micmap.h" // mi colormap code #include "fb.h" // fb framebuffer code #include "globals.h" +#include "ddx.h" #include "dix.h" #include "xkbsrv.h" diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c index 99cc68010..cb540b89f 100644 --- a/hw/xwayland/xwayland.c +++ b/hw/xwayland/xwayland.c @@ -53,6 +53,7 @@ #include #include #include +#include "ddx.h" #include #include #include "extinit.h" diff --git a/hw/xwin/winprocarg.c b/hw/xwin/winprocarg.c index 56280c232..ed6a91328 100644 --- a/hw/xwin/winprocarg.c +++ b/hw/xwin/winprocarg.c @@ -47,6 +47,7 @@ from The Open Group. #include "winprefs.h" #include "winclipboard/winclipboard.h" +#include "ddx.h" /* * Function prototypes diff --git a/meson.build b/meson.build index 93f20c97a..b66b6b0fa 100644 --- a/meson.build +++ b/meson.build @@ -671,6 +671,7 @@ inc = include_directories( 'dix', 'dri3', 'include', + 'os', 'present', 'randr', 'render', diff --git a/os/ddx.h b/os/ddx.h new file mode 100644 index 000000000..1f90e099d --- /dev/null +++ b/os/ddx.h @@ -0,0 +1,27 @@ +/* SPDX-License-Identifier: MIT OR X11 + * + * Copyright © 2024 Enrico Weigelt, metux IT consult + */ +#ifndef _XSERVER_OS_DDX_H +#define _XSERVER_OS_DDX_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_H */ diff --git a/os/log.c b/os/log.c index 69b0bb6ca..8f74a5eb9 100644 --- a/os/log.c +++ b/os/log.c @@ -97,6 +97,7 @@ OR PERFORMANCE OF THIS SOFTWARE. #include "os/osdep.h" #include "opaque.h" +#include "ddx.h" #ifdef XF86BIGFONT #include "xf86bigfontsrv.h" diff --git a/os/utils.c b/os/utils.c index 528ea90ab..4b97fe6eb 100644 --- a/os/utils.c +++ b/os/utils.c @@ -118,6 +118,7 @@ __stdcall unsigned long GetTickCount(void); #include "dixstruct.h" #include "picture.h" #include "miinitext.h" +#include "ddx.h" #include "present.h" #include "dixstruct_priv.h" #include "dpmsproc.h"