aboutsummaryrefslogtreecommitdiff
path: root/libdrm/xf86drm.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2006-11-08 15:08:09 +1100
committerDave Airlie <airlied@linux.ie>2006-11-08 15:08:09 +1100
commit79038751ffe47ed1ce82766e027d98fd2f0e2c6a (patch)
tree07856975ad8b13ed8586dab348c35650ac7fc84b /libdrm/xf86drm.h
parent584acab6d6103552711bd6b5596ee4ccad305bc2 (diff)
libdrm: add support for server side functionality in libdrm
This adds APIs to allow the X server to use libdrm from the system rather than its own in-built copy.
Diffstat (limited to 'libdrm/xf86drm.h')
-rw-r--r--libdrm/xf86drm.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/libdrm/xf86drm.h b/libdrm/xf86drm.h
index 86ee7d30..4d9580c4 100644
--- a/libdrm/xf86drm.h
+++ b/libdrm/xf86drm.h
@@ -36,6 +36,8 @@
#ifndef _XF86DRM_H_
#define _XF86DRM_H_
+#include <stdarg.h>
+#include <sys/types.h>
#include <drm.h>
/* Defaults, if nothing set in xf86config */
@@ -61,6 +63,21 @@
typedef unsigned int drmSize, *drmSizePtr; /**< For mapped regions */
typedef void *drmAddress, **drmAddressPtr; /**< For mapped regions */
+typedef struct _drmServerInfo {
+ int (*debug_print)(const char *format, va_list ap);
+ int (*load_module)(const char *name);
+ void (*get_perms)(gid_t *, mode_t *);
+} drmServerInfo, *drmServerInfoPtr;
+
+typedef struct drmHashEntry {
+ int fd;
+ void (*f)(int, void *, void *);
+ void *tagTable;
+} drmHashEntry;
+
+extern void *drmGetHashTable(void);
+extern drmHashEntry *drmGetEntry(int fd);
+
/**
* Driver version information.
*
@@ -604,6 +621,7 @@ extern int drmScatterGatherFree(int fd, drm_handle_t handle);
extern int drmWaitVBlank(int fd, drmVBlankPtr vbl);
/* Support routines */
+extern void drmSetServerInfo(drmServerInfoPtr info);
extern int drmError(int err, const char *label);
extern void *drmMalloc(int size);
extern void drmFree(void *pt);