Rechercher une page de manuel
ne_addr_resolve
Langue: en
Version: 25 February 2009 (fedora - 05/07/09)
Section: 3 (Bibliothèques de fonctions)
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. FC"www.example.com"F[]) or an IPv4 dotted quad (e.g. FC"192.0.34.72"F[]); or, on systems which support IPv6, an IPv6 hex address, which may be enclosed in brackets, e.g. FC"[::1]"F[].
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 FCNULLF[] 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 FCNULLF[]. ne_addr_error returns the buffer parameter .
Examples
The code below prints out the set of addresses associated with the hostname FCwww.google.comF[].
-
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
Author
Joe Orton <neon@lists.manyfish.co.uk>
- Author.
Copyright
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre