in the area pointed at by B if B
is non-NULL,
and will set B<*l> to be the amount of bytes the raw address
takes up if B is non-NULL.
A technique to only find out the size of the address is a call
with B set to B. The raw address will be in network byte
order, most significant byte first.
In case this is a B B, B gets the length of the
path string (not including the terminating NUL, such as the result of
a call to strlen()).
I below>.
BIO_ADDR_rawport() returns the raw port of the given B.
The raw port will be in network byte order.
BIO_ADDR_hostname_string() returns a character string with the
hostname of the given B. If B is 1, the string
will contain the numerical form of the address. This only works for
B of the protocol families AF_INET and AF_INET6. The
returned string has been allocated on the heap and must be freed
with OPENSSL_free().
BIO_ADDR_service_string() returns a character string with the
service name of the port of the given B. If B
is 1, the string will contain the port number. This only works
for B of the protocol families AF_INET and AF_INET6. The
returned string has been allocated on the heap and must be freed
with OPENSSL_free().
BIO_ADDR_path_string() returns a character string with the path
of the given B. This only works for B of the
protocol family AF_UNIX. The returned string has been allocated
on the heap and must be freed with OPENSSL_free().
=head1 RAW ADDRESSES
Both BIO_ADDR_rawmake() and BIO_ADDR_rawaddress() take a pointer to a
network byte order address of a specific site. Internally, those are
treated as a pointer to B (for B), B (for B) or B (for B), all
depending on the protocol family the address is for.
=head1 RETURN VALUES
The string producing functions BIO_ADDR_hostname_string(),
BIO_ADDR_service_string() and BIO_ADDR_path_string() will
return B on error and leave an error indication on the
OpenSSL error stack.
All other functions described here return 0 or B when the
information they should return isn't available.
=head1 SEE ALSO
L, L
=head1 COPYRIGHT
Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the OpenSSL license (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
in the file LICENSE in the source distribution or at
L.
=cut