Lines Matching defs:sin6
328 sa6_embedscope(struct sockaddr_in6 *sin6, int defaultok)
333 if ((zoneid = sin6->sin6_scope_id) == 0 && defaultok)
334 zoneid = scope6_addr2default(&sin6->sin6_addr);
337 (IN6_IS_SCOPE_LINKLOCAL(&sin6->sin6_addr) ||
338 IN6_IS_ADDR_MC_INTFACELOCAL(&sin6->sin6_addr))) {
355 sin6->sin6_addr.s6_addr16[1] = htons(zoneid & 0xffff);
357 sin6->sin6_scope_id = 0;
364 rtkey_to_sa6(struct rtentry *rt, struct sockaddr_in6 *sin6)
368 *sin6 = *((struct sockaddr_in6 *)(void *)rt_key(rt));
369 sin6->sin6_scope_id = 0;
373 rtgw_to_sa6(struct rtentry *rt, struct sockaddr_in6 *sin6)
377 *sin6 = *((struct sockaddr_in6 *)(void *)rt->rt_gateway);
378 sin6->sin6_scope_id = 0;
385 sa6_recoverscope(struct sockaddr_in6 *sin6, boolean_t attachcheck)
389 if (sin6->sin6_scope_id != 0) {
392 ip6_sprintf(&sin6->sin6_addr), sin6->sin6_scope_id);
395 if (IN6_IS_SCOPE_LINKLOCAL(&sin6->sin6_addr) ||
396 IN6_IS_ADDR_MC_INTFACELOCAL(&sin6->sin6_addr)) {
400 zoneid = ntohs(sin6->sin6_addr.s6_addr16[1]);
424 sin6->sin6_addr.s6_addr16[1] = 0;
425 sin6->sin6_scope_id = zoneid;