aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/include
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/include')
-rw-r--r--xorg-server/include/dix-config.h.in6
-rw-r--r--xorg-server/include/dixstruct.h8
-rw-r--r--xorg-server/include/extinit.h10
-rw-r--r--xorg-server/include/misc.h29
-rw-r--r--xorg-server/include/os.h5
-rw-r--r--xorg-server/include/regionstr.h2
-rw-r--r--xorg-server/include/xorg-config.h.in3
-rw-r--r--xorg-server/include/xorg-server.h.in6
8 files changed, 69 insertions, 0 deletions
diff --git a/xorg-server/include/dix-config.h.in b/xorg-server/include/dix-config.h.in
index a643dfcc8..397ee967a 100644
--- a/xorg-server/include/dix-config.h.in
+++ b/xorg-server/include/dix-config.h.in
@@ -39,6 +39,9 @@
/* Build DPMS extension */
#undef DPMSExtension
+/* Build DRI3 extension */
+#undef DRI3
+
/* Build GLX extension */
#undef GLXEXT
@@ -252,6 +255,9 @@
/* Internal define for Xinerama */
#undef PANORAMIX
+/* Support Present extension */
+#undef PRESENT
+
/* Overall prefix */
#undef PROJECTROOT
diff --git a/xorg-server/include/dixstruct.h b/xorg-server/include/dixstruct.h
index 7711cde99..456e63360 100644
--- a/xorg-server/include/dixstruct.h
+++ b/xorg-server/include/dixstruct.h
@@ -110,8 +110,16 @@ typedef struct _Client {
DeviceIntPtr clientPtr;
ClientIdPtr clientIds;
+ int req_fds;
} ClientRec;
+static inline void
+SetReqFds(ClientPtr client, int req_fds) {
+ if (client->req_fds != 0 && req_fds != client->req_fds)
+ LogMessage(X_ERROR, "Mismatching number of request fds %d != %d\n", req_fds, client->req_fds);
+ client->req_fds = req_fds;
+}
+
/*
* Scheduling interface
*/
diff --git a/xorg-server/include/extinit.h b/xorg-server/include/extinit.h
index 6d67bf2e5..fa5f29378 100644
--- a/xorg-server/include/extinit.h
+++ b/xorg-server/include/extinit.h
@@ -176,4 +176,14 @@ extern void XvExtensionInit(void);
extern void XvMCExtensionInit(void);
#endif
+#if defined(DRI3)
+#include <X11/extensions/dri3proto.h>
+extern void dri3_extension_init(void);
+#endif
+
+#if defined(PRESENT)
+#include <X11/extensions/presentproto.h>
+#include "presentext.h"
+#endif
+
#endif
diff --git a/xorg-server/include/misc.h b/xorg-server/include/misc.h
index 0c67f11fe..17de71041 100644
--- a/xorg-server/include/misc.h
+++ b/xorg-server/include/misc.h
@@ -305,6 +305,35 @@ __builtin_constant_p(int x)
}
#endif
+/* byte swap a 64-bit value */
+static inline void
+swap_uint64(uint64_t *x)
+{
+ char n;
+
+ n = ((char *) x)[0];
+ ((char *) x)[0] = ((char *) x)[7];
+ ((char *) x)[7] = n;
+
+ n = ((char *) x)[1];
+ ((char *) x)[1] = ((char *) x)[6];
+ ((char *) x)[6] = n;
+
+ n = ((char *) x)[2];
+ ((char *) x)[2] = ((char *) x)[5];
+ ((char *) x)[5] = n;
+
+ n = ((char *) x)[3];
+ ((char *) x)[3] = ((char *) x)[4];
+ ((char *) x)[4] = n;
+}
+
+#define swapll(x) do { \
+ if (sizeof(*(x)) != 8) \
+ wrong_size(); \
+ swap_uint64((uint64_t *)(x)); \
+ } while (0)
+
/* byte swap a 32-bit value */
static inline void
swap_uint32(uint32_t * x)
diff --git a/xorg-server/include/os.h b/xorg-server/include/os.h
index c7108a5d3..11b219845 100644
--- a/xorg-server/include/os.h
+++ b/xorg-server/include/os.h
@@ -98,6 +98,10 @@ extern _X_EXPORT int WaitForSomething(int * /*pClientsReady */
extern _X_EXPORT int ReadRequestFromClient(ClientPtr /*client */ );
+extern _X_EXPORT int ReadFdFromClient(ClientPtr client);
+
+extern _X_EXPORT int WriteFdToClient(ClientPtr client, int fd, Bool do_close);
+
extern _X_EXPORT Bool InsertFakeRequest(ClientPtr /*client */ ,
char * /*data */ ,
int /*count */ );
@@ -165,6 +169,7 @@ extern void ListenOnOpenFD(int /* fd */ , int /* noxauth */ );
#endif
extern _X_EXPORT CARD32 GetTimeInMillis(void);
+extern _X_EXPORT CARD64 GetTimeInMicros(void);
extern _X_EXPORT void AdjustWaitForDelay(pointer /*waitTime */ ,
unsigned long /*newdelay */ );
diff --git a/xorg-server/include/regionstr.h b/xorg-server/include/regionstr.h
index 805257b3f..4a0725d62 100644
--- a/xorg-server/include/regionstr.h
+++ b/xorg-server/include/regionstr.h
@@ -213,6 +213,8 @@ extern _X_EXPORT RegionPtr RegionCreate(BoxPtr /*rect */ ,
extern _X_EXPORT void RegionDestroy(RegionPtr /*pReg */ );
+extern _X_EXPORT RegionPtr RegionDuplicate(RegionPtr /* pOld */);
+
static inline Bool
RegionCopy(RegionPtr dst, RegionPtr src)
{
diff --git a/xorg-server/include/xorg-config.h.in b/xorg-server/include/xorg-config.h.in
index 0df31aeb2..487d7addb 100644
--- a/xorg-server/include/xorg-config.h.in
+++ b/xorg-server/include/xorg-config.h.in
@@ -142,4 +142,7 @@
/* Define to 1 if you have the `seteuid' function. */
#undef HAVE_SETEUID
+/* Support APM/ACPI power management in the server */
+#undef XF86PM
+
#endif /* _XORG_CONFIG_H_ */
diff --git a/xorg-server/include/xorg-server.h.in b/xorg-server/include/xorg-server.h.in
index 81935be5c..1281b3e5e 100644
--- a/xorg-server/include/xorg-server.h.in
+++ b/xorg-server/include/xorg-server.h.in
@@ -28,6 +28,9 @@
/* Build DPMS extension */
#undef DPMSExtension
+/* Build DRI3 extension */
+#undef DRI3
+
/* Build GLX extension */
#undef GLXEXT
@@ -67,6 +70,9 @@
/* Internal define for Xinerama */
#undef PANORAMIX
+/* Support Present extension */
+#undef PRESENT
+
/* Support RANDR extension */
#undef RANDR