Macro nix::ioctl_write_buf[][src]

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

Generates a wrapper function for an ioctl that writes an array of elements to the kernel.

The arguments to this macro are:

  • The function name
  • The ioctl identifier
  • The ioctl sequence number
  • The data type passed by this ioctl

The generated function has the following signature:

pub unsafe fn FUNCTION_NAME(fd: libc::c_int, data: &[DATA_TYPE]) -> Result<libc::c_int>

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

Examples

const SPI_IOC_MAGIC: u8 = b'k'; // Defined in linux/spi/spidev.h
const SPI_IOC_TYPE_MESSAGE: u8 = 0;
ioctl_write_buf!(spi_transfer, SPI_IOC_MAGIC, SPI_IOC_TYPE_MESSAGE, spi_ioc_transfer);