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