add: struct addrinfo hints; struct addrinfo *res; static struct in6_addr *addr; int err;  memset(&hints, 0, sizeof(hints)); hints.ai_flags=AI_CANONNAME; hints.ai_family=AF_INET6; hints.ai_socktype=SOCK_RAW; hints.ai_protocol=41; hints.ai_next=NULL;
context: host_to_addr(const char *name, unsigned int *naddr){#if 0	/* TODO: getipnodebyname() missing */	struct hostent *host;	struct in6_addr *addr;	unsigned int i;	*naddr = 0;	if ((host = getipnodebyname(name, AF_INET6, 0, NULL)) != NULL) {		if (host->h_length != sizeof(struct in6_addr))			return (struct in6_addr *) NULL;		while (host->h_addr_list[*naddr] != (char *) NULL)			(*naddr)++;		addr = fw_calloc(*naddr, sizeof(struct in6_addr));		for (i = 0; i < *naddr; i++)			in6addrcpy(&(addr[i]),				  (struct in6_addr *) host->h_addr_list[i]);		freehostent(host);		return addr;	}#endif	return (struct in6_addr *) NULL;}