1/*************************************************************************** 2 * _ _ ____ _ 3 * Project ___| | | | _ \| | 4 * / __| | | | |_) | | 5 * | (__| |_| | _ <| |___ 6 * \___|\___/|_| \_\_____| 7 * 8 * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al. 9 * 10 * This software is licensed as described in the file COPYING, which 11 * you should have received as part of this distribution. The terms 12 * are also available at https://curl.haxx.se/docs/copyright.html. 13 * 14 * You may opt to use, copy, modify, merge, publish, distribute and/or sell 15 * copies of the Software, and permit persons to whom the Software is 16 * furnished to do so, under the terms of the COPYING file. 17 * 18 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 19 * KIND, either express or implied. 20 * 21 ***************************************************************************/ 22 23#include "curl_setup.h" 24 25#ifdef HAVE_NETINET_IN_H 26#include <netinet/in.h> 27#endif 28#ifdef HAVE_NETDB_H 29#include <netdb.h> 30#endif 31#ifdef HAVE_ARPA_INET_H 32#include <arpa/inet.h> 33#endif 34#ifdef __VMS 35#include <in.h> 36#include <inet.h> 37#endif 38 39#ifdef HAVE_PROCESS_H 40#include <process.h> 41#endif 42 43#include "urldata.h" 44#include "sendf.h" 45#include "hostip.h" 46#include "hash.h" 47#include "share.h" 48#include "strerror.h" 49#include "url.h" 50#include "curl_memory.h" 51/* The last #include file should be: */ 52#include "memdebug.h" 53 54/*********************************************************************** 55 * Only for builds using synchronous name resolves 56 **********************************************************************/ 57#ifdef CURLRES_SYNCH 58 59/* 60 * Function provided by the resolver backend to set DNS servers to use. 61 */ 62CURLcode Curl_set_dns_servers(struct Curl_easy *data, 63 char *servers) 64{ 65 (void)data; 66 (void)servers; 67 return CURLE_NOT_BUILT_IN; 68 69} 70 71/* 72 * Function provided by the resolver backend to set 73 * outgoing interface to use for DNS requests 74 */ 75CURLcode Curl_set_dns_interface(struct Curl_easy *data, 76 const char *interf) 77{ 78 (void)data; 79 (void)interf; 80 return CURLE_NOT_BUILT_IN; 81} 82 83/* 84 * Function provided by the resolver backend to set 85 * local IPv4 address to use as source address for DNS requests 86 */ 87CURLcode Curl_set_dns_local_ip4(struct Curl_easy *data, 88 const char *local_ip4) 89{ 90 (void)data; 91 (void)local_ip4; 92 return CURLE_NOT_BUILT_IN; 93} 94 95/* 96 * Function provided by the resolver backend to set 97 * local IPv6 address to use as source address for DNS requests 98 */ 99CURLcode Curl_set_dns_local_ip6(struct Curl_easy *data, 100 const char *local_ip6) 101{ 102 (void)data; 103 (void)local_ip6; 104 return CURLE_NOT_BUILT_IN; 105} 106 107#endif /* truly sync */ 108