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);