Commit d0fe4071 authored by Yang Tse's avatar Yang Tse
Browse files

curl_socklen_t follow-up

parent 3d491c47
Loading
Loading
Loading
Loading
+296 −246
Original line number Diff line number Diff line
@@ -114,6 +114,16 @@
   Error Compilation_aborted_CURL_SIZEOF_LONG_already_defined
#endif

#ifdef CURL_TYPEOF_CURL_SOCKLEN_T
#  error "CURL_TYPEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
   Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_already_defined
#endif

#ifdef CURL_SIZEOF_CURL_SOCKLEN_T
#  error "CURL_SIZEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
   Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_already_defined
#endif

#ifdef CURL_TYPEOF_CURL_OFF_T
#  error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
   Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_already_defined
@@ -173,6 +183,8 @@
#    define CURL_SUFFIX_CURL_OFF_T     L
#    define CURL_SUFFIX_CURL_OFF_TU    UL
#  endif
#  define CURL_TYPEOF_CURL_SOCKLEN_T int
#  define CURL_SIZEOF_CURL_SOCKLEN_T 4

#elif defined(__SALFORDC__)
#  define CURL_SIZEOF_LONG           4
@@ -183,6 +195,8 @@
#  define CURL_SIZEOF_CURL_OFF_T     4
#  define CURL_SUFFIX_CURL_OFF_T     L
#  define CURL_SUFFIX_CURL_OFF_TU    UL
#  define CURL_TYPEOF_CURL_SOCKLEN_T FIXME
#  define CURL_SIZEOF_CURL_SOCKLEN_T -1

#elif defined(__BORLANDC__)
#  if (__BORLANDC__ < 0x520)
@@ -204,6 +218,8 @@
#    define CURL_SUFFIX_CURL_OFF_T     i64
#    define CURL_SUFFIX_CURL_OFF_TU    ui64
#  endif
#  define CURL_TYPEOF_CURL_SOCKLEN_T FIXME
#  define CURL_SIZEOF_CURL_SOCKLEN_T -1

#elif defined(__TURBOC__)
#  define CURL_SIZEOF_LONG           4
@@ -214,6 +230,8 @@
#  define CURL_SIZEOF_CURL_OFF_T     4
#  define CURL_SUFFIX_CURL_OFF_T     L
#  define CURL_SUFFIX_CURL_OFF_TU    UL
#  define CURL_TYPEOF_CURL_SOCKLEN_T FIXME
#  define CURL_SIZEOF_CURL_SOCKLEN_T -1

#elif defined(__WATCOMC__)
#  if defined(__386__)
@@ -235,6 +253,8 @@
#    define CURL_SUFFIX_CURL_OFF_T     L
#    define CURL_SUFFIX_CURL_OFF_TU    UL
#  endif
#  define CURL_TYPEOF_CURL_SOCKLEN_T FIXME
#  define CURL_SIZEOF_CURL_SOCKLEN_T -1

#elif defined(__POCC__)
#  if (__POCC__ < 280)
@@ -265,6 +285,8 @@
#    define CURL_SUFFIX_CURL_OFF_T     LL
#    define CURL_SUFFIX_CURL_OFF_TU    ULL
#  endif
#  define CURL_TYPEOF_CURL_SOCKLEN_T FIXME
#  define CURL_SIZEOF_CURL_SOCKLEN_T -1

#elif defined(__LCC__)
#  define CURL_SIZEOF_LONG           4
@@ -275,6 +297,8 @@
#  define CURL_SIZEOF_CURL_OFF_T     4
#  define CURL_SUFFIX_CURL_OFF_T     L
#  define CURL_SUFFIX_CURL_OFF_TU    UL
#  define CURL_TYPEOF_CURL_SOCKLEN_T FIXME
#  define CURL_SIZEOF_CURL_SOCKLEN_T -1

