func IoW(t, nr, size uintptr) uintptr {
	return ioc(directionWrite, t, nr, size)
}
IoW used for an ioctl that writes data to the device driver.
package ioctl
import "golang.org/x/sys/unix"
const (
	typeBits      = 8
	numberBits    = 8
	sizeBits      = 14
	directionBits = 2
	typeMask      = (1 << typeBits) - 1
	numberMask    = (1 << numberBits) - 1
	sizeMask      = (1 << sizeBits) - 1
	directionMask = (1 << directionBits) - 1
	directionNone  = 0
	directionWrite = 1
	directionRead  = 2
	numberShift    = 0
	typeShift      = numberShift + numberBits
	sizeShift      = typeShift + typeBits
	directionShift = sizeShift + sizeBits
)
func ioc(dir, t, nr, size uintptr) uintptr {
	return (dir << directionShift) | (t << typeShift) | (nr << numberShift) | (size << sizeShift)
}
func Io(t, nr uintptr) uintptr {
	return ioc(directionNone, t, nr, 0)
}
func IoR(t, nr, size uintptr) uintptr {
	return ioc(directionRead, t, nr, size)
}