Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

ares_gethostbyname (3)

Name

ares_gethostbyname - Initiate a host query by name

Synopsis

#include <ares.h>

typedef void (*ares_host_callback)(void *arg, int status,
int timeouts, struct hostent *hostent)

void ares_gethostbyname(ares_channel channel, const char *name,
int family, ares_host_callback callback, void *arg)

Description

ARES_GETHOSTBYNAME(3)      Library Functions Manual      ARES_GETHOSTBYNAME(3)



NAME
       ares_gethostbyname - Initiate a host query by name

SYNOPSIS
       #include <ares.h>

       typedef void (*ares_host_callback)(void *arg, int status,
       int timeouts, struct hostent *hostent)

       void ares_gethostbyname(ares_channel channel, const char *name,
            int family, ares_host_callback callback, void *arg)

DESCRIPTION
       The  ares_gethostbyname  function initiates a host query by name on the
       name service channel identified by channel.  The parameter  name  gives
       the hostname as a NUL-terminated C string, and family gives the desired
       type of address for the resulting host entry.  When the query  is  com-
       plete 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_gethostbyname argu-
       ment arg.  The callback argument status  indicates  whether  the  query
       succeeded 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 find addresses
                          of type family.

       ARES_EBADNAME      The  hostname  name  is composed entirely of numbers
                          and periods, but is not a valid representation of an
                          Internet address.

       ARES_ENODATA       There was no data returned to extract a result from.

       ARES_ENOTFOUND     The name name 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.

       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 hostent
       points to a struct hostent containing the name of the host returned  by
       the  query.   The  callback need not and should not attempt to free the
       memory pointed to by hostent; the ares library will free  it  when  the
       callback  returns.  If the query did not complete successfully, hostent
       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), ares_gethostbyaddr(3)

AUTHOR
       Greg Hudson, MIT Information Systems
       Copyright 1998 by the Massachusetts Institute of Technology.



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/.



                                 25 July 1998            ARES_GETHOSTBYNAME(3)