Lines Matching refs:sin6
323 sa6_embedscope(struct sockaddr_in6 *sin6, int defaultok) in sa6_embedscope() argument
327 if ((zoneid = sin6->sin6_scope_id) == 0 && defaultok) in sa6_embedscope()
328 zoneid = scope6_addr2default(&sin6->sin6_addr); in sa6_embedscope()
331 (IN6_IS_SCOPE_LINKLOCAL(&sin6->sin6_addr) || in sa6_embedscope()
332 IN6_IS_ADDR_MC_INTFACELOCAL(&sin6->sin6_addr))) { in sa6_embedscope()
349 sin6->sin6_addr.s6_addr16[1] = htons(zoneid & 0xffff); in sa6_embedscope()
350 sin6->sin6_scope_id = 0; in sa6_embedscope()
360 sa6_recoverscope(struct sockaddr_in6 *sin6) in sa6_recoverscope() argument
365 if (IN6_IS_SCOPE_LINKLOCAL(&sin6->sin6_addr) || in sa6_recoverscope()
366 IN6_IS_ADDR_MC_INTFACELOCAL(&sin6->sin6_addr)) { in sa6_recoverscope()
370 zoneid = ntohs(sin6->sin6_addr.s6_addr16[1]); in sa6_recoverscope()
381 if (sin6->sin6_scope_id != 0 && in sa6_recoverscope()
382 zoneid != sin6->sin6_scope_id) { in sa6_recoverscope()
386 ip6_sprintf(ip6buf, &sin6->sin6_addr), in sa6_recoverscope()
387 sin6->sin6_scope_id); in sa6_recoverscope()
389 sin6->sin6_addr.s6_addr16[1] = 0; in sa6_recoverscope()
390 sin6->sin6_scope_id = zoneid; in sa6_recoverscope()