00001 #ifndef PROTON_TYPE_COMPAT_H
00002 #define PROTON_TYPE_COMPAT_H 1
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #if !defined(__cplusplus) && !defined(__bool_true_false_are_defined)
00027 # if __STDC_VERSION__ >= 199901L || __GNUC__ >= 3 || _MSC_VER >=1800
00028 # include <stdbool.h>
00029 # else
00030
00031 # if _MSC_VER
00032 # define bool char
00033 # define false 0
00034 # define true 1
00035 # define __bool_true_false_are_defined
00036 # else
00037 # error "No definitions for bool/true/false"
00038 # endif
00039 # endif
00040 #endif
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052 #if defined(PN_DEFINE_STDINT)
00053 # define PNI_DEFINE_STDINT
00054 #endif
00055 #if defined(PN_INCLUDE_STDINT)
00056 # define PNI_INCLUDE_STDINT)
00057 #endif
00058 #if defined(PN_DEFINE_SSIZE_T)
00059 # define PNI_DEFINE_SSIZE_T
00060 #endif
00061
00062
00063 #ifndef _MSC_VER
00064
00065
00066
00067
00068 #if defined(MBED_BUILD_TIMESTAMP)
00069 # define PNI_DEFINE_SSIZE_T
00070 #else
00071 #include <sys/types.h>
00072 #endif
00073
00074 # ifndef PNI_INCLUDE_STDINT
00075 # define PNI_INCLUDE_STDINT
00076 # endif
00077 #else
00078
00079 # ifndef PNI_DEFINE_SSIZE_T
00080
00081 # ifndef Py_CONFIG_H
00082 # define PNI_DEFINE_SSIZE_T
00083 # endif
00084 # endif
00085
00086 # if (_MSC_VER < 1600)
00087
00088 # ifndef PNI_DEFINE_STDINT
00089 # define PNI_DEFINE_STDINT
00090 # endif
00091 # else
00092
00093 # ifndef PNI_INCLUDE_STDINT
00094 # define PNI_INCLUDE_STDINT
00095 # endif
00096
00097 # endif // (_MSC_VER < 1600)
00098 #endif //_MSC_VER
00099
00100
00101 #ifdef PN_NODEFINE_SSIZE_T
00102 # undef PNI_DEFINE_SSIZE_T
00103 #endif
00104 #ifdef PN_NODEFINE_STDINT
00105 # undef PNI_DEFINE_STDINT
00106 #endif
00107 #ifdef PN_NOINCLUDE_STDINT
00108 # undef PNI_INCLUDE_STDINT
00109 #endif
00110
00111 #ifdef PNI_INCLUDE_STDINT
00112 # include <stdint.h>
00113 #endif
00114
00115 #ifdef PNI_DEFINE_SSIZE_T
00116 # ifdef _MSC_VER
00117 # include <BaseTsd.h>
00118 typedef SSIZE_T ssize_t;
00119 # else
00120 typedef intptr_t ssize_t;
00121 # endif
00122 #endif // PNI_DEFINE_SSIZE_T
00123
00124 #ifdef PNI_DEFINE_STDINT
00125 # ifdef _MSC_VER
00126
00127 typedef signed __int8 int8_t;
00128 typedef signed __int16 int16_t;
00129 typedef signed __int32 int32_t;
00130 typedef signed __int64 int64_t;
00131
00132 typedef unsigned __int8 uint8_t;
00133 typedef unsigned __int16 uint16_t;
00134 typedef unsigned __int32 uint32_t;
00135 typedef unsigned __int64 uint64_t;
00136
00137 # else // _MSC_VER
00138 # error stdint.h definitions not kown
00139 # endif
00140 #endif // PNI_DEFINE_SSIZE_T
00141
00142 #endif