Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

c-ares is a C library for asynchronous DNS requests

ares_build.h: fix building on 64-bit powerpc

There are two issues.

1. gcc actually does not use __ppc__ and __ppc64__ but __PPC__ and
__PPC64__.  The tests of __ILP32__ and __LP64__ are sufficient for gcc.

2. clang defines __GNU__ and defines both __ppc64__ and __ppc__ when
targeting ppc64.  This makes CARES_SIZEOF_LONG to be 4 on a ppc64 system
when building with clang.

My patch is two change the order of the checks so that we check the
64-bit case first.
latest commit bc529dd0c2
dougkwan dougkwan authored bagder committed
Octocat-spinner-32 m4 xc-am-iface.m4: comments refinement July 18, 2013
Octocat-spinner-32 vc vc6cares.dsp: add ares_create_query.c and ares_parse_soa_reply.c December 18, 2012
Octocat-spinner-32 .gitignore gitignore: ignore all ares_*pdf but also CHANGES.dist May 12, 2013
Octocat-spinner-32 AUTHORS AUTHORS: synced with 83093ac August 21, 2012
Octocat-spinner-32 CHANGES CHANGES: generate from script August 21, 2011
Octocat-spinner-32 CHANGES.0 CHANGES: generate from script August 21, 2011
Octocat-spinner-32 GIT-INFO GIT-INFO: mention buildconf April 25, 2012
Octocat-spinner-32 INSTALL INSTALL: some adjustments April 25, 2012
Octocat-spinner-32 Makefile.Watcom Makefile.Watcom: August 10, 2011
Octocat-spinner-32 Makefile.am Makefile.am: increment -version-info for 1.10.0 release April 23, 2013
Octocat-spinner-32 Makefile.dj build: config.dos renamed to config-dos.h December 03, 2010
Octocat-spinner-32 Makefile.inc build: fix build on msvc11 May 02, 2013
Octocat-spinner-32 Makefile.m32 Create ares_build.h when buidling from Git. April 11, 2013
Octocat-spinner-32 Makefile.msvc build: fix build on msvc11 May 02, 2013
Octocat-spinner-32 Makefile.netware Makefile.netware: SIZEOF_SHORT definition August 21, 2011
Octocat-spinner-32 NEWS - Fixed a few variable return types for some system calls. Made confi… July 22, 2004
Octocat-spinner-32 README README: remove unnecessary comment April 23, 2013
Octocat-spinner-32 README.cares made README the primary readme file March 23, 2010
Octocat-spinner-32 README.msvc build: add install target to Makefile.msvc January 17, 2011
Octocat-spinner-32 RELEASE-NOTES bump: start working towards 1.10.1 May 12, 2013
Octocat-spinner-32 TODO ares_reinit() February 17, 2010
Octocat-spinner-32 acinclude.m4 nowarn: use <limits.h> instead of configure for size of long August 27, 2013
Octocat-spinner-32 acountry.1 man pages: docs for the c-ares utility programs May 09, 2011
Octocat-spinner-32 acountry.c ares_inet_pton/ntop: cleanup February 17, 2013
Octocat-spinner-32 adig.1 man pages: docs for the c-ares utility programs May 09, 2011
Octocat-spinner-32 adig.c ares_inet_pton/ntop: cleanup February 17, 2013
Octocat-spinner-32 ahost.1 man pages: docs for the c-ares utility programs May 09, 2011
Octocat-spinner-32 ahost.c ares_inet_pton/ntop: cleanup February 17, 2013
Octocat-spinner-32 ares.h ares.h: stricter CARES_EXTERN linkage decorations logic March 10, 2013
Octocat-spinner-32 ares__close_sockets.c setup_once.h: refactor inclusion of <unistd.h> and <sys/socket.h> December 14, 2012
Octocat-spinner-32 ares__get_hostent.c ares_inet_pton/ntop: cleanup February 17, 2013
Octocat-spinner-32 ares__read_line.c Header inclusion clean-up December 14, 2012
Octocat-spinner-32 ares__timeval.c remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_build.h.dist ares_build.h: fix building on 64-bit powerpc February 16, 2014
Octocat-spinner-32 ares_build.h.in Revert "Do not use sized constants in public headers" June 15, 2011
Octocat-spinner-32 ares_cancel.3 Documentation: properly document ARES_ECANCELLED April 08, 2013
Octocat-spinner-32 ares_cancel.c ares_cancel(): cancel requests safely April 08, 2013
Octocat-spinner-32 ares_create_query.3 ares_create_query.3: mention when this is added August 17, 2012
Octocat-spinner-32 ares_create_query.c setup_once.h: refactor inclusion of <unistd.h> and <sys/socket.h> December 14, 2012
Octocat-spinner-32 ares_data.c ares_get_datatype: removed unused function February 13, 2013
Octocat-spinner-32 ares_data.h ares_get_datatype: removed unused function February 13, 2013
Octocat-spinner-32 ares_destroy.3 ares_destroy() documentation: no new requests April 08, 2013
Octocat-spinner-32 ares_destroy.c Header inclusion clean-up December 14, 2012
Octocat-spinner-32 ares_destroy_options.3 remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_dns.h Added new feature (rfc2671) August 17, 2012
Octocat-spinner-32 ares_dup.3 remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_expand_name.3 ares_expand_name.3: clarify how to free the data February 13, 2013
Octocat-spinner-32 ares_expand_name.c protocol parsing: check input data stricter April 15, 2013
Octocat-spinner-32 ares_expand_string.3 remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_expand_string.c setup_once.h: refactor inclusion of <unistd.h> and <sys/socket.h> December 14, 2012
Octocat-spinner-32 ares_fds.3 remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_fds.c Header inclusion clean-up December 14, 2012
Octocat-spinner-32 ares_free_data.3 SOA parser added June 15, 2012
Octocat-spinner-32 ares_free_hostent.3 remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_free_hostent.c Header inclusion clean-up December 14, 2012
Octocat-spinner-32 ares_free_string.3 remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_free_string.c Header inclusion clean-up December 14, 2012
Octocat-spinner-32 ares_get_servers.3 remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_getenv.c build: use getenv() replacement function for systems which lack it March 23, 2011
Octocat-spinner-32 ares_getenv.h build: use getenv() replacement function for systems which lack it March 23, 2011
Octocat-spinner-32 ares_gethostbyaddr.3 Documentation: properly document ARES_ECANCELLED April 08, 2013
Octocat-spinner-32 ares_gethostbyaddr.c ares_inet_pton/ntop: cleanup February 17, 2013
Octocat-spinner-32 ares_gethostbyname.3 Documentation: properly document ARES_ECANCELLED April 08, 2013
Octocat-spinner-32 ares_gethostbyname.c ares_inet_pton/ntop: cleanup February 17, 2013
Octocat-spinner-32 ares_gethostbyname_file.3 remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_getnameinfo.3 Documentation: properly document ARES_ECANCELLED April 08, 2013
Octocat-spinner-32 ares_getnameinfo.c ares_inet_pton/ntop: cleanup February 17, 2013
Octocat-spinner-32 ares_getopt.c remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_getopt.h Fix macro redefinition. November 22, 2009
Octocat-spinner-32 ares_getsock.3 remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_getsock.c Header inclusion clean-up December 14, 2012
Octocat-spinner-32 ares_inet_net_pton.h ares_inet_pton/ntop: cleanup February 17, 2013
Octocat-spinner-32 ares_inet_ntop.3 ares_inet_ntop.3: s/socklen_t/ares_socklen_t March 08, 2013
Octocat-spinner-32 ares_inet_pton.3 spell inet correctly! February 17, 2013
Octocat-spinner-32 ares_init.3 ares_init: Last, not first instance of domain or search should win June 02, 2010
Octocat-spinner-32 ares_init.c ares_inet_pton/ntop: cleanup February 17, 2013
Octocat-spinner-32 ares_init_options.3 remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_iphlpapi.h ares_iphlpapi.h: Watcom C fix August 10, 2011
Octocat-spinner-32 ares_ipv6.h ipv6: Fix some build issues related to the local-bind feature. July 29, 2010
Octocat-spinner-32 ares_library_cleanup.3 library init: documentation update April 22, 2013
Octocat-spinner-32 ares_library_init.3 library init: documentation update April 22, 2013
Octocat-spinner-32 ares_library_init.c library init: be recursive April 22, 2013
Octocat-spinner-32 ares_library_init.h winsock: compilation fixes May 20, 2011
Octocat-spinner-32 ares_llist.c ares__swap_lists: make private and static February 13, 2013
Octocat-spinner-32 ares_llist.h ares__swap_lists: make private and static February 13, 2013
Octocat-spinner-32 ares_mkquery.3 Added new feature (rfc2671) August 17, 2012
Octocat-spinner-32 ares_mkquery.c Added new feature (rfc2671) August 17, 2012
Octocat-spinner-32 ares_nowarn.c nowarn: use <limits.h> instead of configure for size of long August 27, 2013
Octocat-spinner-32 ares_nowarn.h Kill compiler warning June 14, 2012
Octocat-spinner-32 ares_options.c ares_set_servers_csv: fixed IPv6 address parsing May 12, 2013
Octocat-spinner-32 ares_parse_a_reply.3 nroff: fix two syntax mistakes May 02, 2013
Octocat-spinner-32 ares_parse_a_reply.c protocol parsing: check input data stricter April 15, 2013
Octocat-spinner-32 ares_parse_aaaa_reply.3 nroff: fix two syntax mistakes May 02, 2013
Octocat-spinner-32 ares_parse_aaaa_reply.c ares_parse_aaaa_reply: Plug memory leak April 22, 2013
Octocat-spinner-32 ares_parse_mx_reply.3 added ares_parse_mx_reply April 18, 2010
Octocat-spinner-32 ares_parse_mx_reply.c protocol parsing: check input data stricter April 15, 2013
Octocat-spinner-32 ares_parse_naptr_reply.3 Added support for parsing NAPTR records February 23, 2012
Octocat-spinner-32 ares_parse_naptr_reply.c protocol parsing: check input data stricter April 15, 2013
Octocat-spinner-32 ares_parse_ns_reply.3 Vlad Dinulescu added ares_parse_ns_reply() February 19, 2007
Octocat-spinner-32 ares_parse_ns_reply.c protocol parsing: check input data stricter April 15, 2013
Octocat-spinner-32 ares_parse_ptr_reply.3 remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_parse_ptr_reply.c protocol parsing: check input data stricter April 15, 2013
Octocat-spinner-32 ares_parse_soa_reply.3 SOA parser added June 15, 2012
Octocat-spinner-32 ares_parse_soa_reply.c setup_once.h: refactor inclusion of <unistd.h> and <sys/socket.h> December 14, 2012
Octocat-spinner-32 ares_parse_srv_reply.3 Daniel wants upcoming release to be 1.7.0 November 23, 2009
Octocat-spinner-32 ares_parse_srv_reply.c protocol parsing: check input data stricter April 15, 2013
Octocat-spinner-32 ares_parse_txt_reply.3 ares_parse_txt_reply: return a ares_txt_reply node for each sub-string April 22, 2013
Octocat-spinner-32 ares_parse_txt_reply.c ares_parse_txt_reply: return a ares_txt_reply node for each sub-string April 22, 2013
Octocat-spinner-32 ares_platform.c compiler warning: fix May 26, 2011
Octocat-spinner-32 ares_platform.h getservbyport replacement for Win CE March 27, 2011
Octocat-spinner-32 ares_private.h timeoffset: made static and private August 27, 2013
Octocat-spinner-32 ares_process.3 remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_process.c Fixed warning 'type specifier missing'. August 31, 2013
Octocat-spinner-32 ares_query.3 Documentation: properly document ARES_ECANCELLED April 08, 2013
Octocat-spinner-32 ares_query.c ares__generate_new_id: moved to ares_query.c February 13, 2013
Octocat-spinner-32 ares_rules.h ares_rules.h: CARES_SIZEOF_LONG doesn't exist anymore, don't test for it August 30, 2013
Octocat-spinner-32 ares_save_options.3 remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_search.3 Documentation: properly document ARES_ECANCELLED April 08, 2013
Octocat-spinner-32 ares_search.c single_domain: Invalid memory access for empty string input November 12, 2013
Octocat-spinner-32 ares_send.3 Documentation: properly document ARES_ECANCELLED April 08, 2013
Octocat-spinner-32 ares_send.c setup_once.h: refactor inclusion of <unistd.h> and <sys/socket.h> December 14, 2012
Octocat-spinner-32 ares_set_local_dev.3 ares_set_local_*: added in 1.7.4, not before December 08, 2010
Octocat-spinner-32 ares_set_local_ip4.3 ares_set_local_*: added in 1.7.4, not before December 08, 2010
Octocat-spinner-32 ares_set_local_ip6.3 ares_set_local_*: added in 1.7.4, not before December 08, 2010
Octocat-spinner-32 ares_set_servers.3 local-bind: Support binding to local interface/IPs July 18, 2010
Octocat-spinner-32 ares_set_servers_csv.3 local-bind: Support binding to local interface/IPs July 18, 2010
Octocat-spinner-32 ares_set_socket_callback.3 remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_setup.h Check for __ANDROID__ in addition to ANDROID macro. April 16, 2012
Octocat-spinner-32 ares_strcasecmp.c remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_strcasecmp.h remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_strdup.c remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_strdup.h remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_strerror.3 remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_strerror.c remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_timeout.3 ares_timeout.3: fix the NAME section December 19, 2011
Octocat-spinner-32 ares_timeout.c timeoffset: made static and private August 27, 2013
Octocat-spinner-32 ares_version.3 remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_version.c remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_version.h bump: start working towards 1.10.1 May 12, 2013
Octocat-spinner-32 ares_writev.c remove all $Id$ lines March 27, 2010
Octocat-spinner-32 ares_writev.h remove all $Id$ lines March 27, 2010
Octocat-spinner-32 bitncmp.c ares__bitncmp: use two underscores for private functions February 13, 2013
Octocat-spinner-32 bitncmp.h ares__bitncmp: use two underscores for private functions February 13, 2013
Octocat-spinner-32 buildconf configure: libtool 1.5 tweaks December 20, 2011
Octocat-spinner-32 buildconf.bat remove all $Id$ lines March 27, 2010
Octocat-spinner-32 cares.rc Added copyright string to ares_version.h and make use of it in other … August 08, 2010
Octocat-spinner-32 config-dos.h config-dos.h: define HAVE_CLOSE_S for MSDOS/Watt-32 February 15, 2013
Octocat-spinner-32 config-win32.h setup_once.h cleanup and sync September 04, 2011
Octocat-spinner-32 configure.ac nowarn: use <limits.h> instead of configure for size of long August 27, 2013
Octocat-spinner-32 get_ver.awk Cleaned up version awk script. July 11, 2012
Octocat-spinner-32 git2changes.pl CHANGES: generate from script August 21, 2011
Octocat-spinner-32 inet_net_pton.c ares_inet_pton/ntop: cleanup February 17, 2013
Octocat-spinner-32 inet_ntop.c inet_ntop.c: s/socklen_t/ares_socklen_t February 19, 2013
Octocat-spinner-32 install-sh refresh: updated now with automake 1.14 November 15, 2013
Octocat-spinner-32 libcares.pc.in Fix libcares.pc generation for static MingW* cross builds May 25, 2012
Octocat-spinner-32 maketgz CHANGES: generate from script August 21, 2011
Octocat-spinner-32 mkinstalldirs refresh: updated now with automake 1.14 November 15, 2013
Octocat-spinner-32 nameser.h c-ares/nameser.h: add some T_* defines for ns_t_* values November 23, 2012
Octocat-spinner-32 setup_once.h curl_setup_once.h: definition of HAVE_CLOSE_S defines sclose() to clo… February 15, 2013
Octocat-spinner-32 windows_port.c build: move platform stuff to ares_platform.c and ares_platform.h March 24, 2011
README
c-ares
======

