fix ioctl _IOR, _IOW, etc macros to avoid signed overflow (2<<30)
[musl] / arch / mips / bits / ioctl.h
index 5040226..83fb167 100644 (file)
@@ -3,10 +3,10 @@
 #define _IOC_READ  2U
 #define _IOC_WRITE 4U
 
-#define _IO(a,b) _IOC(1U,(a),(b),0)
-#define _IOW(a,b,c) _IOC(4U,(a),(b),sizeof(c))
-#define _IOR(a,b,c) _IOC(2U,(a),(b),sizeof(c))
-#define _IOWR(a,b,c) _IOC(6U,(a),(b),sizeof(c))
+#define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0)
+#define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c))
+#define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c))
+#define _IOWR(a,b,c) _IOC(_IOC_READ|_IOC_WRITE,(a),(b),sizeof(c))
 
 #define TCGETA         0x5401
 #define TCSETA         0x5402