Lines Matching defs:sin6
153 in6_pcbaddrisavail_lock(const struct inpcb *inp, struct sockaddr_in6 *sin6,
158 u_short lport = sin6->sin6_port;
163 if (in6_embedscope(&sin6->sin6_addr, sin6,
167 sin6->sin6_scope_id = 0;
169 if (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr))
172 if (IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) {
182 } else if (!IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) {
185 sin6->sin6_port = 0; /*
191 sin6->sin6_flowinfo = 0;
193 (ifa = ifa_ifwithaddr(sin6tosa(sin6),
196 sin6->sin6_port = lport;
219 if (so->so_euid && !IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) {
220 t = in_pcblookup_local_lock(table, &sin6->sin6_addr,
230 t = in_pcblookup_local_lock(table, &sin6->sin6_addr, lport,
243 in6_pcbaddrisavail(const struct inpcb *inp, struct sockaddr_in6 *sin6,
246 return in6_pcbaddrisavail_lock(inp, sin6, wild, p, IN_PCBLOCK_GRAB);
251 * Both address and port must be specified in argument sin6.
262 struct sockaddr_in6 *sin6;
269 if ((error = in6_nam2sin6(nam, &sin6)))
271 if (sin6->sin6_port == 0)
274 if (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr))
277 /* protect *sin6 from overwrites */
278 tmp = *sin6;
279 sin6 = &tmp;
282 if (in6_embedscope(&sin6->sin6_addr, sin6,
286 sin6->sin6_scope_id = 0;
294 error = in6_pcbselsrc(&in6a, sin6, inp, inp->inp_outputopts6);
303 t = in6_pcblookup_lock(inp->inp_table, &sin6->sin6_addr,
304 sin6->sin6_port,
321 t = in6_pcblookup_lock(inp->inp_table, &sin6->sin6_addr,
322 sin6->sin6_port, in6a, inp->inp_lport,
332 inp->inp_faddr6 = sin6->sin6_addr;
333 inp->inp_fport = sin6->sin6_port;
356 struct sockaddr_in6 *sin6;
359 sin6 = mtod(nam,struct sockaddr_in6 *);
361 bzero ((caddr_t)sin6,sizeof(struct sockaddr_in6));
362 sin6->sin6_family = AF_INET6;
363 sin6->sin6_len = sizeof(struct sockaddr_in6);
364 sin6->sin6_port = inp->inp_lport;
365 sin6->sin6_addr = inp->inp_laddr6;
367 in6_recoverscope(sin6, &inp->inp_laddr6);
377 struct sockaddr_in6 *sin6;
380 sin6 = mtod(nam,struct sockaddr_in6 *);
382 bzero ((caddr_t)sin6,sizeof(struct sockaddr_in6));
383 sin6->sin6_family = AF_INET6;
384 sin6->sin6_len = sizeof(struct sockaddr_in6);
385 sin6->sin6_port = inp->inp_fport;
386 sin6->sin6_addr = inp->inp_faddr6;
388 in6_recoverscope(sin6, &inp->inp_faddr6);