Signed-off-by: Alan Coopersmith <alan.coopersmith at sun.com> --- xf86drm.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/xf86drm.h b/xf86drm.h index 40c55c9..781c323 100644 --- a/xf86drm.h +++ b/xf86drm.h @@ -56,9 +56,17 @@ extern "C" { #define DRM_IOC_READWRITE _IOC_READ|_IOC_WRITE #define DRM_IOC(dir, group, nr, size) _IOC(dir, group, nr, size) -#else /* One of the *BSDs */ +#else /* One of the *BSDs or Solaris */ #include <sys/ioccom.h> + +#if defined(__sun) && !defined(_IOC) +#define _IOC(dir, group, nr, size) \ + ((dir) == DRM_IOC_READWRITE ? _IOWRN((group), (nr), (size)) : \ + ((dir) == DRM_IOC_WRITE ? _IOWN((group), (nr), (size)) : \ + /* (dir) == DRM_IOC_READ */ _IORN((group), (nr), (size)) )) +#endif + #define DRM_IOCTL_NR(n) ((n) & 0xff) #define DRM_IOC_VOID IOC_VOID #define DRM_IOC_READ IOC_OUT -- 1.7.9.2