sg_sin6
hip = &host->sin->sg_sin6.sin6_addr;
hostin6 = host->sin->sg_sin6.sin6_addr;
IN6_IS_ADDR_V4MAPPED(&sg->sg_sin6.sin6_addr)) {
IN6_V4MAPPED_TO_INADDR(&sg->sg_sin6.sin6_addr, &v4_addr.sin_addr);
IN6_MAPPED_TO_V4(&sg->sg_sin6.sin6_addr, &v4_addr.sin_addr);
memcpy(&v4_addr.sin_addr, ((char*) &sg->sg_sin6.sin6_addr) + 12, 4);
v4_addr.sin_port = sg->sg_sin6.sin6_port;
&(sag)->sg_sin6.sin6_port : \
(char *)&(sag)->sg_sin6.sin6_addr : \
IN6_IS_ADDR_UNSPECIFIED(&(sag)->sg_sin6.sin6_addr) : \