From 79038751ffe47ed1ce82766e027d98fd2f0e2c6a Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 8 Nov 2006 15:08:09 +1100 Subject: 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. --- libdrm/xf86drm.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'libdrm/xf86drm.h') 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 +#include #include /* 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); -- cgit v1.2.3