nix

Macro ioctl_none_bad

source
macro_rules! ioctl_none_bad {
    ($(#[$attr:meta])* $name:ident, $nr:expr) => { ... };
}
Expand description

Generates a wrapper function for a “bad” ioctl that passes no data to the kernel.

The arguments to this macro are:

  • The function name
  • The ioctl request code

The generated function has the following signature:

pub unsafe fn FUNCTION_NAME(fd: libc::c_int) -> Result<libc::c_int>

For a more in-depth explanation of ioctls, see ::sys::ioctl.

§Example

ioctl_none_bad!(tiocnxcl, TIOCNXCL);
fn main() {
    let file = File::open("/dev/ttyUSB0").unwrap();
    unsafe { tiocnxcl(file.as_raw_fd()) }.unwrap();
}