00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef __ON2TYPES_H__
00016 #define __ON2TYPES_H__
00017
00018 #ifndef _WIN32_WCE
00019 # include <sys/types.h>
00020 #endif
00021 #ifdef _MSC_VER
00022 # include <basetsd.h>
00023 typedef SSIZE_T ssize_t;
00024 #endif
00025
00026 #ifdef HAVE_INTTYPES_H
00027 # if defined(__cplusplus) && !defined(__STDC_FORMAT_MACROS)
00028 # define __STDC_FORMAT_MACROS
00029 # endif
00030
00031 # include <inttypes.h>
00032 #endif
00033
00036 #if !defined(HAVE_INTTYPES_H) && !defined(INT_T_DEFINED)
00037 # ifdef STRICTTYPES
00038 typedef signed char int8_t;
00039 typedef signed short int16_t;
00040 typedef signed int int32_t;
00041 # else
00042 typedef char int8_t;
00043 typedef short int16_t;
00044 typedef int int32_t;
00045 # endif
00046 typedef unsigned char uint8_t;
00047 typedef unsigned short uint16_t;
00048 typedef unsigned int uint32_t;
00049 #endif
00050
00051 typedef int8_t on2s8;
00052 typedef uint8_t on2u8;
00053 typedef int16_t on2s16;
00054 typedef uint16_t on2u16;
00055 typedef int32_t on2s32;
00056 typedef uint32_t on2u32;
00057 typedef int32_t on2bool;
00058
00059 enum _on2bool {on2false, on2true};
00060
00065 #ifdef UNICODE
00066 # ifdef NO_WCHAR
00067 # error "no non-wchar support added yet"
00068 # else
00069 # ifdef __SYMBIAN32__
00070 # include <stddef.h>
00071 # else
00072 # include <wchar.h>
00073 # endif
00074 typedef wchar_t on2tc;
00075 # define OTC(str) L ## str
00076 # define ON2TC "ls"
00077 # endif
00078 #else
00079 typedef char on2tc;
00080 # define OTC(str) (on2tc*)str
00081 # define ON2TC "s"
00082 #endif
00083
00089 #if defined(HAVE_INTTYPES_H)
00090 # define ON264 PRId64
00091 typedef int64_t on2s64;
00092 typedef uint64_t on2u64;
00093 #elif defined(HASLONGLONG)
00094 # undef PRId64
00095 # define PRId64 "lld"
00096 # define ON264 PRId64
00097 typedef long long on2s64;
00098 typedef unsigned long long on2u64;
00099 #elif defined(_WIN32) || defined(WIN32) || defined(_WIN32_WCE)
00100 # include <limits.h>
00101 # undef INT64_MIN
00102 # define INT64_MIN _I64_MIN
00103 # undef INT64_MAX
00104 # define INT64_MAX _I64_MAX
00105 # undef UINT64_MAX
00106 # define UINT64_MAX _I64_MAX
00107 # undef PRId64
00108 # define PRId64 "I64d"
00109 # define PRIu64 "I64u"
00110 # define ON264 PRId64
00111 typedef __int64 on2s64;
00112 typedef unsigned __int64 on2u64;
00113 #elif defined(__uClinux__) && defined(CHIP_DM642)
00114 # include <lddk.h>
00115 # undef PRId64
00116 # define PRId64 "lld"
00117 # define ON264 PRId64
00118 typedef long on2s64;
00119 typedef unsigned long on2u64;
00120 #elif defined(__SYMBIAN32__)
00121 # undef PRId64
00122 # define PRId64 "u"
00123 # define ON264 PRId64
00124 typedef unsigned int on2s64;
00125 typedef unsigned int on2u64;
00126 #else
00127 # error "64 bit integer type undefined for this platform!"
00128 #endif
00129 #if !defined(HAVE_INTTYPES_H) && !defined(INT_T_DEFINED)
00130 typedef on2s64 int64_t;
00131 typedef on2u64 uint64_t;
00132 #endif
00133
00137 typedef enum {
00138 ON2_NOT_FOUND = -404,
00139 ON2_BUFFER_EMPTY = -202,
00140 ON2_BUFFER_FULL = -201,
00141
00142 ON2_CONNREFUSED = -102,
00143 ON2_TIMEDOUT = -101,
00144 ON2_WOULDBLOCK = -100,
00145
00146 ON2_NET_ERROR = -9,
00147 ON2_INVALID_VERSION = -8,
00148 ON2_INPROGRESS = -7,
00149 ON2_NOT_SUPP = -6,
00150 ON2_NO_MEM = -3,
00151 ON2_INVALID_PARAMS = -2,
00152 ON2_ERROR = -1,
00153 ON2_OK = 0,
00154 ON2_DONE = 1
00155 } on2sc;
00156
00157 #if defined(WIN32) || defined(_WIN32_WCE)
00158 # define DLLIMPORT __declspec(dllimport)
00159 # define DLLEXPORT __declspec(dllexport)
00160 # define DLLLOCAL
00161 #elif defined(LINUX)
00162 # define DLLIMPORT
00163
00164
00165 # if defined(__GNUC__) && ((__GNUC__<<16|(__GNUC_MINOR__&0xff)) >= (3<<16|4))
00166 # define GCC_HASCLASSVISIBILITY
00167 # endif
00168 # ifdef GCC_HASCLASSVISIBILITY
00169 # define DLLEXPORT __attribute__ ((visibility("default")))
00170 # define DLLLOCAL __attribute__ ((visibility("hidden")))
00171 # else
00172 # define DLLEXPORT
00173 # define DLLLOCAL
00174 # endif
00175 #endif
00176
00177 #endif
00178
00179 #undef ON2API
00180
00185 #ifdef ON2DLL
00186 # ifdef ON2DLLEXPORT
00187 # define ON2API DLLEXPORT
00188 # else
00189 # define ON2API DLLIMPORT
00190 # endif
00191 #else
00192 # define ON2API
00193 #endif