ioctl no longer needs to be function of s