  pub type ares_sock_state_cb =
      ::std::option::Option<unsafe extern "C" fn(data:
                                                     *mut ::std::os::raw::c_void,
-@@ -59,14 +71,12 @@
+@@ -59,108 +71,12 @@
      pub nsort: ::std::os::raw::c_int,
      pub ednspsz: ::std::os::raw::c_int,
  }
 -#[test]
 -fn bindgen_test_layout_ares_options() {
--    assert_eq!(::std::mem::size_of::<ares_options>() , 104usize);
--    assert_eq!(::std::mem::align_of::<ares_options>() , 8usize);
+-    assert_eq!(::std::mem::size_of::<ares_options>() , 104usize , concat ! (
+-               "Size of: " , stringify ! ( ares_options ) ));
+-    assert_eq! (::std::mem::align_of::<ares_options>() , 8usize , concat ! (
+-                "Alignment of " , stringify ! ( ares_options ) ));
+-    assert_eq! (unsafe {
+-                & ( * ( 0 as * const ares_options ) ) . flags as * const _ as
+-                usize } , 0usize , concat ! (
+-                "Alignment of field: " , stringify ! ( ares_options ) , "::" ,
+-                stringify ! ( flags ) ));
+-    assert_eq! (unsafe {
+-                & ( * ( 0 as * const ares_options ) ) . timeout as * const _
+-                as usize } , 4usize , concat ! (
+-                "Alignment of field: " , stringify ! ( ares_options ) , "::" ,
+-                stringify ! ( timeout ) ));
+-    assert_eq! (unsafe {
+-                & ( * ( 0 as * const ares_options ) ) . tries as * const _ as
+-                usize } , 8usize , concat ! (
+-                "Alignment of field: " , stringify ! ( ares_options ) , "::" ,
+-                stringify ! ( tries ) ));
+-    assert_eq! (unsafe {
+-                & ( * ( 0 as * const ares_options ) ) . ndots as * const _ as
+-                usize } , 12usize , concat ! (
+-                "Alignment of field: " , stringify ! ( ares_options ) , "::" ,
+-                stringify ! ( ndots ) ));
+-    assert_eq! (unsafe {
+-                & ( * ( 0 as * const ares_options ) ) . udp_port as * const _
+-                as usize } , 16usize , concat ! (
+-                "Alignment of field: " , stringify ! ( ares_options ) , "::" ,
+-                stringify ! ( udp_port ) ));
+-    assert_eq! (unsafe {
+-                & ( * ( 0 as * const ares_options ) ) . tcp_port as * const _
+-                as usize } , 18usize , concat ! (
+-                "Alignment of field: " , stringify ! ( ares_options ) , "::" ,
+-                stringify ! ( tcp_port ) ));
+-    assert_eq! (unsafe {
+-                & ( * ( 0 as * const ares_options ) ) .
+-                socket_send_buffer_size as * const _ as usize } , 20usize ,
+-                concat ! (
+-                "Alignment of field: " , stringify ! ( ares_options ) , "::" ,
+-                stringify ! ( socket_send_buffer_size ) ));
+-    assert_eq! (unsafe {
+-                & ( * ( 0 as * const ares_options ) ) .
+-                socket_receive_buffer_size as * const _ as usize } , 24usize ,
+-                concat ! (
+-                "Alignment of field: " , stringify ! ( ares_options ) , "::" ,
+-                stringify ! ( socket_receive_buffer_size ) ));
+-    assert_eq! (unsafe {
+-                & ( * ( 0 as * const ares_options ) ) . servers as * const _
+-                as usize } , 32usize , concat ! (
+-                "Alignment of field: " , stringify ! ( ares_options ) , "::" ,
+-                stringify ! ( servers ) ));
+-    assert_eq! (unsafe {
+-                & ( * ( 0 as * const ares_options ) ) . nservers as * const _
+-                as usize } , 40usize , concat ! (
+-                "Alignment of field: " , stringify ! ( ares_options ) , "::" ,
+-                stringify ! ( nservers ) ));
+-    assert_eq! (unsafe {
+-                & ( * ( 0 as * const ares_options ) ) . domains as * const _
+-                as usize } , 48usize , concat ! (
+-                "Alignment of field: " , stringify ! ( ares_options ) , "::" ,
+-                stringify ! ( domains ) ));
+-    assert_eq! (unsafe {
+-                & ( * ( 0 as * const ares_options ) ) . ndomains as * const _
+-                as usize } , 56usize , concat ! (
+-                "Alignment of field: " , stringify ! ( ares_options ) , "::" ,
+-                stringify ! ( ndomains ) ));
+-    assert_eq! (unsafe {
+-                & ( * ( 0 as * const ares_options ) ) . lookups as * const _
+-                as usize } , 64usize , concat ! (
+-                "Alignment of field: " , stringify ! ( ares_options ) , "::" ,
+-                stringify ! ( lookups ) ));
+-    assert_eq! (unsafe {
+-                & ( * ( 0 as * const ares_options ) ) . sock_state_cb as *
+-                const _ as usize } , 72usize , concat ! (
+-                "Alignment of field: " , stringify ! ( ares_options ) , "::" ,
+-                stringify ! ( sock_state_cb ) ));
+-    assert_eq! (unsafe {
+-                & ( * ( 0 as * const ares_options ) ) . sock_state_cb_data as
+-                * const _ as usize } , 80usize , concat ! (
+-                "Alignment of field: " , stringify ! ( ares_options ) , "::" ,
+-                stringify ! ( sock_state_cb_data ) ));
+-    assert_eq! (unsafe {
+-                & ( * ( 0 as * const ares_options ) ) . sortlist as * const _
+-                as usize } , 88usize , concat ! (
+-                "Alignment of field: " , stringify ! ( ares_options ) , "::" ,
+-                stringify ! ( sortlist ) ));
+-    assert_eq! (unsafe {
+-                & ( * ( 0 as * const ares_options ) ) . nsort as * const _ as
+-                usize } , 96usize , concat ! (
+-                "Alignment of field: " , stringify ! ( ares_options ) , "::" ,
+-                stringify ! ( nsort ) ));
+-    assert_eq! (unsafe {
+-                & ( * ( 0 as * const ares_options ) ) . ednspsz as * const _
+-                as usize } , 100usize , concat ! (
+-                "Alignment of field: " , stringify ! ( ares_options ) , "::" ,
+-                stringify ! ( ednspsz ) ));
 -}
  impl Clone for ares_options {
      fn clone(&self) -> Self { *self }

--- src/ffi.rs.orig	2017-02-03 19:56:05.033517129 +0000
+++ src/ffi.rs	2017-02-03 19:56:18.937054111 +0000
@@ -1,4 +1,12 @@
 /* automatically generated by rust-bindgen */
+#![allow(non_camel_case_types, non_snake_case)]

 #[repr(C)]
 #[derive(Debug, Copy, Clone)]
 pub struct ares_channeldata([u8; 0]);
@@ -341,40 +257,6 @@
                                                                *mut ::std::os::raw::c_void)
                                           -> ::std::os::raw::c_long>,
 }
