MADARA  3.2.3
IntTypes.h
Go to the documentation of this file.
1 
2 #ifndef _MADARA_INTTYPES_H_
3 #define _MADARA_INTTYPES_H_
4 
5 // Because Microsoft decided to not support inttypes.h
6 // from VS 2003 until VS 2012, we simply typedef the
7 // symbols that are supported in all MS products when
8 // we know we have a MS compiler
9 
10 #ifdef _MSC_VER
11 
12  #if (_MSC_VER <= 1600)
13 
14  #ifndef PRIu64
15 
16  #define PRId32 "I32d"
17  #define PRIi32 "I32i"
18  #define PRIo32 "I32o"
19  #define PRIu32 "I32u"
20  #define PRIx32 "I32x"
21  #define PRIX32 "I32X"
22 
23  #define PRId64 "I64d"
24  #define PRIi64 "I64i"
25  #define PRIo64 "I64o"
26  #define PRIu64 "I64u"
27  #define PRIx64 "I64x"
28  #define PRIX64 "I64X"
29  #include <BaseTsd.h>
30  #if !defined (ssize_t)
31  typedef SSIZE_T ssize_t;
32  #endif
33 
34  #endif // ! ifndef PRIu64
35 
36  #else // (MSC_VER > 1600)
37 
38  // otherwise, we do something more logical
39  #include <inttypes.h>
40  #include <stddef.h>
41  #include <BaseTsd.h>
42 # if !defined (ssize_t)
43  typedef SSIZE_T ssize_t;
44 # endif
45  #endif // (MSC_VER <= 1600)
46 
47 #else // !_MSC_VER
48 
49  // otherwise, we do something more logical
50  #include <inttypes.h>
51  #include <stddef.h>
52 
53 #endif // _MSC_VER
54 
55 #endif // _MADARA_INTTYPES_H_