This is c-ares, an asynchronous resolver library.  It is intended for
applications which need to perform DNS queries without blocking, or need to
perform multiple DNS queries in parallel.  The primary examples of such
applications are servers which communicate with multiple clients and programs
with graphical user interfaces.

The full source code is available in the 'c-ares' release archives, and in a
git repository: http://github.com/bagder/c-ares

If you find bugs, correct flaws, have questions or have comments in general in
regard to c-ares (or by all means the original ares too), get in touch with us
on the c-ares mailing list: http://cool.haxx.se/mailman/listinfo/c-ares

c-ares is of course distributed under the same MIT-style license as the
original ares.

You'll find all c-ares details and news here:

        http://c-ares.haxx.se/


NOTES FOR C-ARES HACKERS

* The distributed ares_build.h file is only intended to be used on systems
  which can not run the also distributed configure script.

* The distributed ares_build.h file is generated as a copy of ares_build.h.dist
  when the c-ares source code distribution archive file is originally created.

* If you check out from git on a non-configure platform, you must run the
  appropriate buildconf* script to set up ares_build.h and other local files
  before being able of compiling the library.

* On systems capable of running the configure script, the configure process
  will overwrite the distributed ares_build.h file with one that is suitable
  and specific to the library being configured and built, this new file is
  generated from the ares_build.h.in template file.

* If you intend to distribute an already compiled c-ares library you _MUST_
  also distribute along with it the generated ares_build.h which has been
  used to compile it. Otherwise the library will be of no use for the users of
  the library that you have built. It is _your_ responsibility to provide this
  file. No one at the c-ares project can know how you have built the library.

* File ares_build.h includes platform and configuration dependent info,
  and must not be modified by anyone. Configure script generates it for you.

* We cannot assume anything else but very basic compiler features being
  present. While c-ares requires an ANSI C compiler to build, some of the
  earlier ANSI compilers clearly can't deal with some preprocessor operators.

* Newlines must remain unix-style for older compilers' sake.

* Comments must be written in the old-style /* unnested C-fashion */

Something went wrong with that request. Please try again.