-#[test]
-fn bindgen_test_layout_ares_socket_functions() {
-    assert_eq!(::std::mem::size_of::<ares_socket_functions>() , 40usize ,
-               concat ! ( "Size of: " , stringify ! ( ares_socket_functions )
-               ));
-    assert_eq! (::std::mem::align_of::<ares_socket_functions>() , 8usize ,
-                concat ! (
-                "Alignment of " , stringify ! ( ares_socket_functions ) ));
-    assert_eq! (unsafe {
-                & ( * ( 0 as * const ares_socket_functions ) ) . asocket as *
-                const _ as usize } , 0usize , concat ! (
-                "Alignment of field: " , stringify ! ( ares_socket_functions )
-                , "::" , stringify ! ( asocket ) ));
-    assert_eq! (unsafe {
-                & ( * ( 0 as * const ares_socket_functions ) ) . aclose as *
-                const _ as usize } , 8usize , concat ! (
-                "Alignment of field: " , stringify ! ( ares_socket_functions )
-                , "::" , stringify ! ( aclose ) ));
-    assert_eq! (unsafe {
-                & ( * ( 0 as * const ares_socket_functions ) ) . aconnect as *
-                const _ as usize } , 16usize , concat ! (
-                "Alignment of field: " , stringify ! ( ares_socket_functions )
-                , "::" , stringify ! ( aconnect ) ));
-    assert_eq! (unsafe {
-                & ( * ( 0 as * const ares_socket_functions ) ) . arecvfrom as
-                * const _ as usize } , 24usize , concat ! (
-                "Alignment of field: " , stringify ! ( ares_socket_functions )
-                , "::" , stringify ! ( arecvfrom ) ));
-    assert_eq! (unsafe {
-                & ( * ( 0 as * const ares_socket_functions ) ) . asendv as *
-                const _ as usize } , 32usize , concat ! (
-                "Alignment of field: " , stringify ! ( ares_socket_functions )
-                , "::" , stringify ! ( asendv ) ));
-}
 impl Clone for ares_socket_functions {
     fn clone(&self) -> Self { *self }
 }
@@ -502,63 +384,18 @@
     pub _S6_u8: __BindgenUnionField<[::std::os::raw::c_uchar; 16usize]>,
     pub bindgen_union_field: [u8; 16usize],
 }
-#[test]
-fn bindgen_test_layout_ares_in6_addr__bindgen_ty_1() {
-    assert_eq!(::std::mem::size_of::<ares_in6_addr__bindgen_ty_1>() , 16usize
-               , concat ! (
-               "Size of: " , stringify ! ( ares_in6_addr__bindgen_ty_1 ) ));
-    assert_eq! (::std::mem::align_of::<ares_in6_addr__bindgen_ty_1>() , 1usize
-                , concat ! (
-                "Alignment of " , stringify ! ( ares_in6_addr__bindgen_ty_1 )
-                ));
-    assert_eq! (unsafe {
-                & ( * ( 0 as * const ares_in6_addr__bindgen_ty_1 ) ) . _S6_u8
-                as * const _ as usize } , 0usize , concat ! (
-                "Alignment of field: " , stringify ! (
-                ares_in6_addr__bindgen_ty_1 ) , "::" , stringify ! ( _S6_u8 )
-                ));
-}
 impl Clone for ares_in6_addr__bindgen_ty_1 {
     fn clone(&self) -> Self { *self }
 }
-#[test]
-fn bindgen_test_layout_ares_in6_addr() {
-    assert_eq!(::std::mem::size_of::<ares_in6_addr>() , 16usize , concat ! (
-               "Size of: " , stringify ! ( ares_in6_addr ) ));
-    assert_eq! (::std::mem::align_of::<ares_in6_addr>() , 1usize , concat ! (
-                "Alignment of " , stringify ! ( ares_in6_addr ) ));
-    assert_eq! (unsafe {
-                & ( * ( 0 as * const ares_in6_addr ) ) . _S6_un as * const _
-                as usize } , 0usize , concat ! (
-                "Alignment of field: " , stringify ! ( ares_in6_addr ) , "::"
-                , stringify ! ( _S6_un ) ));
-}
 impl Clone for ares_in6_addr {
     fn clone(&self) -> Self { *self }
