Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

ares_getnameinfo (3)

Name

ares_getnameinfo - dent manner

Synopsis

#include <ares.h>

typedef void (*ares_nameinfo_callback)(void *arg, int status,
int timeouts, char *node, char *service)

void ares_getnameinfo(ares_channel channel, const struct sockaddr *sa,
ares_socklen_t salen, int flags, ares_nameinfo_callback callback,
void *arg)

Description

ARES_GETNAMEINFO(3)        Library Functions Manual        ARES_GETNAMEINFO(3)



NAME
       ares_getnameinfo - Address-to-nodename translation in protocol-indepen-
       dent manner

SYNOPSIS
       #include <ares.h>

       typedef void (*ares_nameinfo_callback)(void *arg, int status,
       int timeouts, char *node, char *service)

       void ares_getnameinfo(ares_channel channel, const struct sockaddr *sa,
            ares_socklen_t salen, int flags, ares_nameinfo_callback callback,
            void *arg)

DESCRIPTION
       The  ares_getnameinfo  function  is  defined  for  protocol-independent
       address  translation.  The  function  is a combination of ares_gethost-
       byaddr(3) and getservbyport(3). The function will translate the address
       either by executing a host query on the name service channel identified
       by channel or it will attempt to resolve it locally if  possible.   The
       parameters  sa  and  len  give the address as a sockaddr structure, and
       flags gives the options that the function will use.   Valid  flags  are
       listed below:

       ARES_NI_NOFQDN     Only  the  nodename  portion of the FQDN is returned
                          for local hosts.

       ARES_NI_NUMERICHOST
                          The numeric form of the hostname is returned  rather
                          than the name.

       ARES_NI_NAMEREQD   An error is returned if the hostname cannot be found
                          in the DNS.

       ARES_NI_NUMERICSERV
                          The numeric form of the service is  returned  rather
                          than the name.

       ARES_NI_TCP        The service name is to be looked up for the TCP pro-
                          tocol.

       ARES_NI_UDP        The service name is to be looked up for the UDP pro-
                          tocol.

       ARES_NI_SCTP       The  service  name  is  to be looked up for the SCTP
                          protocol.

       ARES_NI_DCCP       The service name is to be looked  up  for  the  DCCP
                          protocol.

       ARES_NI_NUMERICSCOPE
                          The  numeric form of the scope ID is returned rather
                          than the name.

       ARES_NI_LOOKUPHOST A hostname lookup is being requested.

       ARES_NI_LOOKUPSERVICE
                          A service name lookup is being requested.

       When the query is complete or has failed, the ares library will  invoke
       callback.   Completion  or failure of the query may happen immediately,
       or may happen during a later call to  ares_process(3),  ares_destroy(3)
       or ares_cancel(3).

       The  callback argument arg is copied from the ares_getnameinfo argument
       arg.  The callback argument status indicates  whether  the  query  suc-
       ceeded  and,  if  not, how it failed.  It may have any of the following
       values:

       ARES_SUCCESS       The host lookup completed successfully.

       ARES_ENOTIMP       The ares library  does  not  know  how  to  look  up
                          addresses of type family.

       ARES_ENOTFOUND     The address addr was not found.

       ARES_ENOMEM        Memory was exhausted.

       ARES_ECANCELLED    The query was cancelled.

       ARES_EDESTRUCTION  The name service channel channel is being destroyed;
                          the query will not be completed.

       ARES_EBADFLAGS     The flags parameter contains an illegal value.

       The callback argument timeouts reports how many times a query timed out
       during the execution of the given request.

       On  successful completion of the query, the callback argument node con-
       tains a string representing the hostname  (assuming  ARES_NI_LOOKUPHOST
       was  specified).  Additionally,  service contains a string representing
       the service name (assuming ARES_NI_LOOKUPSERVICE  was  specified).   If
       the  query  did not complete successfully, or one of the values was not
       requested, node or service will be NULL.


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


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

SEE ALSO
       ares_process(3),

AUTHOR
       Dominick Meglio
       Copyright 2005 by Dominick Meglio.



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     https://c-ares.haxx.se/download/c-
       ares-1.17.2.tar.gz.

       Further information about this software can be found on the open source
       community website at https://c-ares.haxx.se/.



                                  1 May 2009               ARES_GETNAMEINFO(3)