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