1*6236dae4SAndroid Build Coastguard Worker #ifndef HEADER_CURL_TOOL_SETUP_H 2*6236dae4SAndroid Build Coastguard Worker #define HEADER_CURL_TOOL_SETUP_H 3*6236dae4SAndroid Build Coastguard Worker /*************************************************************************** 4*6236dae4SAndroid Build Coastguard Worker * _ _ ____ _ 5*6236dae4SAndroid Build Coastguard Worker * Project ___| | | | _ \| | 6*6236dae4SAndroid Build Coastguard Worker * / __| | | | |_) | | 7*6236dae4SAndroid Build Coastguard Worker * | (__| |_| | _ <| |___ 8*6236dae4SAndroid Build Coastguard Worker * \___|\___/|_| \_\_____| 9*6236dae4SAndroid Build Coastguard Worker * 10*6236dae4SAndroid Build Coastguard Worker * Copyright (C) Daniel Stenberg, <[email protected]>, et al. 11*6236dae4SAndroid Build Coastguard Worker * 12*6236dae4SAndroid Build Coastguard Worker * This software is licensed as described in the file COPYING, which 13*6236dae4SAndroid Build Coastguard Worker * you should have received as part of this distribution. The terms 14*6236dae4SAndroid Build Coastguard Worker * are also available at https://curl.se/docs/copyright.html. 15*6236dae4SAndroid Build Coastguard Worker * 16*6236dae4SAndroid Build Coastguard Worker * You may opt to use, copy, modify, merge, publish, distribute and/or sell 17*6236dae4SAndroid Build Coastguard Worker * copies of the Software, and permit persons to whom the Software is 18*6236dae4SAndroid Build Coastguard Worker * furnished to do so, under the terms of the COPYING file. 19*6236dae4SAndroid Build Coastguard Worker * 20*6236dae4SAndroid Build Coastguard Worker * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 21*6236dae4SAndroid Build Coastguard Worker * KIND, either express or implied. 22*6236dae4SAndroid Build Coastguard Worker * 23*6236dae4SAndroid Build Coastguard Worker * SPDX-License-Identifier: curl 24*6236dae4SAndroid Build Coastguard Worker * 25*6236dae4SAndroid Build Coastguard Worker ***************************************************************************/ 26*6236dae4SAndroid Build Coastguard Worker 27*6236dae4SAndroid Build Coastguard Worker #define CURL_NO_OLDIES 28*6236dae4SAndroid Build Coastguard Worker 29*6236dae4SAndroid Build Coastguard Worker /* 30*6236dae4SAndroid Build Coastguard Worker * curl_setup.h may define preprocessor macros such as _FILE_OFFSET_BITS and 31*6236dae4SAndroid Build Coastguard Worker * _LARGE_FILES in order to support files larger than 2 GB. On platforms 32*6236dae4SAndroid Build Coastguard Worker * where this happens it is mandatory that these macros are defined before 33*6236dae4SAndroid Build Coastguard Worker * any system header file is included, otherwise file handling function 34*6236dae4SAndroid Build Coastguard Worker * prototypes will be misdeclared and curl tool may not build properly; 35*6236dae4SAndroid Build Coastguard Worker * therefore we must include curl_setup.h before curl.h when building curl. 36*6236dae4SAndroid Build Coastguard Worker */ 37*6236dae4SAndroid Build Coastguard Worker 38*6236dae4SAndroid Build Coastguard Worker #include "curl_setup.h" /* from the lib directory */ 39*6236dae4SAndroid Build Coastguard Worker 40*6236dae4SAndroid Build Coastguard Worker extern FILE *tool_stderr; 41*6236dae4SAndroid Build Coastguard Worker 42*6236dae4SAndroid Build Coastguard Worker /* 43*6236dae4SAndroid Build Coastguard Worker * curl tool certainly uses libcurl's external interface. 44*6236dae4SAndroid Build Coastguard Worker */ 45*6236dae4SAndroid Build Coastguard Worker 46*6236dae4SAndroid Build Coastguard Worker #include <curl/curl.h> /* external interface */ 47*6236dae4SAndroid Build Coastguard Worker 48*6236dae4SAndroid Build Coastguard Worker /* 49*6236dae4SAndroid Build Coastguard Worker * Platform specific stuff. 50*6236dae4SAndroid Build Coastguard Worker */ 51*6236dae4SAndroid Build Coastguard Worker 52*6236dae4SAndroid Build Coastguard Worker #ifdef macintosh 53*6236dae4SAndroid Build Coastguard Worker # define main(x,y) curl_main(x,y) 54*6236dae4SAndroid Build Coastguard Worker #endif 55*6236dae4SAndroid Build Coastguard Worker 56*6236dae4SAndroid Build Coastguard Worker #ifndef CURL_OS 57*6236dae4SAndroid Build Coastguard Worker # define CURL_OS "unknown" 58*6236dae4SAndroid Build Coastguard Worker #endif 59*6236dae4SAndroid Build Coastguard Worker 60*6236dae4SAndroid Build Coastguard Worker #ifndef UNPRINTABLE_CHAR 61*6236dae4SAndroid Build Coastguard Worker /* define what to use for unprintable characters */ 62*6236dae4SAndroid Build Coastguard Worker # define UNPRINTABLE_CHAR '.' 63*6236dae4SAndroid Build Coastguard Worker #endif 64*6236dae4SAndroid Build Coastguard Worker 65*6236dae4SAndroid Build Coastguard Worker #ifndef HAVE_STRDUP 66*6236dae4SAndroid Build Coastguard Worker # include "tool_strdup.h" 67*6236dae4SAndroid Build Coastguard Worker #endif 68*6236dae4SAndroid Build Coastguard Worker 69*6236dae4SAndroid Build Coastguard Worker #if defined(_WIN32) 70*6236dae4SAndroid Build Coastguard Worker /* set in win32_init() */ 71*6236dae4SAndroid Build Coastguard Worker extern LARGE_INTEGER tool_freq; 72*6236dae4SAndroid Build Coastguard Worker extern bool tool_isVistaOrGreater; 73*6236dae4SAndroid Build Coastguard Worker /* set in init_terminal() */ 74*6236dae4SAndroid Build Coastguard Worker extern bool tool_term_has_bold; 75*6236dae4SAndroid Build Coastguard Worker #endif 76*6236dae4SAndroid Build Coastguard Worker 77*6236dae4SAndroid Build Coastguard Worker #if defined(_WIN32) && !defined(HAVE_FTRUNCATE) 78*6236dae4SAndroid Build Coastguard Worker 79*6236dae4SAndroid Build Coastguard Worker int tool_ftruncate64(int fd, curl_off_t where); 80*6236dae4SAndroid Build Coastguard Worker 81*6236dae4SAndroid Build Coastguard Worker #undef ftruncate 82*6236dae4SAndroid Build Coastguard Worker #define ftruncate(fd,where) tool_ftruncate64(fd,where) 83*6236dae4SAndroid Build Coastguard Worker 84*6236dae4SAndroid Build Coastguard Worker #define HAVE_FTRUNCATE 1 85*6236dae4SAndroid Build Coastguard Worker #define USE_TOOL_FTRUNCATE 1 86*6236dae4SAndroid Build Coastguard Worker 87*6236dae4SAndroid Build Coastguard Worker #endif /* _WIN32 && ! HAVE_FTRUNCATE */ 88*6236dae4SAndroid Build Coastguard Worker 89*6236dae4SAndroid Build Coastguard Worker 90*6236dae4SAndroid Build Coastguard Worker #endif /* HEADER_CURL_TOOL_SETUP_H */ 91