OSDN Git Service

android: add Android.mk
[android-x86/external-libdrm.git] / xf86drm.h
index 9b89f56..76eb94e 100644 (file)
--- a/xf86drm.h
+++ b/xf86drm.h
 #include <stdint.h>
 #include <drm.h>
 
+#if defined(__cplusplus) || defined(c_plusplus)
+extern "C" {
+#endif
+
 #ifndef DRM_MAX_MINOR
 #define DRM_MAX_MINOR   16
 #endif
@@ -296,12 +300,15 @@ typedef struct _drmTextureRegion {
 typedef enum {
     DRM_VBLANK_ABSOLUTE = 0x0, /**< Wait for specific vblank sequence number */
     DRM_VBLANK_RELATIVE = 0x1, /**< Wait for given number of vblanks */
+    /* bits 1-6 are reserved for high crtcs */
+    DRM_VBLANK_HIGH_CRTC_MASK = 0x0000003e,
     DRM_VBLANK_EVENT = 0x4000000,      /**< Send event instead of blocking */
     DRM_VBLANK_FLIP = 0x8000000,       /**< Scheduled buffer swap should flip */
     DRM_VBLANK_NEXTONMISS = 0x10000000,        /**< If missed, wait for next vblank */
     DRM_VBLANK_SECONDARY = 0x20000000, /**< Secondary display controller */
     DRM_VBLANK_SIGNAL   = 0x40000000   /* Send signal instead of blocking */
 } drmVBlankSeqType;
+#define DRM_VBLANK_HIGH_CRTC_SHIFT 1
 
 typedef struct _drmVBlankReq {
        drmVBlankSeqType type;
@@ -542,6 +549,7 @@ extern int drmOpenControl(int minor);
 extern int           drmClose(int fd);
 extern drmVersionPtr drmGetVersion(int fd);
 extern drmVersionPtr drmGetLibVersion(int fd);
+extern int           drmGetCap(int fd, uint64_t capability, uint64_t *value);
 extern void          drmFreeVersion(drmVersionPtr);
 extern int           drmGetMagic(int fd, drm_magic_t * magic);
 extern char          *drmGetBusid(int fd);
@@ -719,4 +727,8 @@ extern int drmHandleEvent(int fd, drmEventContextPtr evctx);
 
 extern char *drmGetDeviceNameFromFd(int fd);
 
+#if defined(__cplusplus) || defined(c_plusplus)
+}
+#endif
+
 #endif