1*06938addSMatthew McPherrin //! Compare libc's SO_EE_OFFENDER function against the actual C macro 2*06938addSMatthew McPherrin 3*06938addSMatthew McPherrin #[cfg(any(target_os = "linux", target_os = "android"))] 4*06938addSMatthew McPherrin mod t { 5*06938addSMatthew McPherrin use libc::{self, sock_extended_err, sockaddr}; 6*06938addSMatthew McPherrin 7*06938addSMatthew McPherrin extern "C" { so_ee_offender(ee: *const sock_extended_err) -> *mut sockaddr8*06938addSMatthew McPherrin pub fn so_ee_offender(ee: *const sock_extended_err) -> *mut sockaddr; 9*06938addSMatthew McPherrin } 10*06938addSMatthew McPherrin 11*06938addSMatthew McPherrin #[test] test_cmsg_data()12*06938addSMatthew McPherrin fn test_cmsg_data() { 13*06938addSMatthew McPherrin for l in 0..128 { 14*06938addSMatthew McPherrin let ee = l as *const sock_extended_err; 15*06938addSMatthew McPherrin unsafe { 16*06938addSMatthew McPherrin assert_eq!(libc::SO_EE_OFFENDER(ee), so_ee_offender(ee)); 17*06938addSMatthew McPherrin } 18*06938addSMatthew McPherrin } 19*06938addSMatthew McPherrin } 20*06938addSMatthew McPherrin } 21