Lines Matching refs:sockaddr
114 isc_sockaddr_totext(const isc_sockaddr_t *sockaddr, isc_buffer_t *target) { in isc_sockaddr_totext() argument
121 REQUIRE(sockaddr != NULL); in isc_sockaddr_totext()
128 switch (sockaddr->type.sa.sa_family) { in isc_sockaddr_totext()
130 snprintf(pbuf, sizeof(pbuf), "%u", ntohs(sockaddr->type.sin.sin_port)); in isc_sockaddr_totext()
133 snprintf(pbuf, sizeof(pbuf), "%u", ntohs(sockaddr->type.sin6.sin6_port)); in isc_sockaddr_totext()
137 plen = (unsigned int)strlen(sockaddr->type.sunix.sun_path); in isc_sockaddr_totext()
141 isc_buffer_putmem(target, sockaddr->type.sunix.sun_path, plen); in isc_sockaddr_totext()
159 isc_netaddr_fromsockaddr(&netaddr, sockaddr); in isc_sockaddr_totext()
205 isc_sockaddr_hash(const isc_sockaddr_t *sockaddr, isc_boolean_t address_only) { in isc_sockaddr_hash() argument
213 REQUIRE(sockaddr != NULL); in isc_sockaddr_hash()
215 switch (sockaddr->type.sa.sa_family) { in isc_sockaddr_hash()
217 s = (const unsigned char *)&sockaddr->type.sin.sin_addr; in isc_sockaddr_hash()
218 p = ntohs(sockaddr->type.sin.sin_port); in isc_sockaddr_hash()
219 length = sizeof(sockaddr->type.sin.sin_addr.s_addr); in isc_sockaddr_hash()
222 in6 = &sockaddr->type.sin6.sin6_addr; in isc_sockaddr_hash()
225 length = sizeof(sockaddr->type.sin.sin_addr.s_addr); in isc_sockaddr_hash()
228 length = sizeof(sockaddr->type.sin6.sin6_addr); in isc_sockaddr_hash()
230 p = ntohs(sockaddr->type.sin6.sin6_port); in isc_sockaddr_hash()
239 (int)sockaddr->type.sa.sa_family); in isc_sockaddr_hash()
240 s = (const unsigned char *)&sockaddr->type; in isc_sockaddr_hash()
241 length = sockaddr->length; in isc_sockaddr_hash()
256 isc_sockaddr_any(isc_sockaddr_t *sockaddr) in isc_sockaddr_any() argument
258 memset(sockaddr, 0, sizeof(*sockaddr)); in isc_sockaddr_any()
259 sockaddr->type.sin.sin_family = AF_INET; in isc_sockaddr_any()
261 sockaddr->type.sin.sin_len = sizeof(sockaddr->type.sin); in isc_sockaddr_any()
263 sockaddr->type.sin.sin_addr.s_addr = INADDR_ANY; in isc_sockaddr_any()
264 sockaddr->type.sin.sin_port = 0; in isc_sockaddr_any()
265 sockaddr->length = sizeof(sockaddr->type.sin); in isc_sockaddr_any()
266 ISC_LINK_INIT(sockaddr, link); in isc_sockaddr_any()
270 isc_sockaddr_any6(isc_sockaddr_t *sockaddr) in isc_sockaddr_any6() argument
272 memset(sockaddr, 0, sizeof(*sockaddr)); in isc_sockaddr_any6()
273 sockaddr->type.sin6.sin6_family = AF_INET6; in isc_sockaddr_any6()
275 sockaddr->type.sin6.sin6_len = sizeof(sockaddr->type.sin6); in isc_sockaddr_any6()
277 sockaddr->type.sin6.sin6_addr = in6addr_any; in isc_sockaddr_any6()
278 sockaddr->type.sin6.sin6_port = 0; in isc_sockaddr_any6()
279 sockaddr->length = sizeof(sockaddr->type.sin6); in isc_sockaddr_any6()
280 ISC_LINK_INIT(sockaddr, link); in isc_sockaddr_any6()
284 isc_sockaddr_fromin(isc_sockaddr_t *sockaddr, const struct in_addr *ina, in isc_sockaddr_fromin() argument
287 memset(sockaddr, 0, sizeof(*sockaddr)); in isc_sockaddr_fromin()
288 sockaddr->type.sin.sin_family = AF_INET; in isc_sockaddr_fromin()
290 sockaddr->type.sin.sin_len = sizeof(sockaddr->type.sin); in isc_sockaddr_fromin()
292 sockaddr->type.sin.sin_addr = *ina; in isc_sockaddr_fromin()
293 sockaddr->type.sin.sin_port = htons(port); in isc_sockaddr_fromin()
294 sockaddr->length = sizeof(sockaddr->type.sin); in isc_sockaddr_fromin()
295 ISC_LINK_INIT(sockaddr, link); in isc_sockaddr_fromin()
299 isc_sockaddr_anyofpf(isc_sockaddr_t *sockaddr, int pf) { in isc_sockaddr_anyofpf() argument
302 isc_sockaddr_any(sockaddr); in isc_sockaddr_anyofpf()
305 isc_sockaddr_any6(sockaddr); in isc_sockaddr_anyofpf()
313 isc_sockaddr_fromin6(isc_sockaddr_t *sockaddr, const struct in6_addr *ina6, in isc_sockaddr_fromin6() argument
316 memset(sockaddr, 0, sizeof(*sockaddr)); in isc_sockaddr_fromin6()
317 sockaddr->type.sin6.sin6_family = AF_INET6; in isc_sockaddr_fromin6()
319 sockaddr->type.sin6.sin6_len = sizeof(sockaddr->type.sin6); in isc_sockaddr_fromin6()
321 sockaddr->type.sin6.sin6_addr = *ina6; in isc_sockaddr_fromin6()
322 sockaddr->type.sin6.sin6_port = htons(port); in isc_sockaddr_fromin6()
323 sockaddr->length = sizeof(sockaddr->type.sin6); in isc_sockaddr_fromin6()
324 ISC_LINK_INIT(sockaddr, link); in isc_sockaddr_fromin6()
328 isc_sockaddr_v6fromin(isc_sockaddr_t *sockaddr, const struct in_addr *ina, in isc_sockaddr_v6fromin() argument
331 memset(sockaddr, 0, sizeof(*sockaddr)); in isc_sockaddr_v6fromin()
332 sockaddr->type.sin6.sin6_family = AF_INET6; in isc_sockaddr_v6fromin()
334 sockaddr->type.sin6.sin6_len = sizeof(sockaddr->type.sin6); in isc_sockaddr_v6fromin()
336 sockaddr->type.sin6.sin6_addr.s6_addr[10] = 0xff; in isc_sockaddr_v6fromin()
337 sockaddr->type.sin6.sin6_addr.s6_addr[11] = 0xff; in isc_sockaddr_v6fromin()
338 memcpy(&sockaddr->type.sin6.sin6_addr.s6_addr[12], ina, 4); in isc_sockaddr_v6fromin()
339 sockaddr->type.sin6.sin6_port = htons(port); in isc_sockaddr_v6fromin()
340 sockaddr->length = sizeof(sockaddr->type.sin6); in isc_sockaddr_v6fromin()
341 ISC_LINK_INIT(sockaddr, link); in isc_sockaddr_v6fromin()
345 isc_sockaddr_pf(const isc_sockaddr_t *sockaddr) { in isc_sockaddr_pf() argument
355 return (sockaddr->type.sa.sa_family); in isc_sockaddr_pf()
357 switch (sockaddr->type.sa.sa_family) { in isc_sockaddr_pf()
367 (int)sockaddr->type.sa.sa_family); in isc_sockaddr_pf()
373 isc_sockaddr_fromnetaddr(isc_sockaddr_t *sockaddr, const isc_netaddr_t *na, in isc_sockaddr_fromnetaddr() argument
376 memset(sockaddr, 0, sizeof(*sockaddr)); in isc_sockaddr_fromnetaddr()
377 sockaddr->type.sin.sin_family = (short)na->family; in isc_sockaddr_fromnetaddr()
380 sockaddr->length = sizeof(sockaddr->type.sin); in isc_sockaddr_fromnetaddr()
382 sockaddr->type.sin.sin_len = sizeof(sockaddr->type.sin); in isc_sockaddr_fromnetaddr()
384 sockaddr->type.sin.sin_addr = na->type.in; in isc_sockaddr_fromnetaddr()
385 sockaddr->type.sin.sin_port = htons(port); in isc_sockaddr_fromnetaddr()
388 sockaddr->length = sizeof(sockaddr->type.sin6); in isc_sockaddr_fromnetaddr()
390 sockaddr->type.sin6.sin6_len = sizeof(sockaddr->type.sin6); in isc_sockaddr_fromnetaddr()
392 memcpy(&sockaddr->type.sin6.sin6_addr, &na->type.in6, 16); in isc_sockaddr_fromnetaddr()
394 sockaddr->type.sin6.sin6_scope_id = isc_netaddr_getzone(na); in isc_sockaddr_fromnetaddr()
396 sockaddr->type.sin6.sin6_port = htons(port); in isc_sockaddr_fromnetaddr()
401 ISC_LINK_INIT(sockaddr, link); in isc_sockaddr_fromnetaddr()
405 isc_sockaddr_setport(isc_sockaddr_t *sockaddr, in_port_t port) { in isc_sockaddr_setport() argument
406 switch (sockaddr->type.sa.sa_family) { in isc_sockaddr_setport()
408 sockaddr->type.sin.sin_port = htons(port); in isc_sockaddr_setport()
411 sockaddr->type.sin6.sin6_port = htons(port); in isc_sockaddr_setport()
419 (int)sockaddr->type.sa.sa_family); in isc_sockaddr_setport()
424 isc_sockaddr_getport(const isc_sockaddr_t *sockaddr) { in isc_sockaddr_getport() argument
427 switch (sockaddr->type.sa.sa_family) { in isc_sockaddr_getport()
429 port = ntohs(sockaddr->type.sin.sin_port); in isc_sockaddr_getport()
432 port = ntohs(sockaddr->type.sin6.sin6_port); in isc_sockaddr_getport()
440 (int)sockaddr->type.sa.sa_family); in isc_sockaddr_getport()
447 isc_sockaddr_ismulticast(const isc_sockaddr_t *sockaddr) { in isc_sockaddr_ismulticast() argument
450 if (sockaddr->type.sa.sa_family == AF_INET || in isc_sockaddr_ismulticast()
451 sockaddr->type.sa.sa_family == AF_INET6) { in isc_sockaddr_ismulticast()
452 isc_netaddr_fromsockaddr(&netaddr, sockaddr); in isc_sockaddr_ismulticast()
459 isc_sockaddr_isexperimental(const isc_sockaddr_t *sockaddr) { in isc_sockaddr_isexperimental() argument
462 if (sockaddr->type.sa.sa_family == AF_INET) { in isc_sockaddr_isexperimental()
463 isc_netaddr_fromsockaddr(&netaddr, sockaddr); in isc_sockaddr_isexperimental()
470 isc_sockaddr_issitelocal(const isc_sockaddr_t *sockaddr) { in isc_sockaddr_issitelocal() argument
473 if (sockaddr->type.sa.sa_family == AF_INET6) { in isc_sockaddr_issitelocal()
474 isc_netaddr_fromsockaddr(&netaddr, sockaddr); in isc_sockaddr_issitelocal()
481 isc_sockaddr_islinklocal(const isc_sockaddr_t *sockaddr) { in isc_sockaddr_islinklocal() argument
484 if (sockaddr->type.sa.sa_family == AF_INET6) { in isc_sockaddr_islinklocal()
485 isc_netaddr_fromsockaddr(&netaddr, sockaddr); in isc_sockaddr_islinklocal()
492 isc_sockaddr_frompath(isc_sockaddr_t *sockaddr, const char *path) { in isc_sockaddr_frompath() argument
494 if (strlen(path) >= sizeof(sockaddr->type.sunix.sun_path)) in isc_sockaddr_frompath()
496 memset(sockaddr, 0, sizeof(*sockaddr)); in isc_sockaddr_frompath()
497 sockaddr->length = sizeof(sockaddr->type.sunix); in isc_sockaddr_frompath()
498 sockaddr->type.sunix.sun_family = AF_UNIX; in isc_sockaddr_frompath()
500 sockaddr->type.sunix.sun_len = in isc_sockaddr_frompath()
501 (unsigned char)sizeof(sockaddr->type.sunix); in isc_sockaddr_frompath()
503 strcpy(sockaddr->type.sunix.sun_path, path); in isc_sockaddr_frompath()
506 UNUSED(sockaddr); in isc_sockaddr_frompath()