25 #ifndef _OSSYSTYPES_H_ 26 #define _OSSYSTYPES_H_ 29 #ifndef __STDC_LIMIT_MACROS 30 #define __STDC_LIMIT_MACROS 32 #ifndef __STDC_CONSTANT_MACROS 33 #define __STDC_CONSTANT_MACROS 35 #ifndef __STDC_FORMAT_MACROS 36 #define __STDC_FORMAT_MACROS 39 #if defined(__sun) || defined(NOCPP11) 43 #if (!defined(BREW_MODULE) && !defined(FLAT_BREW)) 50 #if !defined(_MSC_VER) && !defined(__BORLANDC__) && !defined(__WATCOMC__) \ 51 && !defined(__vxworks) && !defined(__SYMBIAN32__) && !defined(NIOS2) 64 #define NumberOf(x) (sizeof(x)/sizeof(x[0])) 70 #define OSVOIDARG void 73 typedef void* OSVoidPtr;
74 typedef unsigned char OSBOOL;
75 typedef signed char OSINT8;
76 typedef unsigned char OSUINT8;
77 typedef short OSINT16;
78 typedef unsigned short OSUINT16;
79 typedef OSUINT8 OSOCTET;
80 typedef OSUINT8 OSUTF8CHAR;
81 typedef OSUINT16 OSUNICHAR;
82 typedef double OSREAL;
83 typedef double OSDOUBLE;
84 typedef float OSFLOAT;
87 typedef unsigned long OSUINT32;
88 #define OSINTCONST(val) val##L 89 #define OSUINTCONST(val) val##UL 90 #define OSUINT32_MAX ULONG_MAX 93 typedef unsigned int OSUINT32;
94 #define OSINTCONST(val) val 95 #define OSUINTCONST(val) val##u 96 #define OSUINT32_MAX UINT_MAX 98 typedef OSUINT32 OS32BITCHAR;
99 typedef size_t OSSIZE;
101 #define OSINT32_MAX ((OSINT32)2147483647L) 102 #define OSINT32_MIN ((OSINT32)(-OSINT32_MAX-1)) 104 #define OSUINT16_MAX ((OSUINT16)65535UL) 105 #define OSINT16_MAX ((OSINT16)32767L) 106 #define OSINT16_MIN ((OSINT16)(-OSINT16_MAX-1)) 108 #define OSUINT8_MAX ((OSUINT8)255U) 109 #define OSINT8_MAX ((OSINT8)127L) 110 #define OSINT8_MIN ((OSINT8)(-OSINT8_MAX-1)) 112 #define OSREALMAX ((OSREAL)DBL_MAX) 113 #define OSREALMIN ((OSREAL)-DBL_MAX) 115 #define OSU32NULLIDX OSUINT32_MAX 116 #define OSNULLINDEX ((OSSIZE)-1) 127 #define OSSIZE_MAX OSNULLINDEX 129 #if SIZE_MAX == 0xFFFFFFFFUL 130 #define OSSIZE_IS_32BITS 131 #elif SIZE_MAX == 0xFFFFFFFFFFFFFFFFULL 132 #define OSSIZE_IS_64BITS 153 #if defined(_MSC_VER) 156 #define OSSIZEFMT "%u" 159 #define OSSIZEFMT "%Iu" 161 #elif defined(__hpux) || defined(VMS) || defined(_VMS) 163 #define OSSIZEFMT "%u" 166 #define OSSIZEFMT "%zu" 172 #if !defined(_NO_INT64_SUPPORT) 173 #if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__WATCOMC__) 175 typedef __int64 OSINT64;
176 typedef unsigned __int64 OSUINT64;
179 #define OSINT64FMT_TS "I64d" 180 #define OSINT64FMT "%I64d" 181 #define OSUINT64FMT "%I64u" 182 #define OSINT64FMTX "%I64x" 183 #define OSINT64MAX _I64_MAX 184 #define OSUINT64MAX _UI64_MAX 185 #define OSINT64MIN _I64_MIN 186 #define OSI64CONST(val) val##i64 187 #define OSUI64CONST(val) val##ui64 189 #elif defined(INT64_MAX) 191 typedef int64_t OSINT64;
192 typedef uint64_t OSUINT64;
195 #define OSINT64FMT_TS PRId64 196 #define OSINT64FMT "%" PRId64 197 #define OSUINT64FMT "%" PRIu64 198 #define OSINT64FMTX "%" PRIx64 200 #define OSINT64FMT_TS "lld" 201 #define OSINT64FMT "%lld" 202 #define OSUINT64FMT "%llu" 203 #define OSINT64FMTX "%llx" 205 #define OSINT64MAX INT64_MAX 206 #define OSUINT64MAX UINT64_MAX 207 #define OSINT64MIN INT64_MIN 208 #define OSI64CONST(val) INT64_C(val) 209 #define OSUI64CONST(val) UINT64_C(val) 213 typedef long long OSINT64;
214 typedef unsigned long long OSUINT64;
215 #define OSINT64FMT_TS "lld" 216 #define OSINT64FMT "%lld" 217 #define OSUINT64FMT "%llu" 218 #define OSINT64FMTX "%llx" 219 #define OSI64CONST(val) val##LL 220 #define OSUI64CONST(val) val##ULL 224 #define OSINT64MAX LLONG_MAX 225 #define OSUINT64MAX ULLONG_MAX 226 #define OSINT64MIN LLONG_MIN 227 #elif defined LONG_LONG_MAX 228 #define OSINT64MAX LONG_LONG_MAX 229 #define OSUINT64MAX ULONG_LONG_MAX 230 #define OSINT64MIN LONG_LONG_MIN 231 #elif defined __INT64_MAX 232 #define OSINT64MAX __INT64_MAX 233 #define OSUINT64MAX __UINT64_MAX 234 #define OSINT64MIN __INT64_MIN 236 #warning "Using LONG_MAX for 64-bit maximum." 237 #define OSINT64MAX LONG_MAX 238 #define OSUINT64MAX ULONG_MAX 239 #define OSINT64MIN LONG_MIN 248 typedef long OSINT64;
249 typedef unsigned long OSUINT64;
250 #define OSINT64FMT_TS "ld" 251 #define OSINT64FMT "%ld" 252 #define OSUINT64FMT "%lu" 253 #define OSINT64FMTX "%lx" 254 #define OSINT64MAX LONG_MAX 255 #define OSUINT64MAX ULONG_MAX 256 #define OSINT64MIN LONG_MIN 257 #define OSI64CONST(val) val##L 258 #define OSUI64CONST(val) val##UL 261 #define OSU64NULLIDX OSUINT64MAX 277 typedef struct OSDynOctStr64 {
284 typedef OSDynOctStr64 OSOpenType64;
288 typedef struct OSUTF8NVP {
289 const OSUTF8CHAR* name;
290 const OSUTF8CHAR* value;
293 typedef OSUTF8NVP OSAnyAttr;
294 typedef OSUTF8NVP OSAnyElement;
306 const OSUTF8CHAR* value;
326 const OSUTF8CHAR* name;
341 const OSUTF8CHAR* name;
346 typedef struct OSDecimalFmt {
348 OSINT8 fractionDigits;
350 OSINT8 fractionMinDigits;
353 OSINT8 integerMaxDigits;
356 OSINT8 integerMinDigits;
363 const char*
const* patterns;
369 typedef struct OSDoubleFmt {
371 OSINT8 fractionDigits;
373 OSINT8 fractionMinDigits;
376 OSINT8 integerMaxDigits;
379 OSINT8 integerMinDigits;
394 OSBOOL expSignPresent;
398 #if defined(_MSC_VER) 400 #pragma warning(disable: 4100) 402 #pragma warning(disable: 4512) UTF-8 name and length structure.
XML UTF-8 character string structure.
Dynamic binary string structure.
Numeric date/time structure.
Numeric date/time structure.