20 #ifndef _tds_sysdep_public_h_
21 #define _tds_sysdep_public_h_
23 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
28 #elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
29 # include <winsock2.h>
30 # include <ws2tcpip.h>
32 typedef signed short int16_t;
33 typedef unsigned short uint16_t;
34 typedef signed int int32_t;
35 typedef unsigned int uint32_t;
36 typedef signed __int64 int64_t;
37 typedef unsigned __int64 uint64_t;
38 # if !defined(WIN64) && !defined(_WIN64)
39 typedef signed int intptr_t;
40 typedef unsigned int uintptr_t;
42 typedef signed __int64 intptr_t;
43 typedef unsigned __int64 uintptr_t;
46 typedef signed short int16_t;
47 typedef unsigned short uint16_t;
48 typedef signed int int32_t;
49 typedef unsigned int uint32_t;
50 typedef signed long int64_t;
51 typedef unsigned long uint64_t;
52 typedef signed long intptr_t;
53 typedef unsigned long uintptr_t;
60 # if FLT_MANT_DIG == 24 && FLT_MAX_EXP == 128
61 # define tds_sysdep_real32_type float
62 # elif DBL_MANT_DIG == 24 && DBL_MAX_EXP == 128
63 # define tds_sysdep_real32_type double
64 # elif LDBL_MANT_DIG == 24 && LDBL_MAX_EXP == 128
65 # define tds_sysdep_real32_type long double
67 # if FLT_MANT_DIG == 53 && FLT_MAX_EXP == 1024
68 # define tds_sysdep_real64_type float
69 # elif DBL_MANT_DIG == 53 && DBL_MAX_EXP == 1024
70 # define tds_sysdep_real64_type double
71 # elif LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
72 # define tds_sysdep_real64_type long double
74 # if !defined(tds_sysdep_real32_type) || !defined(tds_sysdep_real64_type)
75 # error Some float type was not found!
78 # if FLT_DIG == 6 && FLT_MAX_10_EXP == 38
79 # define tds_sysdep_real32_type float
80 # elif DBL_DIG == 6 && DBL_MAX_10_EXP == 38
81 # define tds_sysdep_real32_type double
82 # elif LDBL_DIG == 6 && LDBL_MAX_10_EXP == 38
83 # define tds_sysdep_real32_type long double
85 # if FLT_DIG == 15 && FLT_MAX_10_EXP == 308
86 # define tds_sysdep_real64_type float
87 # elif DBL_DIG == 15 && DBL_MAX_10_EXP == 308
88 # define tds_sysdep_real64_type double
89 # elif LDBL_DIG == 15 && LDBL_MAX_10_EXP == 308
90 # define tds_sysdep_real64_type long double
95 #ifndef tds_sysdep_real32_type
96 #define tds_sysdep_real32_type float
99 #ifndef tds_sysdep_real64_type
100 #define tds_sysdep_real64_type double
103 #if !defined(MSDBLIB) && !defined(SYBDBLIB)
106 #if defined(MSDBLIB) && defined(SYBDBLIB)
107 #error MSDBLIB and SYBDBLIB cannot both be defined