#elif defined(__SYMBIAN32__)
#  if defined(__EABI__)  /* Treat all ARM compilers equally */
@@ -306,6 +330,8 @@
#    define CURL_SUFFIX_CURL_OFF_T     LL
#    define CURL_SUFFIX_CURL_OFF_TU    ULL
#  endif
#  define CURL_TYPEOF_CURL_SOCKLEN_T FIXME
#  define CURL_SIZEOF_CURL_SOCKLEN_T -1

#elif defined(__MWERKS__)
#  define CURL_SIZEOF_LONG           4
@@ -316,6 +342,8 @@
#  define CURL_SIZEOF_CURL_OFF_T     8
#  define CURL_SUFFIX_CURL_OFF_T     LL
#  define CURL_SUFFIX_CURL_OFF_TU    ULL
#  define CURL_TYPEOF_CURL_SOCKLEN_T FIXME
#  define CURL_SIZEOF_CURL_SOCKLEN_T -1

#elif defined(_WIN32_WCE)
#  define CURL_SIZEOF_LONG           4
@@ -326,6 +354,8 @@
#  define CURL_SIZEOF_CURL_OFF_T     8
#  define CURL_SUFFIX_CURL_OFF_T     i64
#  define CURL_SUFFIX_CURL_OFF_TU    ui64
#  define CURL_TYPEOF_CURL_SOCKLEN_T FIXME
#  define CURL_SIZEOF_CURL_SOCKLEN_T -1

#elif defined(__MINGW32__)
#  define CURL_SIZEOF_LONG           4
@@ -336,6 +366,8 @@
#  define CURL_SIZEOF_CURL_OFF_T     8
#  define CURL_SUFFIX_CURL_OFF_T     LL
#  define CURL_SUFFIX_CURL_OFF_TU    ULL
#  define CURL_TYPEOF_CURL_SOCKLEN_T FIXME
#  define CURL_SIZEOF_CURL_SOCKLEN_T -1

#elif defined(__VMS)
#  if defined(__alpha) || defined(__ia64)
@@ -357,6 +389,8 @@
#    define CURL_SUFFIX_CURL_OFF_T     L
#    define CURL_SUFFIX_CURL_OFF_TU    UL
#  endif
#  define CURL_TYPEOF_CURL_SOCKLEN_T FIXME
#  define CURL_SIZEOF_CURL_SOCKLEN_T -1

#elif defined(__OS400__)
#  if defined(__ILEC400__)
@@ -369,6 +403,8 @@
#    define CURL_SUFFIX_CURL_OFF_T     LL
#    define CURL_SUFFIX_CURL_OFF_TU    ULL
#  endif
#  define CURL_TYPEOF_CURL_SOCKLEN_T FIXME
#  define CURL_SIZEOF_CURL_SOCKLEN_T -1

#elif defined(__MVS__)
#  if defined(__IBMC__) || defined(__IBMCPP__)
@@ -403,6 +439,8 @@
#      define CURL_SUFFIX_CURL_OFF_TU    UL
#    endif
#  endif
#  define CURL_TYPEOF_CURL_SOCKLEN_T FIXME
#  define CURL_SIZEOF_CURL_SOCKLEN_T -1

#elif defined(__370__)
#  if defined(__IBMC__) || defined(__IBMCPP__)
@@ -437,6 +475,8 @@
#      define CURL_SUFFIX_CURL_OFF_TU    UL
#    endif
#  endif
#  define CURL_TYPEOF_CURL_SOCKLEN_T FIXME
#  define CURL_SIZEOF_CURL_SOCKLEN_T -1

/* ===================================== */
/*    KEEP MSVC THE PENULTIMATE ENTRY    */
@@ -462,6 +502,8 @@
#    define CURL_SUFFIX_CURL_OFF_T     L
#    define CURL_SUFFIX_CURL_OFF_TU    UL
#  endif
#  define CURL_TYPEOF_CURL_SOCKLEN_T int
#  define CURL_SIZEOF_CURL_SOCKLEN_T 4

/* ===================================== */
/*    KEEP GENERIC GCC THE LAST ENTRY    */
@@ -487,12 +529,20 @@
#    define CURL_SUFFIX_CURL_OFF_T     L
#    define CURL_SUFFIX_CURL_OFF_TU    UL
#  endif
#  define CURL_TYPEOF_CURL_SOCKLEN_T FIXME
#  define CURL_SIZEOF_CURL_SOCKLEN_T -1

