00001
00032 #ifndef SQLDBC_TYPES_H
00033 #define SQLDBC_TYPES_H
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049 #if defined(__osf__) && !defined(BIT64)
00050 # define BIT64 1
00051 #endif
00052
00053 #if (defined(__linux__) && defined(__ia64__)) && !defined(BIT64)
00054 # define BIT64 1
00055 #endif
00056
00057 #if (defined(__linux__) && defined(__s390x__)) && !defined(BIT64)
00058 # define BIT64 1
00059 #endif
00060
00061 #if (defined(__linux__) && defined(__x86_64__) ) && !defined(BIT64)
00062 # define BIT64 1
00063 #endif
00064
00065 #if (defined(__linux__) && defined(__powerpc__)) && !defined(BIT64)
00066 # define BIT64 1
00067 #endif
00068
00069 #if defined(_WIN64) && !defined(BIT64)
00070 # define BIT64 1
00071 #endif
00072
00073 #if defined(_AIX) && defined(__64BIT__) && !defined(BIT64)
00074 # define BIT64 1
00075 #endif
00076
00077 #if (defined(sun) || defined(__sun)) && (defined(_LP64) || defined(__sparcv9)) && !defined(BIT64)
00078 # define BIT64 1
00079 #endif
00080
00081 #if (defined(__hpux)||defined(sinix)) && defined(__LP64__) && !defined(BIT64)
00082 # define BIT64 1
00083 #endif
00084
00085 #if !(defined(__linux__) && defined(__i386__)) && \
00086 !(defined(__linux__) && defined(__powerpc__)) && \
00087 !(defined(__linux__) && defined(__s390x__)) && \
00088 !(defined(__linux__) && defined(__x86_64__)) && \
00089 !(defined(__linux__) && defined(__ia64__)) && \
00090 !defined(_WIN32) && \
00091 !(defined(sun) || defined(__sun)) && \
00092 !defined(_AIX) && \
00093 !defined(__osf__) && \
00094 !defined(sinix) && \
00095 !defined(__hpux)
00096 #error Unknown platform.
00097 #endif
00098
00099 #if (defined (_AIX) && __IBMCPP__ < 500) || ( (defined(sun) || defined(__sun)) && !defined(_BOOL) ) \
00100 || !defined (__cplusplus)
00101
00106 # define CPP_BOOL_NOT_IMPLEMENTED
00107 #endif
00108
00109 #ifdef CPP_BOOL_NOT_IMPLEMENTED
00110 #if defined(_WIN32) || defined(_AIX) || defined(__linux__) || defined(__osf__) \
00111 || defined(__hpux) || defined(sinix) || (defined(sun) || defined(__sun))
00112
00116 typedef unsigned char SQLDBC_Bool;
00121 typedef SQLDBC_Bool bool;
00122 #endif
00123 #else
00124 typedef bool SQLDBC_Bool;
00125 #endif
00126
00129 #define SQLDBC_TRUE ((SQLDBC_Bool)1)
00130
00132 #define SQLDBC_FALSE ((SQLDBC_Bool)0)
00133
00134 #if defined(_WIN64)
00135 typedef unsigned __int64 SQLDBC_ULong;
00136 typedef signed __int64 SQLDBC_Long;
00137 #else
00138
00142 typedef unsigned long SQLDBC_ULong;
00147 typedef signed long SQLDBC_Long;
00148 #endif
00149
00153 typedef unsigned char SQLDBC_Byte;
00154
00158 typedef SQLDBC_ULong SQLDBC_size_t;
00159
00163 typedef SQLDBC_Byte SQLDBC_UTF8;
00164
00167 typedef unsigned char SQLDBC_UInt1;
00170 typedef signed char SQLDBC_Int1;
00173 typedef unsigned short SQLDBC_UInt2;
00176 typedef signed short SQLDBC_Int2;
00179 typedef unsigned int SQLDBC_UInt4;
00182 typedef signed int SQLDBC_Int4;
00183
00184 #if defined(_WIN32) || defined(_WIN64)
00185
00187 typedef unsigned __int64 SQLDBC_UInt8;
00190 typedef signed __int64 SQLDBC_Int8;
00191 #else
00192
00194 typedef unsigned long long SQLDBC_UInt8;
00197 typedef long long SQLDBC_Int8;
00198 #endif
00199
00200 #if defined(BIT64)
00201 typedef SQLDBC_Int8 SQLDBC_Length;
00202 #else
00203
00208 typedef SQLDBC_Int4 SQLDBC_Length;
00209 #endif
00210
00213 typedef unsigned int SQLDBC_UInt;
00214
00217 typedef signed int SQLDBC_Int;
00218
00222 #define SQLDBC_NULL_DATA (-1)
00223
00227 #define SQLDBC_DATA_AT_EXEC (-2)
00228
00232 #define SQLDBC_NTS (-3)
00233
00237 #define SQLDBC_NO_TOTAL (-4)
00238
00242 #define SQLDBC_DEFAULT_PARAM (-5)
00243
00247 #define SQLDBC_IGNORE (-6)
00248
00253 #define SQLDBC_LEN_DATA_AT_EXEC_OFFSET (-100)
00254
00260 #define SQLDBC_LEN_DATA_AT_EXEC(length) (-(length)+SQLDBC_LEN_DATA_AT_EXEC_OFFSET)
00261
00267 #ifndef __cplusplus
00268 typedef
00269 #endif
00270 enum SQLDBC_Retcode {
00271 SQLDBC_INVALID_OBJECT =-10909,
00272 SQLDBC_OK = 0,
00273 SQLDBC_NOT_OK = 1,
00275 SQLDBC_DATA_TRUNC =2,
00276 SQLDBC_OVERFLOW =3,
00277 SQLDBC_SUCCESS_WITH_INFO =4,
00278 SQLDBC_NO_DATA_FOUND =100,
00279 SQLDBC_NEED_DATA =99
00280 }
00281 #ifndef __cplusplus
00282 SQLDBC_Retcode
00283 #endif
00284 ;
00285
00292 #ifndef __cplusplus
00293 typedef
00294 #endif
00295 enum SQLDBC_Rowstatus
00296 {
00297 SQLDBC_EXECUTE_FAILED = -2,
00298 SQLDBC_SUCCESS_NO_INFO = -3,
00300 SQLDBC_DELETED = -4,
00301 SQLDBC_UPDATED = -5,
00302 SQLDBC_NOROW = -6,
00303 SQLDBC_ADDED = -7
00304 }
00305 #ifndef __cplusplus
00306 SQLDBC_Rowstatus
00307 #endif
00308 ;
00309
00310
00315 #ifndef __cplusplus
00316 typedef
00317 #endif
00318 enum SQLDBC_SQLMode {
00319 SQLDBC_INTERNAL =2,
00320 SQLDBC_ANSI =3,
00321 SQLDBC_DB2 =4,
00322 SQLDBC_ORACLE =5,
00323 SQLDBC_SAPR3 =6
00324 }
00325 #ifndef __cplusplus
00326 SQLDBC_SQLMode
00327 #endif
00328 ;
00329
00330 #ifdef __cplusplus
00331 class SQLDBC_StringEncodingType
00332 {
00333 public:
00334 enum Encoding {
00335 Unknown = 0,
00336 Ascii = 1,
00337 UCS2 = 2,
00338 UCS2Swapped = 3,
00339 UTF8 = 4
00340 };
00341 };
00342 typedef SQLDBC_StringEncodingType::Encoding SQLDBC_StringEncoding;
00343 #endif
00344 typedef enum SQLDBC_StringEncodingType_Encoding
00345 {
00346 SQLDBC_StringEncodingType_Encoding_Unknown = 0,
00347 SQLDBC_StringEncodingType_Encoding_Ascii = 1,
00348 SQLDBC_StringEncodingType_Encoding_UCS2 = 2,
00349 SQLDBC_StringEncodingType_Encoding_UCS2Swapped = 3,
00350 SQLDBC_StringEncodingType_Encoding_UTF8 = 4
00351 }SQLDBC_StringEncodingType_Encoding;
00352
00357 #define SQLDBC_StringEncodingUnknown SQLDBC_StringEncodingType::Unknown
00358
00363 #define SQLDBC_StringEncodingAscii SQLDBC_StringEncodingType::Ascii
00364
00369 #define SQLDBC_StringEncodingUCS2 SQLDBC_StringEncodingType::UCS2
00370
00375 #define SQLDBC_StringEncodingUCS2Swapped SQLDBC_StringEncodingType::UCS2Swapped
00376
00381 #if defined(_WIN32) || (defined(__linux__) && !defined(__powerpc__) && !defined(__s390x__)) || defined(__osf__)
00382 #define SQLDBC_StringEncodingUCS2Native SQLDBC_StringEncodingType::UCS2Swapped
00383 #else
00384 #define SQLDBC_StringEncodingUCS2Native SQLDBC_StringEncodingType::UCS2
00385 #endif
00386
00391 #define SQLDBC_StringEncodingUTF8 SQLDBC_StringEncodingType::UTF8
00392
00398 #ifndef __cplusplus
00399 typedef
00400 #endif
00401 enum SQLDBC_SQLType {
00402 SQLDBC_SQLTYPE_MIN = 0,
00403 SQLDBC_SQLTYPE_FIXED = SQLDBC_SQLTYPE_MIN,
00404 SQLDBC_SQLTYPE_FLOAT = 1,
00405 SQLDBC_SQLTYPE_CHA = 2,
00406 SQLDBC_SQLTYPE_CHE = 3,
00407 SQLDBC_SQLTYPE_CHB = 4,
00408 SQLDBC_SQLTYPE_ROWID = 5,
00409 SQLDBC_SQLTYPE_STRA = 6,
00410 SQLDBC_SQLTYPE_STRE = 7,
00411 SQLDBC_SQLTYPE_STRB = 8,
00412 SQLDBC_SQLTYPE_STRDB = 9,
00413 SQLDBC_SQLTYPE_DATE = 10,
00414 SQLDBC_SQLTYPE_TIME = 11,
00415 SQLDBC_SQLTYPE_VFLOAT = 12,
00416 SQLDBC_SQLTYPE_TIMESTAMP = 13,
00417 SQLDBC_SQLTYPE_UNKNOWN = 14,
00418 SQLDBC_SQLTYPE_NUMBER = 15,
00419 SQLDBC_SQLTYPE_NONUMBER = 16,
00420 SQLDBC_SQLTYPE_DURATION = 17,
00421 SQLDBC_SQLTYPE_DBYTEEBCDIC = 18,
00422 SQLDBC_SQLTYPE_LONGA = 19,
00423 SQLDBC_SQLTYPE_LONGE = 20,
00424 SQLDBC_SQLTYPE_LONGB = 21,
00425 SQLDBC_SQLTYPE_LONGDB = 22,
00426 SQLDBC_SQLTYPE_BOOLEAN = 23,
00427 SQLDBC_SQLTYPE_UNICODE = 24,
00428 SQLDBC_SQLTYPE_DTFILLER1 = 25,
00429 SQLDBC_SQLTYPE_DTFILLER2 = 26,
00430 SQLDBC_SQLTYPE_DTFILLER3 = 27,
00431 SQLDBC_SQLTYPE_DTFILLER4 = 28,
00432 SQLDBC_SQLTYPE_SMALLINT = 29,
00433 SQLDBC_SQLTYPE_INTEGER = 30,
00434 SQLDBC_SQLTYPE_VARCHARA = 31,
00435 SQLDBC_SQLTYPE_VARCHARE = 32,
00436 SQLDBC_SQLTYPE_VARCHARB = 33,
00437 SQLDBC_SQLTYPE_STRUNI = 34,
00438 SQLDBC_SQLTYPE_LONGUNI = 35,
00439 SQLDBC_SQLTYPE_VARCHARUNI = 36,
00440 SQLDBC_SQLTYPE_UDT = 37,
00441 SQLDBC_SQLTYPE_ABAPTABHANDLE = 38,
00442 SQLDBC_SQLTYPE_DWYDE = 39,
00443 SQLDBC_SQLTYPE_MAX = SQLDBC_SQLTYPE_DWYDE
00444 }
00445 #ifndef __cplusplus
00446 SQLDBC_SQLType
00447 #endif
00448 ;
00449
00454 #ifndef __cplusplus
00455 typedef
00456 #endif
00457 enum SQLDBC_HostType {
00458 SQLDBC_HOSTTYPE_MIN = 0,
00460 SQLDBC_HOSTTYPE_PARAMETER_NOTSET = 0,
00463 SQLDBC_HOSTTYPE_BINARY = 1,
00465 SQLDBC_HOSTTYPE_ASCII = 2,
00467 SQLDBC_HOSTTYPE_UTF8 = 4,
00469 SQLDBC_HOSTTYPE_UINT1 = 5,
00470 SQLDBC_HOSTTYPE_INT1 = 6,
00472 SQLDBC_HOSTTYPE_UINT2 = 7,
00473 SQLDBC_HOSTTYPE_INT2 = 8,
00475 SQLDBC_HOSTTYPE_UINT4 = 9,
00476 SQLDBC_HOSTTYPE_INT4 = 10,
00478 SQLDBC_HOSTTYPE_UINT8 = 11,
00479 SQLDBC_HOSTTYPE_INT8 = 12,
00481 SQLDBC_HOSTTYPE_DOUBLE = 13,
00482 SQLDBC_HOSTTYPE_FLOAT = 14,
00484 SQLDBC_HOSTTYPE_ODBCDATE = 15,
00485 SQLDBC_HOSTTYPE_ODBCTIME = 16,
00486 SQLDBC_HOSTTYPE_ODBCTIMESTAMP = 17,
00488 SQLDBC_HOSTTYPE_ODBCNUMERIC = 18,
00490 SQLDBC_HOSTTYPE_GUID = 19,
00492 SQLDBC_HOSTTYPE_UCS2 = 20,
00493 SQLDBC_HOSTTYPE_UCS2_SWAPPED= 21,
00495 #if defined(_WIN32) || (defined(__linux__) && !defined(__powerpc__) && !defined(__s390x__)) || defined(__osf__)
00496 SQLDBC_HOSTTYPE_UCS2_NATIVE = SQLDBC_HOSTTYPE_UCS2_SWAPPED,
00497 #else
00498 SQLDBC_HOSTTYPE_UCS2_NATIVE = SQLDBC_HOSTTYPE_UCS2,
00499 #endif
00500 SQLDBC_HOSTTYPE_BLOB = 22,
00501 SQLDBC_HOSTTYPE_ASCII_CLOB = 23,
00502 SQLDBC_HOSTTYPE_UTF8_CLOB = 24,
00503 SQLDBC_HOSTTYPE_UCS2_CLOB = 25,
00504 SQLDBC_HOSTTYPE_UCS2_SWAPPED_CLOB = 26,
00505 #if defined(_WIN32) || (defined(__linux__) && !defined(__powerpc__) && !defined(__s390x__)) || defined(__osf__)
00506 SQLDBC_HOSTTYPE_UCS2_NATIVE_CLOB = SQLDBC_HOSTTYPE_UCS2_SWAPPED_CLOB,
00507 #else
00508 SQLDBC_HOSTTYPE_UCS2_NATIVE_CLOB = SQLDBC_HOSTTYPE_UCS2_CLOB,
00509 #endif
00510 SQLDBC_HOSTTYPE_STREAM = 27,
00511 SQLDBC_HOSTTYPE_RAWHEX = 28,
00513 SQLDBC_HOSTTYPE_USERDEFINED = 100,
00515 SQLDBC_HOSTTYPE_MAX = SQLDBC_HOSTTYPE_USERDEFINED
00516 }
00517 #ifndef __cplusplus
00518 SQLDBC_HostType
00519 #endif
00520 ;
00521
00525 #ifndef __cplusplus
00526 typedef
00527 #endif
00528 enum SQLDBC_SQLWarningCode
00529 {
00530 SQLDBC_SQLWARNING_DATA_TRUNCATED = 1,
00531 SQLDBC_SQLWARNING_MAX
00532 }
00533 #ifndef __cplusplus
00534 SQLDBC_SQLWarningCode
00535 #endif
00536 ;
00537 #ifdef __cplusplus
00538 struct SQLDBC_DateTimeFormat
00539 {
00543 enum Format {
00544 None_C = 0,
00545 Normal_C = 1,
00546 Iso_C = 2,
00547 Usa_C = 3,
00548 Eur_C = 4,
00549 Jis_C = 5,
00550 OracleDate_C = 6,
00551 WasAnsiNowIsSameAsIso_C = 7,
00552 TsEur_C = 8
00553 };
00554 };
00555 #endif
00556
00560 typedef enum SQLDBC_DateTimeFormat_Format {
00561 SQLDBC_DateTimeFormat_Format_None_C = 0,
00562 SQLDBC_DateTimeFormat_Format_Normal_C = 1,
00563 SQLDBC_DateTimeFormat_Format_Iso_C = 2,
00564 SQLDBC_DateTimeFormat_Format_Usa_C = 3,
00565 SQLDBC_DateTimeFormat_Format_Eur_C = 4,
00566 SQLDBC_DateTimeFormat_Format_Jis_C = 5,
00567 SQLDBC_DateTimeFormat_Format_OracleDate_C = 6,
00568 SQLDBC_DateTimeFormat_Format_WasAnsiNowIsSameAsIso_C = 7,
00569 SQLDBC_DateTimeFormat_Format_TsEur_C = 8
00570 }SQLDBC_DateTimeFormat_Format;
00571
00572
00573 #ifndef __cplusplus
00574 typedef
00575 #endif
00576
00579 enum SQLDBC_SerialTag {
00580 SQLDBC_FIRST_INSERTED_SERIAL = 32768,
00581 SQLDBC_LAST_INSERTED_SERIAL = 32769
00582 }
00583 #ifndef __cplusplus
00584 SQLDBC_SerialTag;
00585 #else
00586 ;
00587 #endif
00588
00589
00590 #endif