MADARA  3.4.1
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_