Generates a wrapper function for a "bad" ioctl that reads and writes data to the kernel.
The arguments to this macro are:
- The function name
- The ioctl request code
- The data type passed by this ioctl
The generated function has the following signature:
pub unsafe fn FUNCTION_NAME(fd: libc::c_int, data: *mut DATA_TYPE) -> Result<libc::c_int>
For a more in-depth explanation of ioctls, see