1 /* 2 * SpanDSP - a series of DSP components for telephony 3 * 4 * inttypes.h - a fudge for MSVC, which lacks this header 5 * 6 * Written by Steve Underwood <steveu@coppice.org> 7 * 8 * Copyright (C) 2006 Michael Jerris 9 * 10 * 11 * This file is released in the public domain. 12 * 13 */ 14 15 #if !defined(_INTTYPES_H_) 16 #define _INTTYPES_H_ 17 18 #ifdef __cplusplus 19 extern "C" { 20 #endif 21 22 #if defined(_MSC_VER) && _MSC_VER >= 1900 23 #include <stdint.h> 24 #else 25 26 typedef __int8 __int8_t; 27 typedef __int16 __int16_t; 28 typedef __int32 __int32_t; 29 typedef __int64 __int64_t; 30 31 typedef unsigned __int8 uint8_t; 32 typedef unsigned __int16 uint16_t; 33 typedef unsigned __int32 uint32_t; 34 typedef unsigned __int64 uint64_t; 35 typedef __int8 int8_t; 36 typedef __int16 int16_t; 37 typedef __int32 int32_t; 38 typedef __int64 int64_t; 39 40 #endif 41 #if !defined(INFINITY) && _MSC_VER < 1800 42 #define INFINITY 0x7FFFFFFF 43 #endif 44 45 #if !defined(UINT8_MAX) 46 #define UINT8_MAX 0xFF 47 #endif 48 #if !defined(UINT16_MAX) 49 #define UINT16_MAX 0xFFFF 50 #endif 51 #if !defined(UINT32_MAX) 52 #define UINT32_MAX 0xFFFFFFFF 53 #endif 54 55 #if !defined(INT16_MAX) 56 #define INT16_MAX 0x7FFF 57 #endif 58 #if !defined(INT16_MIN) 59 #define INT16_MIN (-INT16_MAX - 1) 60 #endif 61 62 #if !defined(INT32_MAX) 63 #define INT32_MAX (2147483647) 64 #endif 65 #if !defined(INT32_MIN) 66 #define INT32_MIN (-2147483647 - 1) 67 #endif 68 69 #define PRId8 "d" 70 #define PRId16 "d" 71 #define PRId32 "ld" 72 #define PRId64 "lld" 73 74 #define PRIu8 "u" 75 #define PRIu16 "u" 76 #define PRIu32 "lu" 77 #define PRIu64 "llu" 78 79 #ifdef __cplusplus 80 } 81 #endif 82 83 #endif 84