]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Add ioctl wrappers for "Linux user input device". Fixes #296229.
authorJulian Seward <jseward@acm.org>
Fri, 13 Jul 2012 13:15:10 +0000 (13:15 +0000)
committerJulian Seward <jseward@acm.org>
Fri, 13 Jul 2012 13:15:10 +0000 (13:15 +0000)
(Chase Douglas, chase.douglas@canonical.com)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12737

coregrind/m_syswrap/syswrap-linux.c
include/vki/vki-linux.h

index edbd61c62bbb015003abb8f5b6b66005078439a5..5b3a34d59b5e3a1400f754fb21b91e54e4c6a6c6 100644 (file)
@@ -4215,6 +4215,10 @@ PRE(sys_ioctl)
    /* KVM ioctls that dont check for a numeric value as parameter */
    case VKI_KVM_S390_ENABLE_SIE:
    case VKI_KVM_S390_INITIAL_RESET:
+
+   /* User input device creation */
+   case VKI_UI_DEV_CREATE:
+   case VKI_UI_DEV_DESTROY:
       PRINT("sys_ioctl ( %ld, 0x%lx )",ARG1,ARG2);
       PRE_REG_READ2(long, "ioctl",
                     unsigned int, fd, unsigned int, request);
@@ -5350,6 +5354,20 @@ PRE(sys_ioctl)
       }
       break;
 
+  /* User input device creation */
+  case VKI_UI_SET_EVBIT:
+  case VKI_UI_SET_KEYBIT:
+  case VKI_UI_SET_RELBIT:
+  case VKI_UI_SET_ABSBIT:
+  case VKI_UI_SET_MSCBIT:
+  case VKI_UI_SET_LEDBIT:
+  case VKI_UI_SET_SNDBIT:
+  case VKI_UI_SET_FFBIT:
+  case VKI_UI_SET_SWBIT:
+  case VKI_UI_SET_PROPBIT:
+      /* These just take an int by value */
+      break;
+
 #  if defined(VGPV_arm_linux_android)
    /* ashmem */
    case VKI_ASHMEM_GET_SIZE:
index e90f1e63163c552a5a76ded12c0489376c501829..0a54db0ff39586575b16af5b2a217dfc84656358 100644 (file)
@@ -2990,6 +2990,25 @@ struct vki_hwtstamp_config {
        int rx_filter;
 };
 
+//----------------------------------------------------------------------
+// From linux-2.6.12-rc2/include/linux/uinput.h
+//----------------------------------------------------------------------
+
+#define VKI_UINPUT_IOCTL_BASE       'U'
+#define VKI_UI_DEV_CREATE              _VKI_IO(VKI_UINPUT_IOCTL_BASE, 1)
+#define VKI_UI_DEV_DESTROY             _VKI_IO(VKI_UINPUT_IOCTL_BASE, 2)
+
+#define VKI_UI_SET_EVBIT               _VKI_IOW(VKI_UINPUT_IOCTL_BASE, 100, int)
+#define VKI_UI_SET_KEYBIT              _VKI_IOW(VKI_UINPUT_IOCTL_BASE, 101, int)
+#define VKI_UI_SET_RELBIT              _VKI_IOW(VKI_UINPUT_IOCTL_BASE, 102, int)
+#define VKI_UI_SET_ABSBIT              _VKI_IOW(VKI_UINPUT_IOCTL_BASE, 103, int)
+#define VKI_UI_SET_MSCBIT              _VKI_IOW(VKI_UINPUT_IOCTL_BASE, 104, int)
+#define VKI_UI_SET_LEDBIT              _VKI_IOW(VKI_UINPUT_IOCTL_BASE, 105, int)
+#define VKI_UI_SET_SNDBIT              _VKI_IOW(VKI_UINPUT_IOCTL_BASE, 106, int)
+#define VKI_UI_SET_FFBIT               _VKI_IOW(VKI_UINPUT_IOCTL_BASE, 107, int)
+#define VKI_UI_SET_SWBIT               _VKI_IOW(VKI_UINPUT_IOCTL_BASE, 109, int)
+#define VKI_UI_SET_PROPBIT             _VKI_IOW(VKI_UINPUT_IOCTL_BASE, 110, int)
+
 #endif // __VKI_LINUX_H
 
 /*--------------------------------------------------------------------*/