#else
#  error "Unknown non-configure build target!"
   Error Compilation_aborted_Unknown_non_configure_build_target
#endif

/* Data type definition of curl_socklen_t. */

#ifdef CURL_TYPEOF_CURL_SOCKLEN_T
  typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
#endif

/* Data type definition of curl_off_t. */

#ifdef CURL_TYPEOF_CURL_OFF_T
+15 −0
Original line number Diff line number Diff line
@@ -112,6 +112,18 @@
/*  EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY  */
/* ================================================================ */

/* Configure process defines this to 1 when it finds out that system  */
/* header file ws2tcpip.h must be included by the external interface. */
#undef CURL_PULL_WS2TCPIP_H
#ifdef CURL_PULL_WS2TCPIP_H
#  ifndef WIN32_LEAN_AND_MEAN
#    define WIN32_LEAN_AND_MEAN
#  endif
#  include <windows.h>
#  include <winsock2.h>
#  include <ws2tcpip.h>
#endif

/* Configure process defines this to 1 when it finds out that system   */
/* header file sys/types.h must be included by the external interface. */
#undef CURL_PULL_SYS_TYPES_H
@@ -149,6 +161,9 @@
/* The size of `curl_socklen_t', as computed by sizeof. */
#undef CURL_SIZEOF_CURL_SOCKLEN_T

/* Data type definition of curl_socklen_t. */
typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;

/* Signed integral data type used for curl_off_t. */
#undef CURL_TYPEOF_CURL_OFF_T

+34 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@
 *                            | (__| |_| |  _ <| |___
 *                             \___|\___/|_| \_\_____|
 *
 * Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
 * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
 *
 * This software is licensed as described in the file COPYING, which
 * you should have received as part of this distribution. The terms
@@ -81,6 +81,16 @@
   Error Compilation_aborted_CURL_SIZEOF_LONG_is_missing
#endif

#ifndef CURL_TYPEOF_CURL_SOCKLEN_T
#  error "CURL_TYPEOF_CURL_SOCKLEN_T definition is missing!"
   Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_is_missing
#endif

#ifndef CURL_SIZEOF_CURL_SOCKLEN_T
#  error "CURL_SIZEOF_CURL_SOCKLEN_T definition is missing!"
   Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_is_missing
#endif

#ifndef CURL_TYPEOF_CURL_OFF_T
#  error "CURL_TYPEOF_CURL_OFF_T definition is missing!"
   Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_is_missing
@@ -153,6 +163,26 @@ typedef char
  __curl_rule_03__
    [CurlchkszGE(curl_off_t, long)];

/*
 * Verify that the size previously defined and expected for
 * curl_socklen_t is actually the the same as the one reported
 * by sizeof() at compile time.
 */

typedef char
  __curl_rule_04__
    [CurlchkszEQ(curl_socklen_t, CURL_SIZEOF_CURL_SOCKLEN_T)];

/*
 * Verify at compile time that the size of curl_socklen_t as reported
 * by sizeof() is greater or equal than the one reported for int for
 * the current compilation.
 */

typedef char
  __curl_rule_05__
    [CurlchkszGE(curl_socklen_t, int)];

/* ================================================================ */
/*          EXTERNALLY AND INTERNALLY VISIBLE DEFINITIONS           */
/* ================================================================ */
@@ -207,10 +237,13 @@ typedef char
 * Get rid of macros not intended to exist beyond this point.
 */

#undef CURL_PULL_WS2TCPIP_H
#undef CURL_PULL_SYS_TYPES_H
#undef CURL_PULL_SYS_SOCKET_H
#undef CURL_PULL_STDINT_H
#undef CURL_PULL_INTTYPES_H

#undef CURL_TYPEOF_CURL_SOCKLEN_T
#undef CURL_TYPEOF_CURL_OFF_T

#endif /* __CURL_CURLRULES_H */