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
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #if defined(PN_DEFINE_STDINT)
00037 #define PNI_DEFINE_STDINT
00038 #endif
00039 #if defined(PN_INCLUDE_STDINT)
00040 #define PNI_INCLUDE_STDINT)
00041 #endif
00042 #if defined(PN_DEFINE_SSIZE_T)
00043 #define PNI_DEFINE_SSIZE_T
00044 #endif
00045
00046
00047 #ifndef _MSC_VER
00048
00049 #ifndef PNI_INCLUDE_STDINT
00050 #define PNI_INCLUDE_STDINT
00051 #endif
00052 #else
00053
00054 #ifndef PNI_DEFINE_SSIZE_T
00055
00056 #ifndef Py_CONFIG_H
00057 #define PNI_DEFINE_SSIZE_T
00058 #endif
00059 #endif
00060
00061 #if (_MSC_VER < 1600)
00062
00063 #ifndef PNI_DEFINE_STDINT
00064 #define PNI_DEFINE_STDINT
00065 #endif
00066 #else
00067
00068 #ifndef PNI_INCLUDE_STDINT
00069 #define PNI_INCLUDE_STDINT
00070 #endif
00071
00072 #endif // (_MSC_VER < 1600)
00073 #endif //_MSC_VER
00074
00075
00076 #ifdef PN_NODEFINE_SSIZE_T
00077 #undef PNI_DEFINE_SSIZE_T
00078 #endif
00079 #ifdef PN_NODEFINE_STDINT
00080 #undef PNI_DEFINE_STDINT
00081 #endif
00082 #ifdef PN_NOINCLUDE_STDINT
00083 #undef PNI_INCLUDE_STDINT
00084 #endif
00085
00086 #ifdef PNI_INCLUDE_STDINT
00087 #include <stdint.h>
00088 #endif
00089
00090 #ifdef PNI_DEFINE_SSIZE_T
00091 #ifdef _MSC_VER
00092 #include <BaseTsd.h>
00093 typedef SSIZE_T ssize_t;
00094 #else
00095 #error ssize_t definition not kown
00096 #endif
00097 #endif // PNI_DEFINE_SSIZE_T
00098
00099 #ifdef PNI_DEFINE_STDINT
00100 #ifdef _MSC_VER
00101
00102 typedef signed __int8 int8_t;
00103 typedef signed __int16 int16_t;
00104 typedef signed __int32 int32_t;
00105 typedef signed __int64 int64_t;
00106
00107 typedef unsigned __int8 uint8_t;
00108 typedef unsigned __int16 uint16_t;
00109 typedef unsigned __int32 uint32_t;
00110 typedef unsigned __int64 uint64_t;
00111
00112 #else // _MSC_VER
00113 #error stdint.h definitions not kown
00114 #endif
00115 #endif // PNI_DEFINE_SSIZE_T
00116
00117 #endif