Fix build on *BSD
This adds a minimal #ifdef clause to drm.h that we'll push upstream. Once that goes in we can share drm.h between linux, libdrm, and the bsd's.main
parent
863e39b56e
commit
500f5b5240
|
@ -36,17 +36,21 @@
|
||||||
#ifndef _DRM_H_
|
#ifndef _DRM_H_
|
||||||
#define _DRM_H_
|
#define _DRM_H_
|
||||||
|
|
||||||
#include <linux/types.h>
|
#if defined(__linux__)
|
||||||
#include <asm/ioctl.h> /* For _IO* macros */
|
|
||||||
#define DRM_IOCTL_NR(n) _IOC_NR(n)
|
|
||||||
#define DRM_IOC_VOID _IOC_NONE
|
|
||||||
#define DRM_IOC_READ _IOC_READ
|
|
||||||
#define DRM_IOC_WRITE _IOC_WRITE
|
|
||||||
#define DRM_IOC_READWRITE _IOC_READ|_IOC_WRITE
|
|
||||||
#define DRM_IOC(dir, group, nr, size) _IOC(dir, group, nr, size)
|
|
||||||
|
|
||||||
#define DRM_MAJOR 226
|
#include <linux/types.h>
|
||||||
#define DRM_MAX_MINOR 15
|
#include <asm/ioctl.h>
|
||||||
|
typedef unsigned int drm_handle_t;
|
||||||
|
|
||||||
|
#else /* One of the BSDs */
|
||||||
|
|
||||||
|
#include <sys/ioccom.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
typedef uint32_t __u32;
|
||||||
|
typedef uint64_t __u64;
|
||||||
|
typedef unsigned long drm_handle_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#define DRM_NAME "drm" /**< Name in kernel, /dev, and /proc */
|
#define DRM_NAME "drm" /**< Name in kernel, /dev, and /proc */
|
||||||
#define DRM_MIN_ORDER 5 /**< At least 2^5 bytes = 32 bytes */
|
#define DRM_MIN_ORDER 5 /**< At least 2^5 bytes = 32 bytes */
|
||||||
|
@ -59,7 +63,6 @@
|
||||||
#define _DRM_LOCK_IS_CONT(lock) ((lock) & _DRM_LOCK_CONT)
|
#define _DRM_LOCK_IS_CONT(lock) ((lock) & _DRM_LOCK_CONT)
|
||||||
#define _DRM_LOCKING_CONTEXT(lock) ((lock) & ~(_DRM_LOCK_HELD|_DRM_LOCK_CONT))
|
#define _DRM_LOCKING_CONTEXT(lock) ((lock) & ~(_DRM_LOCK_HELD|_DRM_LOCK_CONT))
|
||||||
|
|
||||||
typedef unsigned int drm_handle_t;
|
|
||||||
typedef unsigned int drm_context_t;
|
typedef unsigned int drm_context_t;
|
||||||
typedef unsigned int drm_drawable_t;
|
typedef unsigned int drm_drawable_t;
|
||||||
typedef unsigned int drm_magic_t;
|
typedef unsigned int drm_magic_t;
|
||||||
|
|
22
xf86drm.h
22
xf86drm.h
|
@ -39,6 +39,28 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <drm.h>
|
#include <drm.h>
|
||||||
|
|
||||||
|
#if defined(__linux__)
|
||||||
|
|
||||||
|
#define DRM_IOCTL_NR(n) _IOC_NR(n)
|
||||||
|
#define DRM_IOC_VOID _IOC_NONE
|
||||||
|
#define DRM_IOC_READ _IOC_READ
|
||||||
|
#define DRM_IOC_WRITE _IOC_WRITE
|
||||||
|
#define DRM_IOC_READWRITE _IOC_READ|_IOC_WRITE
|
||||||
|
#define DRM_IOC(dir, group, nr, size) _IOC(dir, group, nr, size)
|
||||||
|
#define DRM_MAJOR 226
|
||||||
|
|
||||||
|
#else /* One of the *BSDs */
|
||||||
|
|
||||||
|
#include <sys/ioccom.h>
|
||||||
|
#define DRM_IOCTL_NR(n) ((n) & 0xff)
|
||||||
|
#define DRM_IOC_VOID IOC_VOID
|
||||||
|
#define DRM_IOC_READ IOC_OUT
|
||||||
|
#define DRM_IOC_WRITE IOC_IN
|
||||||
|
#define DRM_IOC_READWRITE IOC_INOUT
|
||||||
|
#define DRM_IOC(dir, group, nr, size) _IOC(dir, group, nr, size)
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Defaults, if nothing set in xf86config */
|
/* Defaults, if nothing set in xf86config */
|
||||||
#define DRM_DEV_UID 0
|
#define DRM_DEV_UID 0
|
||||||
#define DRM_DEV_GID 0
|
#define DRM_DEV_GID 0
|
||||||
|
|
Loading…
Reference in New Issue