Go to the documentation of this file.Go to the SVN repository for this file.
20 #ifndef _tds_sysdep_public_h_
21 #define _tds_sysdep_public_h_
28 #if (!defined(_MSC_VER) && defined(__cplusplus) && __cplusplus >= 201103L) || \
29 (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
31 #elif (defined(__sun) && defined(__SVR4)) || defined(__hpux)
39 # if defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
40 # include <winsock2.h>
41 # include <ws2tcpip.h>
64 # if FLT_MANT_DIG == 24 && FLT_MAX_EXP == 128
65 # define tds_sysdep_real32_type float
66 # elif DBL_MANT_DIG == 24 && DBL_MAX_EXP == 128
67 # define tds_sysdep_real32_type double
68 # elif LDBL_MANT_DIG == 24 && LDBL_MAX_EXP == 128
69 # define tds_sysdep_real32_type long double
71 # if FLT_MANT_DIG == 53 && FLT_MAX_EXP == 1024
72 # define tds_sysdep_real64_type float
73 # elif DBL_MANT_DIG == 53 && DBL_MAX_EXP == 1024
74 # define tds_sysdep_real64_type double
75 # elif LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
76 # define tds_sysdep_real64_type long double
78 # if !defined(tds_sysdep_real32_type) || !defined(tds_sysdep_real64_type)
79 # error Some float type was not found!
82 # if FLT_DIG == 6 && FLT_MAX_10_EXP == 38
83 # define tds_sysdep_real32_type float
84 # elif DBL_DIG == 6 && DBL_MAX_10_EXP == 38
85 # define tds_sysdep_real32_type double
86 # elif LDBL_DIG == 6 && LDBL_MAX_10_EXP == 38
87 # define tds_sysdep_real32_type long double
89 # if FLT_DIG == 15 && FLT_MAX_10_EXP == 308
90 # define tds_sysdep_real64_type float
91 # elif DBL_DIG == 15 && DBL_MAX_10_EXP == 308
92 # define tds_sysdep_real64_type double
93 # elif LDBL_DIG == 15 && LDBL_MAX_10_EXP == 308
94 # define tds_sysdep_real64_type long double
99 #ifndef tds_sysdep_real32_type
100 #define tds_sysdep_real32_type float
103 #ifndef tds_sysdep_real64_type
104 #define tds_sysdep_real64_type double
107 #if !defined(MSDBLIB) && !defined(SYBDBLIB)
110 #if defined(MSDBLIB) && defined(SYBDBLIB)
111 #error MSDBLIB and SYBDBLIB cannot both be defined
int16_t Int2
2-byte (16-bit) signed integer
int32_t Int4
4-byte (32-bit) signed integer
uint32_t Uint4
4-byte (32-bit) unsigned integer
uint16_t Uint2
2-byte (16-bit) unsigned integer
int64_t Int8
8-byte (64-bit) signed integer
uint64_t Uint8
8-byte (64-bit) unsigned integer
Defines Limits for the types used in NCBI C/C++ toolkit.