summaryrefslogtreecommitdiffstats
path: root/sys/sys/ioccom.h
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2008-08-28 18:29:59 +0000
committerobrien <obrien@FreeBSD.org>2008-08-28 18:29:59 +0000
commit7222ac6db01f5715c7d24682523dc6889f254a04 (patch)
treef82ce35afdf507d8338e6e2a7de5d42d9ca8a0d4 /sys/sys/ioccom.h
parenta7d0f2bbf3cb8f8ffdfe880b6f050d1f52dd8c8f (diff)
downloadFreeBSD-src-7222ac6db01f5715c7d24682523dc6889f254a04.zip
FreeBSD-src-7222ac6db01f5715c7d24682523dc6889f254a04.tar.gz
Protect _IOC's 'len' and 'inout' parameters so that _IOC can be used in
more flexible ways.
Diffstat (limited to 'sys/sys/ioccom.h')
-rw-r--r--sys/sys/ioccom.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/sys/ioccom.h b/sys/sys/ioccom.h
index acbd0eb..be2ce66 100644
--- a/sys/sys/ioccom.h
+++ b/sys/sys/ioccom.h
@@ -50,8 +50,8 @@
#define IOC_INOUT (IOC_IN|IOC_OUT)
#define IOC_DIRMASK (IOC_VOID|IOC_OUT|IOC_IN)
-#define _IOC(inout,group,num,len) \
- ((unsigned long)(inout | ((len & IOCPARM_MASK) << 16) | ((group) << 8) | (num)))
+#define _IOC(inout,group,num,len) ((unsigned long) \
+ ((inout) | (((len) & IOCPARM_MASK) << 16) | ((group) << 8) | (num)))
#define _IO(g,n) _IOC(IOC_VOID, (g), (n), 0)
#define _IOWINT(g,n) _IOC(IOC_VOID, (g), (n), sizeof(int))
#define _IOR(g,n,t) _IOC(IOC_OUT, (g), (n), sizeof(t))
OpenPOWER on IntegriCloud