|
72 | 72 | //! # const SPI_IOC_MAGIC: u8 = b'k'; // Defined in linux/spi/spidev.h
|
73 | 73 | //! # const SPI_IOC_TYPE_MODE: u8 = 1;
|
74 | 74 | //! pub unsafe fn spi_read_mode(fd: c_int, data: *mut u8) -> Result<c_int> {
|
75 |
| -//! let res = libc::ioctl(fd, request_code_read!(SPI_IOC_MAGIC, SPI_IOC_TYPE_MODE, mem::size_of::<u8>()), data); |
| 75 | +//! let res = unsafe { libc::ioctl(fd, request_code_read!(SPI_IOC_MAGIC, SPI_IOC_TYPE_MODE, mem::size_of::<u8>()), data) }; |
76 | 76 | //! Errno::result(res)
|
77 | 77 | //! }
|
78 | 78 | //! # fn main() {}
|
|
179 | 179 | //! # const SPI_IOC_TYPE_MESSAGE: u8 = 0;
|
180 | 180 | //! # pub struct spi_ioc_transfer(u64);
|
181 | 181 | //! pub unsafe fn spi_message(fd: c_int, data: &mut [spi_ioc_transfer]) -> Result<c_int> {
|
182 |
| -//! let res = libc::ioctl(fd, |
183 |
| -//! request_code_write!(SPI_IOC_MAGIC, SPI_IOC_TYPE_MESSAGE, data.len() * mem::size_of::<spi_ioc_transfer>()), |
184 |
| -//! data.as_ptr()); |
| 182 | +//! let res = unsafe { |
| 183 | +//! libc::ioctl( |
| 184 | +//! fd, |
| 185 | +//! request_code_write!(SPI_IOC_MAGIC, SPI_IOC_TYPE_MESSAGE, data.len() * mem::size_of::<spi_ioc_transfer>()), |
| 186 | +//! data |
| 187 | +//! ) |
| 188 | +//! }; |
185 | 189 | //! Errno::result(res)
|
186 | 190 | //! }
|
187 | 191 | //! # fn main() {}
|
@@ -303,7 +307,9 @@ macro_rules! ioctl_none {
|
303 | 307 | $(#[$attr])*
|
304 | 308 | pub unsafe fn $name(fd: $crate::libc::c_int)
|
305 | 309 | -> $crate::Result<$crate::libc::c_int> {
|
306 |
| - convert_ioctl_res!($crate::libc::ioctl(fd, request_code_none!($ioty, $nr) as $crate::sys::ioctl::ioctl_num_type)) |
| 310 | + unsafe { |
| 311 | + convert_ioctl_res!($crate::libc::ioctl(fd, request_code_none!($ioty, $nr) as $crate::sys::ioctl::ioctl_num_type)) |
| 312 | + } |
307 | 313 | }
|
308 | 314 | )
|
309 | 315 | }
|
@@ -343,7 +349,9 @@ macro_rules! ioctl_none_bad {
|
343 | 349 | $(#[$attr])*
|
344 | 350 | pub unsafe fn $name(fd: $crate::libc::c_int)
|
345 | 351 | -> $crate::Result<$crate::libc::c_int> {
|
346 |
| - convert_ioctl_res!($crate::libc::ioctl(fd, $nr as $crate::sys::ioctl::ioctl_num_type)) |
| 352 | + unsafe { |
| 353 | + convert_ioctl_res!($crate::libc::ioctl(fd, $nr as $crate::sys::ioctl::ioctl_num_type)) |
| 354 | + } |
347 | 355 | }
|
348 | 356 | )
|
349 | 357 | }
|
@@ -381,7 +389,9 @@ macro_rules! ioctl_read {
|
381 | 389 | pub unsafe fn $name(fd: $crate::libc::c_int,
|
382 | 390 | data: *mut $ty)
|
383 | 391 | -> $crate::Result<$crate::libc::c_int> {
|
384 |
| - convert_ioctl_res!($crate::libc::ioctl(fd, request_code_read!($ioty, $nr, ::std::mem::size_of::<$ty>()) as $crate::sys::ioctl::ioctl_num_type, data)) |
| 392 | + unsafe { |
| 393 | + convert_ioctl_res!($crate::libc::ioctl(fd, request_code_read!($ioty, $nr, ::std::mem::size_of::<$ty>()) as $crate::sys::ioctl::ioctl_num_type, data)) |
| 394 | + } |
385 | 395 | }
|
386 | 396 | )
|
387 | 397 | }
|
@@ -417,7 +427,9 @@ macro_rules! ioctl_read_bad {
|
417 | 427 | pub unsafe fn $name(fd: $crate::libc::c_int,
|
418 | 428 | data: *mut $ty)
|
419 | 429 | -> $crate::Result<$crate::libc::c_int> {
|
420 |
| - convert_ioctl_res!($crate::libc::ioctl(fd, $nr as $crate::sys::ioctl::ioctl_num_type, data)) |
| 430 | + unsafe { |
| 431 | + convert_ioctl_res!($crate::libc::ioctl(fd, $nr as $crate::sys::ioctl::ioctl_num_type, data)) |
| 432 | + } |
421 | 433 | }
|
422 | 434 | )
|
423 | 435 | }
|
@@ -454,7 +466,9 @@ macro_rules! ioctl_write_ptr {
|
454 | 466 | pub unsafe fn $name(fd: $crate::libc::c_int,
|
455 | 467 | data: *const $ty)
|
456 | 468 | -> $crate::Result<$crate::libc::c_int> {
|
457 |
| - convert_ioctl_res!($crate::libc::ioctl(fd, request_code_write!($ioty, $nr, ::std::mem::size_of::<$ty>()) as $crate::sys::ioctl::ioctl_num_type, data)) |
| 469 | + unsafe { |
| 470 | + convert_ioctl_res!($crate::libc::ioctl(fd, request_code_write!($ioty, $nr, ::std::mem::size_of::<$ty>()) as $crate::sys::ioctl::ioctl_num_type, data)) |
| 471 | + } |
458 | 472 | }
|
459 | 473 | )
|
460 | 474 | }
|
@@ -490,7 +504,9 @@ macro_rules! ioctl_write_ptr_bad {
|
490 | 504 | pub unsafe fn $name(fd: $crate::libc::c_int,
|
491 | 505 | data: *const $ty)
|
492 | 506 | -> $crate::Result<$crate::libc::c_int> {
|
493 |
| - convert_ioctl_res!($crate::libc::ioctl(fd, $nr as $crate::sys::ioctl::ioctl_num_type, data)) |
| 507 | + unsafe { |
| 508 | + convert_ioctl_res!($crate::libc::ioctl(fd, $nr as $crate::sys::ioctl::ioctl_num_type, data)) |
| 509 | + } |
494 | 510 | }
|
495 | 511 | )
|
496 | 512 | }
|
@@ -531,7 +547,9 @@ cfg_if! {
|
531 | 547 | pub unsafe fn $name(fd: $crate::libc::c_int,
|
532 | 548 | data: $crate::sys::ioctl::ioctl_param_type)
|
533 | 549 | -> $crate::Result<$crate::libc::c_int> {
|
534 |
| - convert_ioctl_res!($crate::libc::ioctl(fd, request_code_write_int!($ioty, $nr) as $crate::sys::ioctl::ioctl_num_type, data)) |
| 550 | + unsafe { |
| 551 | + convert_ioctl_res!($crate::libc::ioctl(fd, request_code_write_int!($ioty, $nr) as $crate::sys::ioctl::ioctl_num_type, data)) |
| 552 | + } |
535 | 553 | }
|
536 | 554 | )
|
537 | 555 | }
|
@@ -572,7 +590,9 @@ cfg_if! {
|
572 | 590 | pub unsafe fn $name(fd: $crate::libc::c_int,
|
573 | 591 | data: $crate::sys::ioctl::ioctl_param_type)
|
574 | 592 | -> $crate::Result<$crate::libc::c_int> {
|
575 |
| - convert_ioctl_res!($crate::libc::ioctl(fd, request_code_write!($ioty, $nr, ::std::mem::size_of::<$crate::libc::c_int>()) as $crate::sys::ioctl::ioctl_num_type, data)) |
| 593 | + unsafe { |
| 594 | + convert_ioctl_res!($crate::libc::ioctl(fd, request_code_write!($ioty, $nr, ::std::mem::size_of::<$crate::libc::c_int>()) as $crate::sys::ioctl::ioctl_num_type, data)) |
| 595 | + } |
576 | 596 | }
|
577 | 597 | )
|
578 | 598 | }
|
@@ -616,7 +636,9 @@ macro_rules! ioctl_write_int_bad {
|
616 | 636 | pub unsafe fn $name(fd: $crate::libc::c_int,
|
617 | 637 | data: $crate::libc::c_int)
|
618 | 638 | -> $crate::Result<$crate::libc::c_int> {
|
619 |
| - convert_ioctl_res!($crate::libc::ioctl(fd, $nr as $crate::sys::ioctl::ioctl_num_type, data)) |
| 639 | + unsafe { |
| 640 | + convert_ioctl_res!($crate::libc::ioctl(fd, $nr as $crate::sys::ioctl::ioctl_num_type, data)) |
| 641 | + } |
620 | 642 | }
|
621 | 643 | )
|
622 | 644 | }
|
@@ -653,7 +675,9 @@ macro_rules! ioctl_readwrite {
|
653 | 675 | pub unsafe fn $name(fd: $crate::libc::c_int,
|
654 | 676 | data: *mut $ty)
|
655 | 677 | -> $crate::Result<$crate::libc::c_int> {
|
656 |
| - convert_ioctl_res!($crate::libc::ioctl(fd, request_code_readwrite!($ioty, $nr, ::std::mem::size_of::<$ty>()) as $crate::sys::ioctl::ioctl_num_type, data)) |
| 678 | + unsafe { |
| 679 | + convert_ioctl_res!($crate::libc::ioctl(fd, request_code_readwrite!($ioty, $nr, ::std::mem::size_of::<$ty>()) as $crate::sys::ioctl::ioctl_num_type, data)) |
| 680 | + } |
657 | 681 | }
|
658 | 682 | )
|
659 | 683 | }
|
@@ -681,7 +705,9 @@ macro_rules! ioctl_readwrite_bad {
|
681 | 705 | pub unsafe fn $name(fd: $crate::libc::c_int,
|
682 | 706 | data: *mut $ty)
|
683 | 707 | -> $crate::Result<$crate::libc::c_int> {
|
684 |
| - convert_ioctl_res!($crate::libc::ioctl(fd, $nr as $crate::sys::ioctl::ioctl_num_type, data)) |
| 708 | + unsafe { |
| 709 | + convert_ioctl_res!($crate::libc::ioctl(fd, $nr as $crate::sys::ioctl::ioctl_num_type, data)) |
| 710 | + } |
685 | 711 | }
|
686 | 712 | )
|
687 | 713 | }
|
@@ -710,7 +736,9 @@ macro_rules! ioctl_read_buf {
|
710 | 736 | pub unsafe fn $name(fd: $crate::libc::c_int,
|
711 | 737 | data: &mut [$ty])
|
712 | 738 | -> $crate::Result<$crate::libc::c_int> {
|
713 |
| - convert_ioctl_res!($crate::libc::ioctl(fd, request_code_read!($ioty, $nr, ::std::mem::size_of_val(data)) as $crate::sys::ioctl::ioctl_num_type, data.as_mut_ptr())) |
| 739 | + unsafe { |
| 740 | + convert_ioctl_res!($crate::libc::ioctl(fd, request_code_read!($ioty, $nr, ::std::mem::size_of_val(data)) as $crate::sys::ioctl::ioctl_num_type, data.as_mut_ptr())) |
| 741 | + } |
714 | 742 | }
|
715 | 743 | )
|
716 | 744 | }
|
@@ -749,7 +777,9 @@ macro_rules! ioctl_write_buf {
|
749 | 777 | pub unsafe fn $name(fd: $crate::libc::c_int,
|
750 | 778 | data: &[$ty])
|
751 | 779 | -> $crate::Result<$crate::libc::c_int> {
|
752 |
| - convert_ioctl_res!($crate::libc::ioctl(fd, request_code_write!($ioty, $nr, ::std::mem::size_of_val(data)) as $crate::sys::ioctl::ioctl_num_type, data.as_ptr())) |
| 780 | + unsafe { |
| 781 | + convert_ioctl_res!($crate::libc::ioctl(fd, request_code_write!($ioty, $nr, ::std::mem::size_of_val(data)) as $crate::sys::ioctl::ioctl_num_type, data.as_ptr())) |
| 782 | + } |
753 | 783 | }
|
754 | 784 | )
|
755 | 785 | }
|
@@ -778,7 +808,9 @@ macro_rules! ioctl_readwrite_buf {
|
778 | 808 | pub unsafe fn $name(fd: $crate::libc::c_int,
|
779 | 809 | data: &mut [$ty])
|
780 | 810 | -> $crate::Result<$crate::libc::c_int> {
|
781 |
| - convert_ioctl_res!($crate::libc::ioctl(fd, request_code_readwrite!($ioty, $nr, ::std::mem::size_of_val(data)) as $crate::sys::ioctl::ioctl_num_type, data.as_mut_ptr())) |
| 811 | + unsafe { |
| 812 | + convert_ioctl_res!($crate::libc::ioctl(fd, request_code_readwrite!($ioty, $nr, ::std::mem::size_of_val(data)) as $crate::sys::ioctl::ioctl_num_type, data.as_mut_ptr())) |
| 813 | + } |
782 | 814 | }
|
783 | 815 | )
|
784 | 816 | }
|
0 commit comments