Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

SQLDBC_Types.h

Go to the documentation of this file.
00001 
00031 #ifndef SQLDBC_TYPES_H
00032 #define SQLDBC_TYPES_H
00033 
00034 /*
00035  * Define the platform setup.
00036  * 
00037  * WIN32           - Microsoft Windows 
00038  * LINUX           - Linux 
00039  * SUN             - Sun Solaris (Sparc)
00040  * HPUX            - HP Unix (HPPA)
00041  * AIX             - AIX (RS6000)
00042  * NMP             - Reliant.
00043  *
00044  * IA64            - IA 64 architecture.
00045  * BIT64           - 64 bit platform.
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 /* CPP_BOOL_NOT_IMPLEMENTED */
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;      /* long (fast, unsigned) */
00150 typedef signed __int64      SQLDBC_Long;       /* long (fast, signed)   */
00151 #else
00152 
00156 typedef unsigned long       SQLDBC_ULong;      /* long (fast, unsigned) */
00161 typedef signed long         SQLDBC_Long;       /* long (fast, signed)   */
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