Man page - ne_addr_resolve(3)
Packages contas this manual
- neon(3)
- ne_session_proxy(3)
- ne_buffer_append(3)
- ne_request_destroy(3)
- ne_redirect_register(3)
- ne_has_support(3)
- ne_set_request_body_provider(3)
- ne_get_error(3)
- ne_ssl_clicert_decrypt(3)
- ne_malloc(3)
- ne_get_server_hostport(3)
- ne_ssl_clicert_encrypted(3)
- ne_session_socks_proxy(3)
- ne_realloc(3)
- ne_set_useragent(3)
- ne_buffer_ncreate(3)
- ne_buffer_create(3)
- ne_set_connect_timeout(3)
- ne_iaddr_parse(3)
- ne_strdup(3)
- ne_calloc(3)
- ne_get_request_flag(3)
- ne_ssl_cert_free(3)
- ne_ssl_readable_dname(3)
- ne_version_string(3)
- ne_ssl_cert_signedby(3)
- ne_set_error(3)
- neon-config(1)
- ne_close_connection(3)
- ne_print_request_header(3)
- ne_ssl_trust_default_ca(3)
- ne_buffer_concat(3)
- ne_strparam(3)
- ne_ssl_cert_write(3)
- ne_sock_exit(3)
- ne_iaddr_make(3)
- ne_set_request_flag(3)
- ne_buffer_grow(3)
- ne_ssl_set_protovers(3)
- ne_iaddr_typeof(3)
- ne_i18n_init(3)
- ne_forget_auth(3)
- ne_buffer_destroy(3)
- ne_iaddr_reverse(3)
- ne_iaddr_raw(3)
- ne_ssl_set_verify(3)
- ne_vstrhash(3)
- ne_ssl_clicert_owner(3)
- ne_set_session_flag(3)
- ne_ssl_clicert_read(3)
- ne_sock_init(3)
- ne_buffer_zappend(3)
- ne_set_addrlist(3)
- ne_addr_result(3)
- ne_xml_destroy(3)
- ne_ssl_cert_issuer(3)
- ne_request_create(3)
- ne_redirect_location(3)
- ne_set_request_body_fd(3)
- ne_oom_callback(3)
- ne_ssl_cert_subject(3)
- ne_addr_resolve(3)
- ne_session_destroy(3)
- ne_buffer_finish(3)
- ne_status(3)
- ne_ssl_trust_cert(3)
- ne_get_response_header(3)
- ne_ssl_cert_export(3)
- ne_buffer_clear(3)
- ne_session_system_proxy(3)
- ne_buffer_altered(3)
- ne_request_dispatch(3)
- ne_get_session_flag(3)
- ne_addr_next(3)
- ne_addr_error(3)
- ne_token(3)
- ne_iaddr_print(3)
- ne_shave(3)
- ne_addr_first(3)
- ne_set_request_body_buffer(3)
- ne_ssl_cert_read(3)
- ne_get_status(3)
- ne_ssl_cert_import(3)
- ne_strhash(3)
- ne_addr_destroy(3)
- ne_set_read_timeout(3)
- ne_buffer(3)
- ne_add_request_header(3)
- ne_set_server_auth(3)
- ne_get_request_target(3)
- ne_strndup(3)
- ne_session_create(3)
- ne_response_header_iterate(3)
- ne_version_match(3)
- ne_get_response_location(3)
- ne_ssl_dname_cmp(3)
- ne_ssl_clicert_name(3)
- ne_qtoken(3)
- ne_ssl_clicert_free(3)
- ne_ssl_cert_cmp(3)
- ne_xml_create(3)
- ne_get_scheme(3)
- ne_ssl_proto_name(3)
- ne_set_proxy_auth(3)
- ne_ssl_cert_identity(3)
- ne_iaddr_cmp(3)
- ne_iaddr_free(3)
- neon(3)
- ne_session_proxy(3)
- ne_buffer_append(3)
- ne_request_destroy(3)
- ne_redirect_register(3)
- ne_has_support(3)
- ne_set_request_body_provider(3)
- ne_get_error(3)
- ne_ssl_clicert_decrypt(3)
- ne_malloc(3)
- ne_get_server_hostport(3)
- ne_ssl_clicert_encrypted(3)
- ne_session_socks_proxy(3)
- ne_realloc(3)
- ne_set_useragent(3)
- ne_buffer_ncreate(3)
- ne_buffer_create(3)
- ne_set_connect_timeout(3)
- ne_iaddr_parse(3)
- ne_strdup(3)
- ne_calloc(3)
- ne_get_request_flag(3)
- ne_ssl_cert_free(3)
- ne_ssl_readable_dname(3)
- ne_version_string(3)
- ne_ssl_cert_signedby(3)
- ne_set_error(3)
- neon-config(1)
- ne_close_connection(3)
- ne_print_request_header(3)
- ne_ssl_trust_default_ca(3)
- ne_buffer_concat(3)
- ne_strparam(3)
- ne_ssl_cert_write(3)
- ne_sock_exit(3)
- ne_iaddr_make(3)
- ne_set_request_flag(3)
- ne_buffer_grow(3)
- ne_ssl_set_protovers(3)
- ne_iaddr_typeof(3)
- ne_i18n_init(3)
- ne_forget_auth(3)
- ne_buffer_destroy(3)
- ne_iaddr_reverse(3)
- ne_iaddr_raw(3)
- ne_ssl_set_verify(3)
- ne_vstrhash(3)
- ne_ssl_clicert_owner(3)
- ne_set_session_flag(3)
- ne_ssl_clicert_read(3)
- ne_sock_init(3)
- ne_buffer_zappend(3)
- ne_set_addrlist(3)
- ne_addr_result(3)
- ne_xml_destroy(3)
- ne_ssl_cert_issuer(3)
- ne_request_create(3)
- ne_redirect_location(3)
- ne_set_request_body_fd(3)
- ne_oom_callback(3)
- ne_ssl_cert_subject(3)
- ne_addr_resolve(3)
- ne_session_destroy(3)
- ne_buffer_finish(3)
- ne_status(3)
- ne_ssl_trust_cert(3)
- ne_get_response_header(3)
- ne_ssl_cert_export(3)
- ne_buffer_clear(3)
- ne_session_system_proxy(3)
- ne_buffer_altered(3)
- ne_request_dispatch(3)
- ne_get_session_flag(3)
- ne_addr_next(3)
- ne_addr_error(3)
- ne_token(3)
- ne_iaddr_print(3)
- ne_shave(3)
- ne_addr_first(3)
- ne_set_request_body_buffer(3)
- ne_ssl_cert_read(3)
- ne_get_status(3)
- ne_ssl_cert_import(3)
- ne_strhash(3)
- ne_addr_destroy(3)
- ne_set_read_timeout(3)
- ne_buffer(3)
- ne_add_request_header(3)
- ne_set_server_auth(3)
- ne_get_request_target(3)
- ne_strndup(3)
- ne_session_create(3)
- ne_response_header_iterate(3)
- ne_version_match(3)
- ne_get_response_location(3)
- ne_ssl_dname_cmp(3)
- ne_ssl_clicert_name(3)
- ne_qtoken(3)
- ne_ssl_clicert_free(3)
- ne_ssl_cert_cmp(3)
- ne_xml_create(3)
- ne_get_scheme(3)
- ne_ssl_proto_name(3)
- ne_set_proxy_auth(3)
- ne_ssl_cert_identity(3)
- ne_iaddr_cmp(3)
- ne_iaddr_free(3)
apt-get install libneon27-dev
apt-get install libneon27-gnutls-dev
Manual
| NE_ADDR_RESOLVE(3) | neon API reference | NE_ADDR_RESOLVE(3) |
NAME
ne_addr_resolve, ne_addr_result, ne_addr_first, ne_addr_next, ne_addr_error, ne_addr_destroy - functions to resolve hostnames to addresses
SYNOPSIS
#include <ne_socket.h>
ne_sock_addr *ne_addr_resolve(const char *hostname, int flags);
int ne_addr_result(const ne_sock_addr *addr);
const ne_inet_addr *ne_addr_first(ne_sock_addr *addr);
const ne_inet_addr *ne_addr_next(ne_sock_addr *addr);
char *ne_addr_error(const ne_sock_addr *addr, char *buffer, size_t bufsiz);
void ne_addr_destroy(ne_sock_addr *addr);
DESCRIPTION
The ne_addr_resolve function resolves the given hostname, returning an ne_sock_addr object representing the address (or addresses) associated with the hostname. The flags parameter is currently unused, and must be passed as 0.
The hostname passed to ne_addr_resolve can be a DNS hostname (e.g. "www.example.com") or an IPv4 dotted quad (e.g. "192.0.34.72"); or, on systems which support IPv6, an IPv6 hex address, which may be enclosed in brackets, e.g. "[::1]".
To determine whether the hostname was successfully resolved, the ne_addr_result function is used, which returns non-zero if an error occurred. If an error did occur, the ne_addr_error function can be used, which will copy the error string into a given buffer (of size bufsiz).
The functions ne_addr_first and ne_addr_next are used to retrieve the Internet addresses associated with an address object which has been successfully resolved. ne_addr_first returns the first address; ne_addr_next returns the next address after the most recent call to ne_addr_next or ne_addr_first, or NULL if there are no more addresses. The ne_inet_addr pointer returned by these functions can be passed to ne_sock_connect to connect a socket.
After the address object has been used, it should be destroyed using ne_addr_destroy.
RETURN VALUE
ne_addr_resolve returns a pointer to an address object, and never NULL. ne_addr_error returns the buffer parameter .
EXAMPLES
The code below prints out the set of addresses associated with the hostname www.google.com.
ne_sock_addr *addr;
char buf[256];
addr = ne_addr_resolve("www.google.com", 0);
if (ne_addr_result(addr)) {
printf("Could not resolve www.google.com: %s\n",
ne_addr_error(addr, buf, sizeof buf));
} else {
const ne_inet_addr *ia;
printf("www.google.com:");
for (ia = ne_addr_first(addr); ia != NULL; ia = ne_addr_next(addr)) {
printf(" %s", ne_iaddr_print(ia, buf, sizeof buf));
}
putchar('\n');
}
ne_addr_destroy(addr);
SEE ALSO
ne_iaddr_print
COPYRIGHT
Copyright © 2001-2024 Joe Orton
| 15 April 2025 | neon 0.34.2 |