windows-bindgen 0.41.0

Code gen support for the windows crate
Documentation
use super::*;

pub fn gen() -> TokenStream {
    quote! {
        impl ::core::convert::From<::std::net::SocketAddrV6> for SOCKADDR_IN6 {
            fn from(addr: ::std::net::SocketAddrV6) -> Self {
                // addr.port() and addr.flowinfo() are in host byte order
                // sin6_port and sin6_flowinfo must be big-endian, network byte order
                // sin6_scope_id is a bitfield without endianness
                SOCKADDR_IN6 {
                    sin6_family: AF_INET6.0 as u16,
                    sin6_port: addr.port().to_be(),
                    sin6_flowinfo: addr.flowinfo().to_be(),
                    sin6_addr: (*addr.ip()).into(),
                    Anonymous: SOCKADDR_IN6_0 { sin6_scope_id: addr.scope_id() },
                    ..Default::default()
                }
            }
        }
    }
}