nix

Macro ioctl_write_ptr_bad

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

Generates a wrapper function for a “bad” ioctl that writes data through a pointer 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: *const DATA_TYPE) -> Result<libc::c_int>

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

§Example

ioctl_write_ptr_bad!(tcsets, libc::TCSETS, libc::termios);