Lines Matching refs:ap
65 void BIO_ADDR_free(BIO_ADDR *ap) in BIO_ADDR_free() argument
67 OPENSSL_free(ap); in BIO_ADDR_free()
70 void BIO_ADDR_clear(BIO_ADDR *ap) in BIO_ADDR_clear() argument
72 memset(ap, 0, sizeof(*ap)); in BIO_ADDR_clear()
73 ap->sa.sa_family = AF_UNSPEC; in BIO_ADDR_clear()
80 int BIO_ADDR_make(BIO_ADDR *ap, const struct sockaddr *sa) in BIO_ADDR_make() argument
83 memcpy(&(ap->s_in), sa, sizeof(struct sockaddr_in)); in BIO_ADDR_make()
88 memcpy(&(ap->s_in6), sa, sizeof(struct sockaddr_in6)); in BIO_ADDR_make()
94 memcpy(&(ap->s_un), sa, sizeof(struct sockaddr_un)); in BIO_ADDR_make()
102 int BIO_ADDR_rawmake(BIO_ADDR *ap, int family, in BIO_ADDR_rawmake() argument
108 if (wherelen + 1 > sizeof(ap->s_un.sun_path)) in BIO_ADDR_rawmake()
110 memset(&ap->s_un, 0, sizeof(ap->s_un)); in BIO_ADDR_rawmake()
111 ap->s_un.sun_family = family; in BIO_ADDR_rawmake()
112 strncpy(ap->s_un.sun_path, where, sizeof(ap->s_un.sun_path) - 1); in BIO_ADDR_rawmake()
119 memset(&ap->s_in, 0, sizeof(ap->s_in)); in BIO_ADDR_rawmake()
120 ap->s_in.sin_family = family; in BIO_ADDR_rawmake()
121 ap->s_in.sin_port = port; in BIO_ADDR_rawmake()
122 ap->s_in.sin_addr = *(struct in_addr *)where; in BIO_ADDR_rawmake()
129 memset(&ap->s_in6, 0, sizeof(ap->s_in6)); in BIO_ADDR_rawmake()
130 ap->s_in6.sin6_family = family; in BIO_ADDR_rawmake()
131 ap->s_in6.sin6_port = port; in BIO_ADDR_rawmake()
132 ap->s_in6.sin6_addr = *(struct in6_addr *)where; in BIO_ADDR_rawmake()
140 int BIO_ADDR_family(const BIO_ADDR *ap) in BIO_ADDR_family() argument
142 return ap->sa.sa_family; in BIO_ADDR_family()
145 int BIO_ADDR_rawaddress(const BIO_ADDR *ap, void *p, size_t *l) in BIO_ADDR_rawaddress() argument
150 if (ap->sa.sa_family == AF_INET) { in BIO_ADDR_rawaddress()
151 len = sizeof(ap->s_in.sin_addr); in BIO_ADDR_rawaddress()
152 addrptr = &ap->s_in.sin_addr; in BIO_ADDR_rawaddress()
155 else if (ap->sa.sa_family == AF_INET6) { in BIO_ADDR_rawaddress()
156 len = sizeof(ap->s_in6.sin6_addr); in BIO_ADDR_rawaddress()
157 addrptr = &ap->s_in6.sin6_addr; in BIO_ADDR_rawaddress()
161 else if (ap->sa.sa_family == AF_UNIX) { in BIO_ADDR_rawaddress()
162 len = strlen(ap->s_un.sun_path); in BIO_ADDR_rawaddress()
163 addrptr = &ap->s_un.sun_path; in BIO_ADDR_rawaddress()
179 unsigned short BIO_ADDR_rawport(const BIO_ADDR *ap) in BIO_ADDR_rawport() argument
181 if (ap->sa.sa_family == AF_INET) in BIO_ADDR_rawport()
182 return ap->s_in.sin_port; in BIO_ADDR_rawport()
184 if (ap->sa.sa_family == AF_INET6) in BIO_ADDR_rawport()
185 return ap->s_in6.sin6_port; in BIO_ADDR_rawport()
203 static int addr_strings(const BIO_ADDR *ap, int numeric, in addr_strings() argument
218 if ((ret = getnameinfo(BIO_ADDR_sockaddr(ap), in addr_strings()
219 BIO_ADDR_sockaddr_size(ap), in addr_strings()
242 ntohs(BIO_ADDR_rawport(ap))); in addr_strings()
252 *hostname = OPENSSL_strdup(inet_ntoa(ap->s_in.sin_addr)); in addr_strings()
255 BIO_snprintf(serv, sizeof(serv), "%d", ntohs(ap->s_in.sin_port)); in addr_strings()
277 char *BIO_ADDR_hostname_string(const BIO_ADDR *ap, int numeric) in BIO_ADDR_hostname_string() argument
281 if (addr_strings(ap, numeric, &hostname, NULL)) in BIO_ADDR_hostname_string()
287 char *BIO_ADDR_service_string(const BIO_ADDR *ap, int numeric) in BIO_ADDR_service_string() argument
291 if (addr_strings(ap, numeric, NULL, &service)) in BIO_ADDR_service_string()
297 char *BIO_ADDR_path_string(const BIO_ADDR *ap) in BIO_ADDR_path_string() argument
300 if (ap->sa.sa_family == AF_UNIX) in BIO_ADDR_path_string()
301 return OPENSSL_strdup(ap->s_un.sun_path); in BIO_ADDR_path_string()
311 const struct sockaddr *BIO_ADDR_sockaddr(const BIO_ADDR *ap) in BIO_ADDR_sockaddr() argument
313 return &(ap->sa); in BIO_ADDR_sockaddr()
322 struct sockaddr *BIO_ADDR_sockaddr_noconst(BIO_ADDR *ap) in BIO_ADDR_sockaddr_noconst() argument
324 return &(ap->sa); in BIO_ADDR_sockaddr_noconst()
333 socklen_t BIO_ADDR_sockaddr_size(const BIO_ADDR *ap) in BIO_ADDR_sockaddr_size() argument
335 if (ap->sa.sa_family == AF_INET) in BIO_ADDR_sockaddr_size()
336 return sizeof(ap->s_in); in BIO_ADDR_sockaddr_size()
338 if (ap->sa.sa_family == AF_INET6) in BIO_ADDR_sockaddr_size()
339 return sizeof(ap->s_in6); in BIO_ADDR_sockaddr_size()
342 if (ap->sa.sa_family == AF_UNIX) in BIO_ADDR_sockaddr_size()
343 return sizeof(ap->s_un); in BIO_ADDR_sockaddr_size()
345 return sizeof(*ap); in BIO_ADDR_sockaddr_size()