libkate
0.3.8
|
00001 /* Copyright (C) 2008 Vincent Penquerc'h. 00002 This file is part of the Kate codec library. 00003 Written by Vincent Penquerc'h. 00004 00005 Use, distribution and reproduction of this library is governed 00006 by a BSD style source license included with this source in the 00007 file 'COPYING'. Please read these terms before distributing. */ 00008 00009 #ifndef KATE_kate_config_h_GUARD 00010 #define KATE_kate_config_h_GUARD 00011 00012 #ifdef HAVE_CONFIG_H 00013 #include "config.h" 00014 #endif 00015 00016 #include <stddef.h> 00017 #include <limits.h> 00018 #include <sys/types.h> 00019 00020 #ifdef HAVE_INTTYPES_H 00021 #include <inttypes.h> 00022 #endif 00023 00024 #ifdef HAVE_STDINT_H 00025 #include <stdint.h> 00026 #endif 00027 00028 #ifdef KATE_INTERNAL 00029 #define kate_const 00030 #else 00031 #define kate_const const 00032 #endif 00033 00034 #ifndef kate_malloc 00035 #define kate_malloc malloc 00036 #endif 00037 #ifndef kate_realloc 00038 #define kate_realloc realloc 00039 #endif 00040 #ifndef kate_free 00041 #define kate_free free 00042 #endif 00043 00044 #if defined HAVE_STDINT_H || defined HAVE_INTTYPES_H 00045 typedef int32_t kate_int32_t; 00046 #elif defined int32_t 00047 typedef int32_t kate_int32_t; 00048 #elif defined INT_MAX && INT_MAX==2147483647 00049 typedef int kate_int32_t; 00050 #elif defined SHRT_MAX && SHRT_MAX==2147483647 00051 typedef short int kate_int32_t; 00052 #elif defined LONG_MAX && LONG_MAX==2147483647 00053 typedef long int kate_int32_t; 00054 #elif defined LLONG_MAX && LLONG_MAX==2147483647 00055 typedef long long int kate_int32_t; 00056 #else 00057 #error No 32 bit signed integer found 00058 #endif 00059 00060 #if defined HAVE_STDINT_H || defined HAVE_INTTYPES_H 00061 typedef uint32_t kate_uint32_t; 00062 #elif defined uint32_t 00063 typedef uint32_t kate_uint32_t; 00064 #elif defined UINT_MAX && UINT_MAX==4294967295u 00065 typedef unsigned int kate_uint32_t; 00066 #elif defined USHRT_MAX && USHRT_MAX==4294967295u 00067 typedef short unsigned int kate_uint32_t; 00068 #elif defined ULONG_MAX && ULONG_MAX==4294967295ul 00069 typedef long unsigned int kate_uint32_t; 00070 #elif defined ULLONG_MAX && ULLONG_MAX==4294967295ull 00071 typedef long long unsigned int kate_uint32_t; 00072 #else 00073 #error No 32 bit unsigned integer found 00074 #endif 00075 00076 #if defined HAVE_STDINT_H || defined HAVE_INTTYPES_H 00077 typedef int64_t kate_int64_t; 00078 #elif defined int64_t 00079 typedef int64_t kate_int64_t; 00080 #elif defined INT_MAX && INT_MAX>2147483647 00081 typedef int kate_int64_t; 00082 #elif defined SHRT_MAX && SHRT_MAX>2147483647 00083 typedef short int kate_int64_t; 00084 #elif defined LONG_MAX && LONG_MAX>2147483647 00085 typedef long int kate_int64_t; 00086 #elif defined LLONG_MAX && LLONG_MAX>2147483647 00087 typedef long long int kate_int64_t; 00088 #elif defined LONG_LONG_MAX && LONG_LONG_MAX>2147483647 00089 typedef long long int kate_int64_t; 00090 #elif defined __GNUC__ && __GNUC__>=4 && defined __WORDSIZE && __WORDSIZE==64 00091 /* this case matches glibc, check conservative GCC version just in case */ 00092 typedef long int kate_int64_t; 00093 #elif defined __GNUC__ && __GNUC__>=4 && defined __WORDSIZE && __WORDSIZE==32 00094 /* this case matches glibc, check conservative GCC version just in case */ 00095 typedef long long int kate_int64_t; 00096 #else 00097 #error No 64 bit signed integer found 00098 #endif 00099 00100 #if defined HAVE_STDINT_H || defined HAVE_INTTYPES_H 00101 typedef uint64_t kate_uint64_t; 00102 #elif defined uint64_t 00103 typedef uint64_t kate_uint64_t; 00104 #elif defined UINT_MAX && UINT_MAX>2147483647 00105 typedef unsigned int kate_uint64_t; 00106 #elif defined USHRT_MAX && USHRT_MAX>2147483647 00107 typedef unsigned short int kate_uint64_t; 00108 #elif defined ULONG_MAX && ULONG_MAX>2147483647 00109 typedef unsigned long int kate_uint64_t; 00110 #elif defined ULLONG_MAX && ULLONG_MAX>2147483647 00111 typedef unsigned long long int kate_uint64_t; 00112 #elif defined ULONG_LONG_MAX && ULONG_LONG_MAX>2147483647 00113 typedef unsigned long long int kate_uint64_t; 00114 #elif defined __GNUC__ && __GNUC__>=4 && defined __WORDSIZE && __WORDSIZE==64 00115 /* this case matches glibc, check conservative GCC version just in case */ 00116 typedef unsigned long int kate_uint64_t; 00117 #elif defined __GNUC__ && __GNUC__>=4 && defined __WORDSIZE && __WORDSIZE==32 00118 /* this case matches glibc, check conservative GCC version just in case */ 00119 typedef unsigned long long int kate_uint64_t; 00120 #else 00121 #error No 64 bit unsigned signed integer found 00122 #endif 00123 00124 #if defined HAVE_STDINT_H || defined HAVE_INTTYPES_H 00125 typedef uintptr_t kate_uintptr_t; 00126 #elif defined uintptr_t 00127 typedef uintptr_t kate_uintptr_t; 00128 #else 00129 typedef size_t kate_uintptr_t; 00130 #endif 00131 00132 typedef float kate_float; 00133 00134 #endif 00135