00001 #ifndef __GLOBAL_H__
00002 #define __GLOBAL_H__
00003
00004 #include <QtGlobal>
00005
00006 static inline quint32 READINT32(const char *pointer)
00007 {
00008 return ((quint32((quint8)(*pointer))) | (quint32(quint8(*(pointer+1)))<<8) | (quint32(quint8(*(pointer+2)))<<16) | (quint32(quint8(*(pointer+3)))<<24));
00009 }
00010 static inline quint16 READINT16(const char *pointer)
00011 {
00012 return ((quint16((quint8)(*pointer))) | (quint16(quint8(*(pointer+1)))<<8));
00013 }
00014 static inline quint16 READBIGINT16(const char *pointer)
00015 {
00016 return ((quint16((quint8)(*pointer))<<8) | (quint16(quint8(*(pointer+1)))));
00017 }
00018 static inline quint8 READINT8(const char *pointer)
00019 {
00020 return quint8(*pointer);
00021 }
00022
00023 #define WRITEINT32_DIRECT(integer) (quint8)(integer&0xFF),(quint8)((integer>>8)&0xFF),(quint8)((integer>>16)&0xFF),(quint8)((integer>>24)&0xFF)
00024 #define WRITEINT16_DIRECT(integer) (quint8)(integer&0xFF),(quint8)((integer>>8)&0xFF)
00025 #define WRITEINT8_DIRECT(integer) (quint8)(integer&0xFF)
00026
00027 static inline void WRITEINT32(char *pointer, const quint32 integer)
00028 {
00029 *pointer = (quint8)(integer&0xFF);
00030 *(pointer+1) = (quint8)((integer>>8)&0xFF);
00031 *(pointer+2) = (quint8)((integer>>16)&0xFF);
00032 *(pointer+3) = (quint8)((integer>>24)&0xFF);
00033 }
00034 static inline void WRITEINT16(char *pointer, const quint16 integer)
00035 {
00036 *pointer = (quint8)(integer&0xFF);
00037 *(pointer+1) = (quint8)((integer>>8)&0xFF);
00038 }
00039 static inline void WRITEINT8(char *pointer, const quint8 integer)
00040 {
00041 *pointer = (quint8)(integer&0xFF);
00042 }
00043
00044 static inline quint32 MAKEID(quint8 a, quint8 b, quint8 c, quint8 d)
00045 {
00046 return (quint32(a)|(quint32(b)<<8)|(quint32(c)<<16)|(quint32(d)<<24));
00047 }
00048
00049
00050 #ifdef Q_OS_WIN32
00051 #ifdef MODE_MAIN
00052 #define MAIN_EXPORT __declspec(dllexport)
00053 #define PLUGIN_EXPORT __declspec(dllimport)
00054 #else
00055 #define MAIN_EXPORT __declspec(dllimport)
00056 #define PLUGIN_EXPORT __declspec(dllexport)
00057 #endif
00058 #else
00059 #define MAIN_EXPORT
00060 #define PLUGIN_EXPORT
00061 #endif
00062
00063 #endif