separated ioctl