Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

ne_addr_result (3)

Name

ne_addr_result - ne_addr_resolve, ne_addr_result, ne_addr_first, ne_addr_next, 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

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);


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | library/neon     |
       +---------------+------------------+
       |Stability      | Volatile         |
       +---------------+------------------+

SEE ALSO
       ne_iaddr_print

AUTHOR
       Joe Orton <neon@lists.manyfish.co.uk>
           Author.

COPYRIGHT
NOTES
       Source code for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This software was built from source available at
       https://github.com/oracle/solaris-userland.  The original community
       source was downloaded from
       http://www.webdav.org/neon/neon-0.30.1.tar.gz.

       Further information about this software can be found on the open source
       community website at http://www.webdav.org/neon/.



neon 0.30.1                    23 September 2014            NE_ADDR_RESOLVE(3)