00001
00014 #ifndef __EMAITYPES_H__
00015 #define __EMAITYPES_H__
00016
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020
00024 enum EmaiEnumNullOptions
00025 {
00026 EmaiNullOptions = 0
00027 };
00028
00032 enum EmaiEnumStructureVersion
00033 {
00034 EmaiStructureVersionFirst = 1,
00035 EmaiStructureVersionCurrent = EmaiStructureVersionFirst
00036 };
00037
00038 #if defined(WIN32)
00039
00040 #define EMAIAPI(_type) _type __cdecl
00041 #define EMAICALLBACKAPI(_type, _name) _type (__cdecl *_name)
00042 typedef wchar_t EmaiUniChar;
00043 typedef UINT32 EmaiUint32;
00044 typedef INT32 EmaiSint32;
00045
00046 #elif defined(__MWERKS__)
00047
00048 #define EMAIAPI(_type) extern _type
00049 #define EMAICALLBACKAPI(_type, _name) _type (*_name)
00050 typedef UniChar EmaiUniChar;
00051 typedef UInt32 EmaiUint32;
00052 typedef SInt32 EmaiSint32;
00053
00054 #elif defined(__GNUC__)
00055
00056 #define EMAIAPI(_type) __attribute__((visibility("default"))) _type
00057 #define EMAICALLBACKAPI(_type, _name) _type (*_name)
00058 typedef UniChar EmaiUniChar;
00059 typedef UInt32 EmaiUint32;
00060 typedef SInt32 EmaiSint32;
00061
00062 #else
00063
00064 #error ("Unknown platform")
00065
00066 #endif
00067
00068 typedef EmaiUint32 EmaiOptions;
00069 typedef const EmaiUniChar* EmaiConstUniCharPtr;
00070 typedef EmaiUniChar* EmaiUniCharPtr;
00071 typedef const char* EmaiConstCharPtr;
00072 typedef char* EmaiCharPtr;
00073 typedef char EmaiChar;
00074
00075 #ifdef __cplusplus
00076 }
00077 #endif
00078
00079 #endif