00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef FILE_GLOBAL_H
00026 #define FILE_GLOBAL_H
00027
00028 #include <cstdio>
00029 #include <cstdlib>
00030 #include "utils/bitcompat.h"
00031
00032 #ifdef HAVE_CONFIG_H
00033 #include "../config.h"
00034 #endif
00035
00036 #if BYTEORDER != 1234
00037 #error Sorry, this program work only on little-endian machines
00038 #endif
00039
00040 #ifdef _MSC_VER
00041
00042 #pragma warning( disable : 4786 )
00043
00044 #pragma warning( disable : 4068 )
00045 #endif
00046
00047 #undef HAVE_HDRSTOP
00048 #if defined(_MSC_VER) || defined(__BORLANDC__)
00049 #define HAVE_HDRSTOP
00050 #endif
00051
00052 typedef uint32_t vma_t;
00053 #define VMA_MIN 0
00054 #define VMA_MAX 0xfffffffflu
00055 typedef unsigned char uchar;
00056
00057 #ifdef __GNUC__
00058 #define stricmp strcasecmp
00059 #endif
00060
00061
00062 #define FOR_EACH_BEGIN(type,container,iter) \
00063 { type::iterator __end = container.end(); \
00064 for(type::iterator iter = container.begin(); iter != __end; ++iter) {
00065 #define FOR_EACH_END(type,container,iter) } }
00066
00067 #define FOR_EACH_CONST_BEGIN(type,container,iter) \
00068 { type::const_iterator __end = container.end(); \
00069 for(type::const_iterator iter = container.begin(); iter != __end; ++iter) {
00070 #define FOR_EACH_CONST_END(type,container,iter) } }
00071
00072 #define ALLOF(container) container.begin(),container.end()
00073
00074
00075 #undef __min
00076
00077 template <class T>
00078 inline const T& f77_min(const T& a,const T& b)
00079 {
00080 return (a<b)?a:b;
00081 }
00082
00083 #include "debug.h"
00084
00085 #endif //FILE_GLOBAL_H