ioctl revised