macro_rules! ioctl_read { ($(#[$attr:meta])* $name:ident, $ioty:expr, $nr:expr, $ty:ty) => { ... }; }
Expand description
Generates a wrapper function for an ioctl that reads data from 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: *mut DATA_TYPE) -> Result<libc::c_int>
For a more in-depth explanation of ioctls, see ::sys::ioctl
.
§Example
const SPI_IOC_MAGIC: u8 = b'k'; // Defined in linux/spi/spidev.h
const SPI_IOC_TYPE_MODE: u8 = 1;
ioctl_read!(spi_read_mode, SPI_IOC_MAGIC, SPI_IOC_TYPE_MODE, u8);