Lines Matching refs:saddr

23 unsigned short sock_addr_get_port (const sock_addr *saddr)  in sock_addr_get_port()  argument
25 switch (saddr->plain.sa_family) { in sock_addr_get_port()
27 return ntohs(saddr->ipv4.sin_port); in sock_addr_get_port()
30 return ntohs(saddr->ipv6.sin6_port); in sock_addr_get_port()
41 int sock_addr_is_addr_wildcard (const sock_addr *saddr) in sock_addr_is_addr_wildcard() argument
43 switch (saddr->plain.sa_family) { in sock_addr_is_addr_wildcard()
45 return (saddr->ipv4.sin_addr.s_addr == INADDR_ANY); /*(htonl(0x0))*/ in sock_addr_is_addr_wildcard()
48 return !memcmp(&saddr->ipv6.sin6_addr,&in6addr_any,sizeof(in6addr_any)); in sock_addr_is_addr_wildcard()
194 void sock_addr_set_port (sock_addr * const restrict saddr, const unsigned short port) in sock_addr_set_port() argument
196 switch (saddr->plain.sa_family) { in sock_addr_set_port()
198 saddr->ipv4.sin_port = htons(port); in sock_addr_set_port()
202 saddr->ipv6.sin6_port = htons(port); in sock_addr_set_port()
214 int sock_addr_assign (sock_addr * const restrict saddr, int family, unsigned short nport, const voi… in sock_addr_assign() argument
218 memset(&saddr->ipv4, 0, sizeof(struct sockaddr_in)); in sock_addr_assign()
219 saddr->ipv4.sin_family = AF_INET; in sock_addr_assign()
220 saddr->ipv4.sin_port = nport; in sock_addr_assign()
221 memcpy(&saddr->ipv4.sin_addr, naddr, 4); in sock_addr_assign()
225 memset(&saddr->ipv6, 0, sizeof(struct sockaddr_in6)); in sock_addr_assign()
226 saddr->ipv6.sin6_family = AF_INET6; in sock_addr_assign()
227 saddr->ipv6.sin6_port = nport; in sock_addr_assign()
228 memcpy(&saddr->ipv6.sin6_addr, naddr, 16); in sock_addr_assign()
235 if (len > sizeof(saddr->un.sun_path)) { in sock_addr_assign()
239 memset(&saddr->un, 0, sizeof(struct sockaddr_un)); in sock_addr_assign()
240 saddr->un.sun_family = AF_UNIX; in sock_addr_assign()
241 memcpy(saddr->un.sun_path, naddr, len); in sock_addr_assign()
252 int sock_addr_inet_pton(sock_addr * const restrict saddr, in sock_addr_inet_pton() argument
258 memset(&saddr->ipv4, 0, sizeof(struct sockaddr_in)); in sock_addr_inet_pton()
259 saddr->ipv4.sin_family = AF_INET; in sock_addr_inet_pton()
260 saddr->ipv4.sin_port = htons(port); in sock_addr_inet_pton()
262 return inet_pton(AF_INET, str, &saddr->ipv4.sin_addr); in sock_addr_inet_pton()
265 return (0 != inet_aton(str, &saddr->ipv4.sin_addr)); in sock_addr_inet_pton()
267 return ((saddr->ipv4.sin_addr.s_addr = inet_addr(str)) != INADDR_NONE); in sock_addr_inet_pton()
272 memset(&saddr->ipv6, 0, sizeof(struct sockaddr_in6)); in sock_addr_inet_pton()
273 saddr->ipv6.sin6_family = AF_INET6; in sock_addr_inet_pton()
274 saddr->ipv6.sin6_port = htons(port); in sock_addr_inet_pton()
275 return inet_pton(AF_INET6, str, &saddr->ipv6.sin6_addr); in sock_addr_inet_pton()
284 const char * sock_addr_inet_ntop(const sock_addr * const restrict saddr, char * const restrict buf,… in sock_addr_inet_ntop() argument
286 switch (saddr->plain.sa_family) { in sock_addr_inet_ntop()
289 return inet_ntop(AF_INET,(const void *)&saddr->ipv4.sin_addr,buf,sz); in sock_addr_inet_ntop()
291 return inet_ntoa(saddr->ipv4.sin_addr); in sock_addr_inet_ntop()
295 return inet_ntop(AF_INET6,(const void *)&saddr->ipv6.sin6_addr,buf,sz); in sock_addr_inet_ntop()
299 return saddr->un.sun_path; in sock_addr_inet_ntop()
308 … sock_addr_inet_ntop_copy_buffer(buffer * const restrict b, const sock_addr * const restrict saddr) in sock_addr_inet_ntop_copy_buffer() argument
312 const char *s = sock_addr_inet_ntop(saddr, buf, sizeof(buf)); in sock_addr_inet_ntop_copy_buffer()
319 …ock_addr_inet_ntop_append_buffer(buffer * const restrict b, const sock_addr * const restrict saddr) in sock_addr_inet_ntop_append_buffer() argument
323 const char *s = sock_addr_inet_ntop(saddr, buf, sizeof(buf)); in sock_addr_inet_ntop_append_buffer()
329 …ock_addr_stringify_append_buffer(buffer * const restrict b, const sock_addr * const restrict saddr) in sock_addr_stringify_append_buffer() argument
331 switch (saddr->plain.sa_family) { in sock_addr_stringify_append_buffer()
333 if (0 != sock_addr_inet_ntop_append_buffer(b, saddr)) return -1; in sock_addr_stringify_append_buffer()
335 buffer_append_int(b, ntohs(saddr->ipv4.sin_port)); in sock_addr_stringify_append_buffer()
340 if (0 != sock_addr_inet_ntop_append_buffer(b, saddr)) { in sock_addr_stringify_append_buffer()
349 buffer_append_int(b, ntohs(saddr->ipv6.sin6_port)); in sock_addr_stringify_append_buffer()
354 buffer_append_string(b, saddr->un.sun_path); in sock_addr_stringify_append_buffer()
363 …append_buffer(buffer * const restrict b, const sock_addr * const restrict saddr, log_error_st * co… in sock_addr_nameinfo_append_buffer() argument
368 switch (saddr->plain.sa_family) { in sock_addr_nameinfo_append_buffer()
372 struct hostent *he = gethostbyaddr((char *)&saddr->ipv4.sin_addr, in sock_addr_nameinfo_append_buffer()
379 sock_addr_inet_ntop_append_buffer(b, saddr); in sock_addr_nameinfo_append_buffer()
389 int rc = getnameinfo((const struct sockaddr *)(&saddr->ipv4), in sock_addr_nameinfo_append_buffer()
390 sizeof(saddr->ipv4), in sock_addr_nameinfo_append_buffer()
397 sock_addr_inet_ntop_append_buffer(b, saddr); in sock_addr_nameinfo_append_buffer()
406 int rc = getnameinfo((const struct sockaddr *)(&saddr->ipv6), in sock_addr_nameinfo_append_buffer()
407 sizeof(saddr->ipv6), in sock_addr_nameinfo_append_buffer()
415 sock_addr_inet_ntop_append_buffer(b, saddr); in sock_addr_nameinfo_append_buffer()
430 int sock_addr_from_str_hints(sock_addr * const restrict saddr, socklen_t * const restrict len, cons… in sock_addr_from_str_hints() argument
437 memset(saddr, 0, sizeof(struct sockaddr_in)); in sock_addr_from_str_hints()
438 saddr->ipv4.sin_family = AF_INET; in sock_addr_from_str_hints()
439 saddr->ipv4.sin_addr.s_addr = htonl(INADDR_LOOPBACK); in sock_addr_from_str_hints()
440 saddr->ipv4.sin_port = htons(port); in sock_addr_from_str_hints()
459 memcpy(saddr, res->ai_addr, res->ai_addrlen); in sock_addr_from_str_hints()
461 if (AF_INET6 == saddr->plain.sa_family) { in sock_addr_from_str_hints()
462 saddr->ipv6.sin6_port = htons(port); in sock_addr_from_str_hints()
466 saddr->ipv4.sin_port = htons(port); in sock_addr_from_str_hints()
476 memset(saddr, 0, sizeof(struct sockaddr_in6)); in sock_addr_from_str_hints()
477 saddr->ipv6.sin6_family = AF_INET6; in sock_addr_from_str_hints()
479 saddr->ipv6.sin6_addr = in6addr_any; in sock_addr_from_str_hints()
482 saddr->ipv6.sin6_addr = in6addr_loopback; in sock_addr_from_str_hints()
501 memcpy(saddr, res->ai_addr, res->ai_addrlen); in sock_addr_from_str_hints()
502 saddr->ipv4.sin_family = AF_INET; in sock_addr_from_str_hints()
503 saddr->ipv4.sin_port = htons(port); in sock_addr_from_str_hints()
516 memcpy(saddr, res->ai_addr, res->ai_addrlen); in sock_addr_from_str_hints()
519 saddr->ipv6.sin6_port = htons(port); in sock_addr_from_str_hints()
524 memset(saddr, 0, sizeof(struct sockaddr_in)); in sock_addr_from_str_hints()
525 saddr->ipv4.sin_family = AF_INET; in sock_addr_from_str_hints()
527 saddr->ipv4.sin_addr.s_addr = htonl(INADDR_ANY); in sock_addr_from_str_hints()
530 saddr->ipv4.sin_addr.s_addr = htonl(INADDR_LOOPBACK); in sock_addr_from_str_hints()
548 memcpy(saddr, res->ai_addr, res->ai_addrlen); in sock_addr_from_str_hints()
570 memcpy(&saddr->ipv4.sin_addr.s_addr, in sock_addr_from_str_hints()
574 saddr->ipv4.sin_port = htons(port); in sock_addr_from_str_hints()
579 memset(saddr, 0, sizeof(struct sockaddr_un)); in sock_addr_from_str_hints()
580 saddr->un.sun_family = AF_UNIX; in sock_addr_from_str_hints()
583 if (hostlen > sizeof(saddr->un.sun_path)) { in sock_addr_from_str_hints()
589 memcpy(saddr->un.sun_path, str, hostlen); in sock_addr_from_str_hints()
591 *len = SUN_LEN(&saddr->un)+1; in sock_addr_from_str_hints()
612 int sock_addr_from_str_numeric(sock_addr * const restrict saddr, const char * const restrict str, l… in sock_addr_from_str_numeric() argument
649 memcpy(&saddr->ipv4, addrlist->ai_addr, sizeof(saddr->ipv4)); in sock_addr_from_str_numeric()
650 force_assert(AF_INET == saddr->plain.sa_family); in sock_addr_from_str_numeric()
653 memcpy(&saddr->ipv6, addrlist->ai_addr, sizeof(saddr->ipv6)); in sock_addr_from_str_numeric()
654 force_assert(AF_INET6 == saddr->plain.sa_family); in sock_addr_from_str_numeric()
668 saddr->ipv4.sin_addr.s_addr = inet_addr(str); in sock_addr_from_str_numeric()
669 saddr->plain.sa_family = AF_INET; in sock_addr_from_str_numeric()
670 return (saddr->ipv4.sin_addr.s_addr != 0xFFFFFFFF); in sock_addr_from_str_numeric()
676 int sock_addr_from_buffer_hints_numeric(sock_addr * const restrict saddr, socklen_t * const restric…
682 memset(&saddr->ipv4, 0, sizeof(struct sockaddr_in));
683 saddr->ipv4.sin_family = AF_INET;
684 saddr->ipv4.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
685 saddr->ipv4.sin_port = htons(port);
689 else if (1 == sock_addr_inet_pton(saddr, b->ptr, family, port)) {
723 memset(&saddr->ipv4, 0, sizeof(struct sockaddr_in));
724 memcpy(&saddr->ipv4.sin_addr.s_addr, he->h_addr_list[0], he->h_length);
725 saddr->ipv4.sin_family = AF_INET;
726 saddr->ipv4.sin_port = htons(port);