@@ -1,4 +1,4 @@
-/* $NetBSD: ioccom.h,v 1.9 2007/05/29 21:32:30 christos Exp $ */
+/* $NetBSD: ioccom.h,v 1.10 2009/05/19 21:59:10 christos Exp $ */
/*-
* Copyright (c) 1982, 1986, 1990, 1993, 1994
@@ -58,8 +58,9 @@
/* mask for IN/OUT/VOID */
#define IOC_DIRMASK (unsigned long)0xe0000000
-#define _IOC(inout,group,num,len) \
- (inout | ((len & IOCPARM_MASK) << 16) | ((group) << 8) | (num))
+#define _IOC(inout, group, num, len) \
+ ((inout) | (((len) & IOCPARM_MASK) << IOCPARM_SHIFT) | \
+ ((group) << IOCGROUP_SHIFT) | (num))
#define _IO(g,n) _IOC(IOC_VOID, (g), (n), 0)
#define _IOR(g,n,t) _IOC(IOC_OUT, (g), (n), sizeof(t))
#define _IOW(g,n,t) _IOC(IOC_IN, (g), (n), sizeof(t))