summaryrefslogtreecommitdiff
path: root/ioctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'ioctl.c')
-rw-r--r--ioctl.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ioctl.c b/ioctl.c
index ed2a32b..9286bab 100644
--- a/ioctl.c
+++ b/ioctl.c
@@ -43,6 +43,10 @@ struct ioctlent ioctlent0[] = {
#include "ioctlent.h"
};
+#ifdef LINUX
+#include <asm/ioctl.h>
+#endif
+
int nioctlents0 = sizeof ioctlent0 / sizeof ioctlent0[0];
#if SUPPORTED_PERSONALITIES >= 2
@@ -81,6 +85,9 @@ long code;
struct ioctlent *iop, ioent;
ioent.code = code;
+#ifdef LINUX
+ ioent.code &= (_IOC_NRMASK|_IOC_TYPEMASK);
+#endif
iop = (struct ioctlent *) bsearch((char *) &ioent, (char *) ioctlent,
nioctlents, sizeof(struct ioctlent), compare);
return iop ? iop->symbol : NULL;