curlbuild.h 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. #ifndef __CURL_CURLBUILD_H
  2. #define __CURL_CURLBUILD_H
  3. /***************************************************************************
  4. * _ _ ____ _
  5. * Project ___| | | | _ \| |
  6. * / __| | | | |_) | |
  7. * | (__| |_| | _ <| |___
  8. * \___|\___/|_| \_\_____|
  9. *
  10. * Copyright (C) 1998 - 2008, Daniel Stenberg, <[email protected]>, 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 http://curl.haxx.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. ***************************************************************************/
  24. /* ================================================================ */
  25. /* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
  26. /* ================================================================ */
  27. /*
  28. * NOTE 1:
  29. * -------
  30. *
  31. * Nothing in this file is intended to be modified or adjusted by the
  32. * curl library user nor by the curl library builder.
  33. *
  34. * If you think that something actually needs to be changed, adjusted
  35. * or fixed in this file, then, report it on the libcurl development
  36. * mailing list: http://cool.haxx.se/mailman/listinfo/curl-library/
  37. *
  38. * This header file shall only export symbols which are 'curl' or 'CURL'
  39. * prefixed, otherwise public name space would be polluted.
  40. *
  41. * NOTE 2:
  42. * -------
  43. *
  44. * Right now you might be staring at file include/curl/curlbuild.h.in or
  45. * at file include/curl/curlbuild.h, this is due to the following reason:
  46. *
  47. * On systems capable of running the configure script, the configure process
  48. * will overwrite the distributed include/curl/curlbuild.h file with one that
  49. * is suitable and specific to the library being configured and built, which
  50. * is generated from the include/curl/curlbuild.h.in template file.
  51. *
  52. */
  53. /* ================================================================ */
  54. /* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
  55. /* ================================================================ */
  56. #ifdef CURL_SIZEOF_LONG
  57. #error "CURL_SIZEOF_LONG shall not be defined except in curlbuild.h"
  58. Error Compilation_aborted_CURL_SIZEOF_LONG_already_defined
  59. #endif
  60. #ifdef CURL_TYPEOF_CURL_SOCKLEN_T
  61. #error "CURL_TYPEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
  62. Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_already_defined
  63. #endif
  64. #ifdef CURL_SIZEOF_CURL_SOCKLEN_T
  65. #error "CURL_SIZEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
  66. Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_already_defined
  67. #endif
  68. #ifdef CURL_TYPEOF_CURL_OFF_T
  69. #error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
  70. Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_already_defined
  71. #endif
  72. #ifdef CURL_FORMAT_CURL_OFF_T
  73. #error "CURL_FORMAT_CURL_OFF_T shall not be defined except in curlbuild.h"
  74. Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_already_defined
  75. #endif
  76. #ifdef CURL_FORMAT_CURL_OFF_TU
  77. #error "CURL_FORMAT_CURL_OFF_TU shall not be defined except in curlbuild.h"
  78. Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_already_defined
  79. #endif
  80. #ifdef CURL_FORMAT_OFF_T
  81. #error "CURL_FORMAT_OFF_T shall not be defined except in curlbuild.h"
  82. Error Compilation_aborted_CURL_FORMAT_OFF_T_already_defined
  83. #endif
  84. #ifdef CURL_SIZEOF_CURL_OFF_T
  85. #error "CURL_SIZEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
  86. Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_already_defined
  87. #endif
  88. #ifdef CURL_SUFFIX_CURL_OFF_T
  89. #error "CURL_SUFFIX_CURL_OFF_T shall not be defined except in curlbuild.h"
  90. Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_already_defined
  91. #endif
  92. #ifdef CURL_SUFFIX_CURL_OFF_TU
  93. #error "CURL_SUFFIX_CURL_OFF_TU shall not be defined except in curlbuild.h"
  94. Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_already_defined
  95. #endif
  96. /* ================================================================ */
  97. /* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
  98. /* ================================================================ */
  99. /* Configure process defines this to 1 when it finds out that system */
  100. /* header file ws2tcpip.h must be included by the external interface. */
  101. /* #undef CURL_PULL_WS2TCPIP_H */
  102. #ifdef CURL_PULL_WS2TCPIP_H
  103. # ifndef WIN32_LEAN_AND_MEAN
  104. # define WIN32_LEAN_AND_MEAN
  105. # endif
  106. # include <windows.h>
  107. # include <winsock2.h>
  108. # include <ws2tcpip.h>
  109. #endif
  110. /* Configure process defines this to 1 when it finds out that system */
  111. /* header file sys/types.h must be included by the external interface. */
  112. #define CURL_PULL_SYS_TYPES_H
  113. #ifdef CURL_PULL_SYS_TYPES_H
  114. # include <sys/types.h>
  115. #endif
  116. /* Configure process defines this to 1 when it finds out that system */
  117. /* header file stdint.h must be included by the external interface. */
  118. #define CURL_PULL_STDINT_H
  119. #ifdef CURL_PULL_STDINT_H
  120. # include <stdint.h>
  121. #endif
  122. /* Configure process defines this to 1 when it finds out that system */
  123. /* header file inttypes.h must be included by the external interface. */
  124. #define CURL_PULL_INTTYPES_H
  125. #ifdef CURL_PULL_INTTYPES_H
  126. # include <inttypes.h>
  127. #endif
  128. /* Configure process defines this to 1 when it finds out that system */
  129. /* header file sys/socket.h must be included by the external interface. */
  130. #define CURL_PULL_SYS_SOCKET_H
  131. #ifdef CURL_PULL_SYS_SOCKET_H
  132. # include <sys/socket.h>
  133. #endif
  134. /* Configure process defines this to 1 when it finds out that system */
  135. /* header file sys/poll.h must be included by the external interface. */
  136. #define CURL_PULL_SYS_POLL_H
  137. #ifdef CURL_PULL_SYS_POLL_H
  138. # include <sys/poll.h>
  139. #endif
  140. /* The size of `long', as computed by sizeof. */
  141. #define CURL_SIZEOF_LONG 8
  142. /* Integral data type used for curl_socklen_t. */
  143. #define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
  144. /* The size of `curl_socklen_t', as computed by sizeof. */
  145. #define CURL_SIZEOF_CURL_SOCKLEN_T 4
  146. /* Data type definition of curl_socklen_t. */
  147. typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
  148. /* Signed integral data type used for curl_off_t. */
  149. #define CURL_TYPEOF_CURL_OFF_T long long
  150. /* Data type definition of curl_off_t. */
  151. typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
  152. /* curl_off_t formatting string directive without "%" conversion specifier. */
  153. #define CURL_FORMAT_CURL_OFF_T "lld"
  154. /* unsigned curl_off_t formatting string without "%" conversion specifier. */
  155. #define CURL_FORMAT_CURL_OFF_TU "llu"
  156. /* curl_off_t formatting string directive with "%" conversion specifier. */
  157. #define CURL_FORMAT_OFF_T "%lld"
  158. /* The size of `curl_off_t', as computed by sizeof. */
  159. #define CURL_SIZEOF_CURL_OFF_T 8
  160. /* curl_off_t constant suffix. */
  161. #define CURL_SUFFIX_CURL_OFF_T LL
  162. /* unsigned curl_off_t constant suffix. */
  163. #define CURL_SUFFIX_CURL_OFF_TU ULL
  164. #endif /* __CURL_CURLBUILD_H */