00001
00031 #ifndef SQLDBC_TYPES_H
00032 #define SQLDBC_TYPES_H
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048 #if defined(_WIN32) && !defined(WIN32)
00049 #define WIN32
00050 #endif
00051
00052 #if defined(_AIX) && !defined(AIX)
00053 #define AIX 1
00054 #endif
00055
00056 #if defined(__linux__) && !defined(LINUX)
00057 #define LINUX 1
00058 #endif
00059
00060 #if defined(__osf__) && !defined(OSF1)
00061 #define OSF1 1
00062 # if !defined(BIT64)
00063 # define BIT64 1
00064 # endif
00065 #endif
00066
00067 #if (defined(sun) || defined(__sun)) && !defined(SUN)
00068 #define SUN 1
00069 #endif
00070
00071 #if defined(__hpux) && !defined(HPUX)
00072 #define HPUX 1
00073 #endif
00074
00075 #if defined(sinix) && !defined(NMP)
00076 # define NMP
00077 #endif
00078
00079 #if defined(__linux__) && defined(__ia64__)
00080 # if !defined(IA64)
00081 # define IA64 1
00082 # endif
00083 # if !defined(BIT64)
00084 # define BIT64 1
00085 # endif
00086 #endif
00087
00088 #if defined(_WIN64)
00089 # if !defined(BIT64)
00090 # define BIT64 1
00091 # endif
00092 # if !defined(IA64)
00093 # define IA64 1
00094 # endif
00095 #endif
00096
00097 #if defined(AIX) && defined(__64BIT__) && !defined(BIT64)
00098 # define BIT64 1
00099 #endif
00100
00101 #if defined(SUN) && (defined(_LP64) || defined(__sparcv9)) && !defined(BIT64)
00102 # define BIT64 1
00103 #endif
00104
00105 #if (defined(HPUX)||defined(NMP)) && defined(__LP64__) && !defined(BIT64)
00106 # define BIT64 1
00107 #endif
00108
00109 #if (!defined(WIN32) && !defined(AIX) && !defined(OSF1) && !defined(HPUX) && !defined(SUN) && !defined(LINUX) && !defined(NMP))
00110 #error Unknown platform.
00111 #endif
00112
00113 #if (defined (AIX) && __IBMCPP__ < 500) || ( defined (SUN) && !defined(_BOOL) ) \
00114 || !defined (__cplusplus)
00115
00120 # define CPP_BOOL_NOT_IMPLEMENTED
00121 #endif
00122
00123 #ifdef CPP_BOOL_NOT_IMPLEMENTED
00124 #if defined(WIN32) || defined(AIX) || defined(LINUX) || defined(OSF1) \
00125 || defined(HPUX) || defined(NMP) || defined(SUN)
00126
00130 typedef unsigned char SQLDBC_Bool;
00135 typedef SQLDBC_Bool bool;
00136 #endif
00137 #else
00138 typedef bool SQLDBC_Bool;
00139 #endif
00140
00143 #define SQLDBC_TRUE ((SQLDBC_Bool)1)
00144
00146 #define SQLDBC_FALSE ((SQLDBC_Bool)0)
00147
00148 #if defined(_WIN64)
00149 typedef unsigned __int64 SQLDBC_ULong;
00150 typedef signed __int64 SQLDBC_Long;
00151 #else
00152
00156 typedef unsigned long SQLDBC_ULong;
00161 typedef signed long SQLDBC_Long;
00162 #endif
00163
00167 typedef unsigned char SQLDBC_Byte;
00168
00172 typedef SQLDBC_ULong SQLDBC_size_t;
00173
00177 typedef SQLDBC_Byte SQLDBC_UTF8;
00178
00181 typedef unsigned char SQLDBC_UInt1;
00184 typedef signed char SQLDBC_Int1;
00187 typedef unsigned short SQLDBC_UInt2;
00190 typedef signed short SQLDBC_Int2;
00193 typedef unsigned int SQLDBC_UInt4;
00196 typedef signed int SQLDBC_Int4;
00197
00198 #if defined(WIN32) || defined(_WIN64)
00199
00201 typedef unsigned __int64 SQLDBC_UInt8;
00204 typedef signed __int64 SQLDBC_Int8;
00205 #else
00206
00208 typedef unsigned long long SQLDBC_UInt8;
00211 typedef long long SQLDBC_Int8;
00212 #endif
00213
00214 #if defined(BIT64)
00215 typedef SQLDBC_Int8 SQLDBC_Length;
00216 #else
00217
00222 typedef SQLDBC_Int4 SQLDBC_Length;
00223 #endif
00224
00227 typedef unsigned int SQLDBC_UInt;
00228
00231 typedef signed int SQLDBC_Int;
00232
00236 #define SQLDBC_NULL_DATA (-1)
00237
00241 #define SQLDBC_DATA_AT_EXEC (-2)
00242
00246 #define SQLDBC_NTS (-3)
00247
00251 #define SQLDBC_NO_TOTAL (-4)
00252
00256 #define SQLDBC_DEFAULT_PARAM (-5)
00257
00261 #define SQLDBC_IGNORE (-6)
00262
00267 #define SQLDBC_LEN_DATA_AT_EXEC_OFFSET (-100)
00268
00274 #define SQLDBC_LEN_DATA_AT_EXEC(length) (-(length)+SQLDBC_LEN_DATA_AT_EXEC_OFFSET)
00275
00281 #ifndef __cplusplus
00282 typedef
00283 #endif
00284 enum SQLDBC_Retcode {
00285 SQLDBC_INVALID_OBJECT =-10909,
00286 SQLDBC_OK = 0,
00287 SQLDBC_NOT_OK = 1,
00288
00289 SQLDBC_DATA_TRUNC =2,
00290 SQLDBC_OVERFLOW =3,
00291 SQLDBC_SUCCESS_WITH_INFO =4,
00292 SQLDBC_NO_DATA_FOUND =100,
00293 SQLDBC_NEED_DATA =99
00294 }
00295 #ifndef __cplusplus
00296 SQLDBC_Retcode
00297 #endif
00298 ;
00299
00305 #ifndef __cplusplus
00306 typedef
00307 #endif
00308 enum SQLDBC_Rowstatus
00309 {
00310 SQLDBC_EXECUTE_FAILED = -2,
00311 SQLDBC_SUCCESS_NO_INFO = -3
00312
00313 }
00314 #ifndef __cplusplus
00315 SQLDBC_Rowstatus
00316 #endif
00317 ;
00318
00319
00324 #ifndef __cplusplus
00325 typedef
00326 #endif
00327 enum SQLDBC_SQLMode {
00328 SQLDBC_INTERNAL =2,
00329 SQLDBC_ANSI =3,
00330 SQLDBC_DB2 =4,
00331 SQLDBC_ORACLE =5,
00332 SQLDBC_SAPR3 =6
00333 }
00334 #ifndef __cplusplus
00335 SQLDBC_SQLMode
00336 #endif
00337 ;
00338
00339 #ifdef __cplusplus
00340 class SQLDBC_StringEncodingType
00341 {
00342 public:
00343 enum Encoding {
00344 Unknown = 0,
00345 Ascii = 1,
00346 UCS2 = 2,
00347 UCS2Swapped = 3,
00348 UTF8 = 4
00349 };
00350 };
00351 typedef SQLDBC_StringEncodingType::Encoding SQLDBC_StringEncoding;
00352 #endif
00353 typedef enum SQLDBC_StringEncodingType_Encoding
00354 {
00355 SQLDBC_StringEncodingType_Encoding_Unknown = 0,
00356 SQLDBC_StringEncodingType_Encoding_Ascii = 1,
00357 SQLDBC_StringEncodingType_Encoding_UCS2 = 2,
00358 SQLDBC_StringEncodingType_Encoding_UCS2Swapped = 3,
00359 SQLDBC_StringEncodingType_Encoding_UTF8 = 4
00360 }SQLDBC_StringEncodingType_Encoding;
00361
00366 #define SQLDBC_StringEncodingUnknown SQLDBC_StringEncodingType::Unknown
00367
00372 #define SQLDBC_StringEncodingAscii SQLDBC_StringEncodingType::Ascii
00373
00378 #define SQLDBC_StringEncodingUCS2 SQLDBC_StringEncodingType::UCS2
00379
00384 #define SQLDBC_StringEncodingUCS2Swapped SQLDBC_StringEncodingType::UCS2Swapped
00385
00390 #if defined(WIN32) || (defined(LINUX) && !defined(SDBonPPC64) && !defined(S390X)) || defined(OSF1)
00391 #define SQLDBC_StringEncodingUCS2Native SQLDBC_StringEncodingType::UCS2Swapped
00392 #else
00393 #define SQLDBC_StringEncodingUCS2Native SQLDBC_StringEncodingType::UCS2
00394 #endif
00395
00400 #define SQLDBC_StringEncodingUTF8 SQLDBC_StringEncodingType::UTF8
00401
00407 #ifndef __cplusplus
00408 typedef
00409 #endif
00410 enum SQLDBC_SQLType {
00411 SQLDBC_SQLTYPE_MIN = 0,
00412 SQLDBC_SQLTYPE_FIXED = SQLDBC_SQLTYPE_MIN,
00413 SQLDBC_SQLTYPE_FLOAT = 1,
00414 SQLDBC_SQLTYPE_CHA = 2,
00415 SQLDBC_SQLTYPE_CHE = 3,
00416 SQLDBC_SQLTYPE_CHB = 4,
00417 SQLDBC_SQLTYPE_ROWID = 5,
00418 SQLDBC_SQLTYPE_STRA = 6,
00419 SQLDBC_SQLTYPE_STRE = 7,
00420 SQLDBC_SQLTYPE_STRB = 8,
00421 SQLDBC_SQLTYPE_STRDB = 9,
00422 SQLDBC_SQLTYPE_DATE = 10,
00423 SQLDBC_SQLTYPE_TIME = 11,
00424 SQLDBC_SQLTYPE_VFLOAT = 12,
00425 SQLDBC_SQLTYPE_TIMESTAMP = 13,
00426 SQLDBC_SQLTYPE_UNKNOWN = 14,
00427 SQLDBC_SQLTYPE_NUMBER = 15,
00428 SQLDBC_SQLTYPE_NONUMBER = 16,
00429 SQLDBC_SQLTYPE_DURATION = 17,
00430 SQLDBC_SQLTYPE_DBYTEEBCDIC = 18,
00431 SQLDBC_SQLTYPE_LONGA = 19,
00432 SQLDBC_SQLTYPE_LONGE = 20,
00433 SQLDBC_SQLTYPE_LONGB = 21,
00434 SQLDBC_SQLTYPE_LONGDB = 22,
00435 SQLDBC_SQLTYPE_BOOLEAN = 23,
00436 SQLDBC_SQLTYPE_UNICODE = 24,
00437 SQLDBC_SQLTYPE_DTFILLER1 = 25,
00438 SQLDBC_SQLTYPE_DTFILLER2 = 26,
00439 SQLDBC_SQLTYPE_DTFILLER3 = 27,
00440 SQLDBC_SQLTYPE_DTFILLER4 = 28,
00441 SQLDBC_SQLTYPE_SMALLINT = 29,
00442 SQLDBC_SQLTYPE_INTEGER = 30,
00443 SQLDBC_SQLTYPE_VARCHARA = 31,
00444 SQLDBC_SQLTYPE_VARCHARE = 32,
00445 SQLDBC_SQLTYPE_VARCHARB = 33,
00446 SQLDBC_SQLTYPE_STRUNI = 34,
00447 SQLDBC_SQLTYPE_LONGUNI = 35,
00448 SQLDBC_SQLTYPE_VARCHARUNI = 36,
00449 SQLDBC_SQLTYPE_UDT = 37,
00450 SQLDBC_SQLTYPE_ABAPTABHANDLE = 38,
00451 SQLDBC_SQLTYPE_DWYDE = 39,
00452 SQLDBC_SQLTYPE_MAX = SQLDBC_SQLTYPE_DWYDE
00453 }
00454 #ifndef __cplusplus
00455 SQLDBC_SQLType
00456 #endif
00457 ;
00458
00463 #ifndef __cplusplus
00464 typedef
00465 #endif
00466 enum SQLDBC_HostType {
00467 SQLDBC_HOSTTYPE_MIN = 0,
00468
00469 SQLDBC_HOSTTYPE_PARAMETER_NOTSET = 0,
00470
00471
00472 SQLDBC_HOSTTYPE_BINARY = 1,
00473
00474 SQLDBC_HOSTTYPE_ASCII = 2,
00475
00476 SQLDBC_HOSTTYPE_UTF8 = 4,
00477
00478 SQLDBC_HOSTTYPE_UINT1 = 5,
00479 SQLDBC_HOSTTYPE_INT1 = 6,
00480
00481 SQLDBC_HOSTTYPE_UINT2 = 7,
00482 SQLDBC_HOSTTYPE_INT2 = 8,
00483
00484 SQLDBC_HOSTTYPE_UINT4 = 9,
00485 SQLDBC_HOSTTYPE_INT4 = 10,
00486
00487 SQLDBC_HOSTTYPE_UINT8 = 11,
00488 SQLDBC_HOSTTYPE_INT8 = 12,
00489
00490 SQLDBC_HOSTTYPE_DOUBLE = 13,
00491 SQLDBC_HOSTTYPE_FLOAT = 14,
00492
00493 SQLDBC_HOSTTYPE_ODBCDATE = 15,
00494 SQLDBC_HOSTTYPE_ODBCTIME = 16,
00495 SQLDBC_HOSTTYPE_ODBCTIMESTAMP = 17,
00496
00497 SQLDBC_HOSTTYPE_ODBCNUMERIC = 18,
00498
00499 SQLDBC_HOSTTYPE_GUID = 19,
00500
00501 SQLDBC_HOSTTYPE_UCS2 = 20,
00502 SQLDBC_HOSTTYPE_UCS2_SWAPPED= 21,
00503
00504 #if defined(WIN32) || (defined(LINUX) && !defined(SDBonPPC64) && !defined(S390X)) || defined(OSF1)
00505 SQLDBC_HOSTTYPE_UCS2_NATIVE = SQLDBC_HOSTTYPE_UCS2_SWAPPED,
00506 #else
00507 SQLDBC_HOSTTYPE_UCS2_NATIVE = SQLDBC_HOSTTYPE_UCS2,
00508 #endif
00509 SQLDBC_HOSTTYPE_BLOB = 22,
00510 SQLDBC_HOSTTYPE_ASCII_CLOB = 23,
00511 SQLDBC_HOSTTYPE_UTF8_CLOB = 24,
00512 SQLDBC_HOSTTYPE_UCS2_CLOB = 25,
00513 SQLDBC_HOSTTYPE_UCS2_SWAPPED_CLOB = 26,
00514 #if defined(WIN32) || (defined(LINUX) && !defined(SDBonPPC64) && !defined(S390X)) || defined(OSF1)
00515 SQLDBC_HOSTTYPE_UCS2_NATIVE_CLOB = SQLDBC_HOSTTYPE_UCS2_SWAPPED_CLOB,
00516 #else
00517 SQLDBC_HOSTTYPE_UCS2_NATIVE_CLOB = SQLDBC_HOSTTYPE_UCS2_CLOB,
00518 #endif
00519 SQLDBC_HOSTTYPE_STREAM = 27,
00520
00521 SQLDBC_HOSTTYPE_USERDEFINED = 100,
00522
00523 SQLDBC_HOSTTYPE_MAX = SQLDBC_HOSTTYPE_USERDEFINED
00524 }
00525 #ifndef __cplusplus
00526 SQLDBC_HostType
00527 #endif
00528 ;
00529
00533 #ifndef __cplusplus
00534 typedef
00535 #endif
00536 enum SQLDBC_SQLWarningCode
00537 {
00538 SQLDBC_SQLWARNING_DATA_TRUNCATED = 1,
00539 SQLDBC_SQLWARNING_MAX
00540 }
00541 #ifndef __cplusplus
00542 SQLDBC_SQLWarningCode
00543 #endif
00544 ;
00545 #ifdef __cplusplus
00546 struct SQLDBC_DateTimeFormat
00547 {
00551 enum Format {
00552 None_C = 0,
00553 Normal_C = 1,
00554 Iso_C = 2,
00555 Usa_C = 3,
00556 Eur_C = 4,
00557 Jis_C = 5,
00558 OracleDate_C = 6,
00559 WasAnsiNowIsSameAsIso_C = 7,
00560 TsEur_C = 8
00561 };
00562 };
00563 #endif
00564
00568 typedef enum SQLDBC_DateTimeFormat_Format {
00569 SQLDBC_DateTimeFormat_Format_None_C = 0,
00570 SQLDBC_DateTimeFormat_Format_Normal_C = 1,
00571 SQLDBC_DateTimeFormat_Format_Iso_C = 2,
00572 SQLDBC_DateTimeFormat_Format_Usa_C = 3,
00573 SQLDBC_DateTimeFormat_Format_Eur_C = 4,
00574 SQLDBC_DateTimeFormat_Format_Jis_C = 5,
00575 SQLDBC_DateTimeFormat_Format_OracleDate_C = 6,
00576 SQLDBC_DateTimeFormat_Format_WasAnsiNowIsSameAsIso_C = 7,
00577 SQLDBC_DateTimeFormat_Format_TsEur_C = 8
00578 }SQLDBC_DateTimeFormat_Format;
00579
00580
00581 #ifndef __cplusplus
00582 typedef
00583 #endif
00584
00587 enum SQLDBC_SerialTag {
00588 SQLDBC_FIRST_INSERTED_SERIAL = 32768,
00589 SQLDBC_LAST_INSERTED_SERIAL = 32769
00590 }
00591 #ifndef __cplusplus
00592 SQLDBC_SerialTag;
00593 #else
00594 ;
00595 #endif
00596
00597
00598 #endif