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 
00034 #ifndef SQLDBC_TYPES_H
00035 #define SQLDBC_TYPES_H
00036 
00037 #if (defined (AIX) && __IBMCPP__ < 500) || ( defined (SUN) && !defined(_BOOL) ) \
00038   || !defined (__cplusplus)
00039 
00044 # define CPP_BOOL_NOT_IMPLEMENTED
00045 #endif
00046 
00047 #ifdef CPP_BOOL_NOT_IMPLEMENTED
00048 #if defined(WIN32) || defined(AIX) || defined(LINUX) || defined(OSF1) \
00049  || defined(HPUX) || defined(NMP) || defined(SUN)
00050 
00054 typedef unsigned char SQLDBC_Bool; 
00059 typedef SQLDBC_Bool  bool; 
00060 #endif
00061 #else
00062 typedef bool SQLDBC_Bool;
00063 #endif /* CPP_BOOL_NOT_IMPLEMENTED */
00064 
00067 #define SQLDBC_TRUE          ((SQLDBC_Bool)1)
00068 
00070 #define SQLDBC_FALSE         ((SQLDBC_Bool)0)
00071 
00072 #if defined(_WIN64)
00073 typedef unsigned __int64    SQLDBC_ULong;      /* long (fast, unsigned) */
00074 typedef signed __int64      SQLDBC_Long;       /* long (fast, signed)   */
00075 #else
00076 
00080 typedef unsigned long       SQLDBC_ULong;      /* long (fast, unsigned) */
00085 typedef signed long         SQLDBC_Long;       /* long (fast, signed)   */
00086 #endif
00087 
00091 typedef unsigned char       SQLDBC_Byte;
00092 
00096 typedef SQLDBC_ULong        SQLDBC_size_t;
00097 
00101 typedef SQLDBC_Byte         SQLDBC_UTF8;
00102 
00105 typedef unsigned char       SQLDBC_UInt1;
00108 typedef signed char         SQLDBC_Int1;
00111 typedef unsigned short      SQLDBC_UInt2;
00114 typedef signed short        SQLDBC_Int2;
00117 typedef unsigned int        SQLDBC_UInt4;
00120 typedef signed int          SQLDBC_Int4;         
00121 
00122 #if defined(WIN32) || defined(_WIN64)
00123 
00125 typedef unsigned __int64    SQLDBC_UInt8;      
00128 typedef signed __int64      SQLDBC_Int8;       
00129 #else
00130 
00132 typedef unsigned long long SQLDBC_UInt8;
00135 typedef long long          SQLDBC_Int8;
00136 #endif
00137 
00138 #if defined(BIT64)
00139 typedef SQLDBC_Int8        SQLDBC_Length;
00140 #else
00141 
00146 typedef SQLDBC_Int4        SQLDBC_Length;
00147 #endif
00148 
00151 typedef unsigned int       SQLDBC_UInt;
00152 
00155 typedef signed int         SQLDBC_Int;
00156 
00160 #define SQLDBC_NULL_DATA     (-1)
00161 
00165 #define SQLDBC_DATA_AT_EXEC  (-2)
00166 
00170 #define SQLDBC_NTS           (-3)
00171 
00175 #define SQLDBC_NO_TOTAL      (-4)
00176 
00180 #define SQLDBC_DEFAULT_PARAM (-5)
00181 
00185 #define SQLDBC_IGNORE        (-6)
00186 
00191 #define SQLDBC_LEN_DATA_AT_EXEC_OFFSET (-100)
00192 
00198 #define SQLDBC_LEN_DATA_AT_EXEC(length) (-(length)+SQLDBC_LEN_DATA_AT_EXEC_OFFSET)
00199 
00205 enum SQLDBC_Retcode { 
00206      SQLDBC_INVALID_OBJECT           =-1,   
00207      SQLDBC_OK                       = 0,    
00208      SQLDBC_NOT_OK                   = 1,    
00209 
00210      SQLDBC_DATA_TRUNC               =2,    
00211      SQLDBC_OVERFLOW                 =3,    
00212      SQLDBC_SUCCESS_WITH_INFO        =4,    
00213      SQLDBC_NO_DATA_FOUND            =100,  
00214      SQLDBC_NEED_DATA                =99    
00215 };
00216 
00222 enum SQLDBC_Rowstatus
00223 {
00224     SQLDBC_EXECUTE_FAILED            = -2,      
00225     SQLDBC_SUCCESS_NO_INFO           = -3       
00226 
00227 };
00228 
00229 
00234 enum SQLDBC_SQLMode {
00235      SQLDBC_INTERNAL                 =2,    
00236      SQLDBC_ANSI                     =3,    
00237      SQLDBC_DB2                      =4,    
00238      SQLDBC_ORACLE                   =5     
00239 };
00240 
00241 class SQLDBC_StringEncodingType
00242 {
00243 public:
00244   enum Encoding {
00245     Unknown     = 0,
00246     Ascii       = 1,
00247     UCS2        = 2,
00248     UCS2Swapped = 3,
00249     UTF8        = 4
00250   };      
00251   static Encoding UCS2Native;
00252 };
00253 
00254 typedef SQLDBC_StringEncodingType::Encoding SQLDBC_StringEncoding;
00255 
00260 #define SQLDBC_StringEncodingUnknown      SQLDBC_StringEncodingType::Unknown
00261 
00266 #define SQLDBC_StringEncodingAscii        SQLDBC_StringEncodingType::Ascii
00267 
00272 #define SQLDBC_StringEncodingUCS2         SQLDBC_StringEncodingType::UCS2
00273 
00278 #define SQLDBC_StringEncodingUCS2Swapped  SQLDBC_StringEncodingType::UCS2Swapped
00279 
00284 #define SQLDBC_StringEncodingUCS2Native SQLDBC_StringEncodingType::UCS2Native
00285 
00290 #define SQLDBC_StringEncodingUTF8         SQLDBC_StringEncodingType::UTF8
00291 
00298 enum SQLDBC_SQLType {
00299   SQLDBC_SQLTYPE_MIN       = 0,            
00300   SQLDBC_SQLTYPE_FIXED     = SQLDBC_SQLTYPE_MIN,
00301   SQLDBC_SQLTYPE_FLOAT     = 1,
00302   SQLDBC_SQLTYPE_CHA       = 2,            
00303   SQLDBC_SQLTYPE_CHE       = 3,
00304   SQLDBC_SQLTYPE_CHB       = 4,
00305   SQLDBC_SQLTYPE_ROWID     = 5,
00306   SQLDBC_SQLTYPE_STRA      = 6,
00307   SQLDBC_SQLTYPE_STRE      = 7,
00308   SQLDBC_SQLTYPE_STRB      = 8,
00309   SQLDBC_SQLTYPE_STRDB     = 9,
00310   SQLDBC_SQLTYPE_DATE      = 10,
00311   SQLDBC_SQLTYPE_TIME      = 11,
00312   SQLDBC_SQLTYPE_VFLOAT    = 12,
00313   SQLDBC_SQLTYPE_TIMESTAMP = 13,
00314   SQLDBC_SQLTYPE_UNKNOWN   = 14,
00315   SQLDBC_SQLTYPE_NUMBER    = 15,
00316   SQLDBC_SQLTYPE_NONUMBER  = 16,
00317   SQLDBC_SQLTYPE_DURATION  = 17,
00318   SQLDBC_SQLTYPE_DBYTEEBCDIC = 18,
00319   SQLDBC_SQLTYPE_LONGA     = 19,
00320   SQLDBC_SQLTYPE_LONGE     = 20,
00321   SQLDBC_SQLTYPE_LONGB     = 21,
00322   SQLDBC_SQLTYPE_LONGDB    = 22,
00323   SQLDBC_SQLTYPE_BOOLEAN   = 23,
00324   SQLDBC_SQLTYPE_UNICODE   = 24,
00325   SQLDBC_SQLTYPE_DTFILLER1 = 25,
00326   SQLDBC_SQLTYPE_DTFILLER2 = 26,
00327   SQLDBC_SQLTYPE_DTFILLER3 = 27,
00328   SQLDBC_SQLTYPE_DTFILLER4 = 28,
00329   SQLDBC_SQLTYPE_SMALLINT  = 29,
00330   SQLDBC_SQLTYPE_INTEGER   = 30,
00331   SQLDBC_SQLTYPE_VARCHARA  = 31,
00332   SQLDBC_SQLTYPE_VARCHARE  = 32,
00333   SQLDBC_SQLTYPE_VARCHARB  = 33,
00334   SQLDBC_SQLTYPE_STRUNI    = 34,
00335   SQLDBC_SQLTYPE_LONGUNI   = 35,
00336   SQLDBC_SQLTYPE_VARCHARUNI = 36,
00337   SQLDBC_SQLTYPE_UDT       = 37,
00338   SQLDBC_SQLTYPE_ABAPTABHANDLE = 38,
00339   SQLDBC_SQLTYPE_DWYDE     = 39,    
00340   SQLDBC_SQLTYPE_MAX = SQLDBC_SQLTYPE_DWYDE            
00341 };
00342 
00346 enum SQLDBC_HostType {
00347     SQLDBC_HOSTTYPE_MIN         = 0, 
00348 
00349     SQLDBC_HOSTTYPE_PARAMETER_NOTSET = 0, 
00350 
00351     
00352     SQLDBC_HOSTTYPE_BINARY      =  1, 
00353     
00354     SQLDBC_HOSTTYPE_ASCII       =  2, 
00355 
00356     SQLDBC_HOSTTYPE_UTF8        =  4, 
00357 
00358     SQLDBC_HOSTTYPE_UINT1       =  5, 
00359     SQLDBC_HOSTTYPE_INT1        =  6, 
00360 
00361     SQLDBC_HOSTTYPE_UINT2       =  7,  
00362     SQLDBC_HOSTTYPE_INT2        =  8, 
00363 
00364     SQLDBC_HOSTTYPE_UINT4       =  9, 
00365     SQLDBC_HOSTTYPE_INT4        = 10, 
00366 
00367     SQLDBC_HOSTTYPE_UINT8       = 11, 
00368     SQLDBC_HOSTTYPE_INT8        = 12, 
00369     
00370     SQLDBC_HOSTTYPE_DOUBLE      = 13, 
00371     SQLDBC_HOSTTYPE_FLOAT       = 14, 
00372 
00373     SQLDBC_HOSTTYPE_ODBCDATE    = 15, 
00374     SQLDBC_HOSTTYPE_ODBCTIME    = 16, 
00375     SQLDBC_HOSTTYPE_ODBCTIMESTAMP = 17, 
00376 
00377     SQLDBC_HOSTTYPE_ODBCNUMERIC = 18, 
00378 
00379     SQLDBC_HOSTTYPE_GUID        = 19, 
00380        
00381     SQLDBC_HOSTTYPE_UCS2        =  20, 
00382     SQLDBC_HOSTTYPE_UCS2_SWAPPED=  21, 
00383 
00384 #if defined(WIN32) || defined(LINUX) || defined(OSF1)
00385     SQLDBC_HOSTTYPE_UCS2_NATIVE =  SQLDBC_HOSTTYPE_UCS2_SWAPPED, 
00386 #else
00387     SQLDBC_HOSTTYPE_UCS2_NATIVE =  SQLDBC_HOSTTYPE_UCS2, 
00388 #endif
00389 
00390     SQLDBC_HOSTTYPE_USERDEFINED = 100, 
00391 
00392     SQLDBC_HOSTTYPE_MAX = SQLDBC_HOSTTYPE_USERDEFINED  
00393 };
00394 
00398 enum SQLDBC_SQLWarningCode
00399 {
00400     SQLDBC_SQLWARNING_DATA_TRUNCATED = 1, 
00401     SQLDBC_SQLWARNING_MAX                 
00402 };
00403 
00404 struct SQLDBC_DateTimeFormat 
00405 {
00409     enum Format {
00410         None_C = 0,      
00411         Normal_C = 1,    
00412         Iso_C = 2,       
00413         Usa_C = 3,       
00414         Eur_C = 4,       
00415         Jis_C = 5,       
00416         OracleDate_C = 6, 
00417         WasAnsiNowIsSameAsIso_C = 7, 
00418         TsEur_C = 8      
00419     };
00420 };
00421 
00422 #endif