OCILIB (C Driver for Oracle) 3.12.1
|
00001 /* 00002 +-----------------------------------------------------------------------------------------+ 00003 | | 00004 | OCILIB - C Driver for Oracle | 00005 | | 00006 | (C Wrapper for Oracle OCI) | 00007 | | 00008 | Website : http://www.ocilib.net | 00009 | | 00010 | Copyright (c) 2007-2013 Vincent ROGIER <vince.rogier@ocilib.net> | 00011 | | 00012 +-----------------------------------------------------------------------------------------+ 00013 | | 00014 | This library is free software; you can redistribute it and/or | 00015 | modify it under the terms of the GNU Lesser General Public | 00016 | License as published by the Free Software Foundation; either | 00017 | version 2 of the License, or (at your option) any later version. | 00018 | | 00019 | This library is distributed in the hope that it will be useful, | 00020 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 00021 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 00022 | Lesser General Public License for more details. | 00023 | | 00024 | You should have received a copy of the GNU Lesser General Public | 00025 | License along with this library; if not, write to the Free | 00026 | Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 00027 | | 00028 +-----------------------------------------------------------------------------------------+ 00029 00030 +-----------------------------------------------------------------------------------------+ 00031 | | 00032 | IMPORTANT NOTICE | 00033 | | 00034 +-----------------------------------------------------------------------------------------+ 00035 | | 00036 | THIS FILE CONTAINS CONSTANTS AND STRUCTURES DECLARATIONS THAT WERE | 00037 | PICKED UP FROM ORACLE PUBLIC HEADER FILES. | 00038 | | 00039 | SO THE CONTENT OF THIS FILE IS UNDER ORACLE COPYRIGHT AND THE | 00040 | DECLARATIONS REPRODUCED HERE ARE ORIGINALLY WRITTEN BY ORACLE | 00041 | CORPORATION. | 00042 | | 00043 | THE AUTHOR OF OCILIB LIBRARY HAS NOT WRITTEN THE CONTENT OF THIS | 00044 | FILE AND HAS PARTIALLY INTEGRATED SOME ORACLE OCI DEFINITONS TO | 00045 | ALLOW COMPILATION OF THIS OPEN SOURCE LIBRARY WITHOUT HAVING | 00046 | ORACLE PRODUCTS INSTALLED ON DEVELOPMENT ENVIRONMENTS | 00047 | | 00048 +-----------------------------------------------------------------------------------------+ 00049 */ 00050 00051 /* --------------------------------------------------------------------------------------------- * 00052 * $Id: oci_types.h, Vincent Rogier $ 00053 * --------------------------------------------------------------------------------------------- */ 00054 00055 #ifndef OCILIB_OCI_TYPES_H_INCLUDED 00056 #define OCILIB_OCI_TYPES_H_INCLUDED 00057 00058 # define ORATYPES 00059 # define SX_ORACLE 00060 # define SX3_ORACLE 00061 00062 #ifndef ORASTDDEF 00063 # include <stddef.h> 00064 # define ORASTDDEF 00065 #endif 00066 00067 #ifndef ORALIMITS 00068 # include <limits.h> 00069 # define ORALIMITS 00070 #endif 00071 00072 #ifndef TRUE 00073 # define TRUE 1 00074 # define FALSE 0 00075 #endif 00076 00077 #ifndef lint 00078 typedef unsigned char ub1; 00079 typedef signed char sb1; 00080 #else 00081 #define ub1 unsigned char 00082 #define sb1 signed char 00083 #endif 00084 00085 #define UB1MAXVAL ((ub1)UCHAR_MAX) 00086 #define UB1MINVAL ((ub1) 0) 00087 #define SB1MAXVAL ((sb1)SCHAR_MAX) 00088 #define SB1MINVAL ((sb1)SCHAR_MIN) 00089 #define MINUB1MAXVAL ((ub1) 255) 00090 #define MAXUB1MINVAL ((ub1) 0) 00091 #define MINSB1MAXVAL ((sb1) 127) 00092 #define MAXSB1MINVAL ((sb1) -127) 00093 00094 #ifndef lint 00095 typedef unsigned short ub2; 00096 typedef signed short sb2; 00097 #else 00098 #define ub2 unsigned short 00099 #define sb2 signed short 00100 #endif 00101 00102 #define UB2MAXVAL ((ub2)USHRT_MAX) 00103 #define UB2MINVAL ((ub2) 0) 00104 #define SB2MAXVAL ((sb2) SHRT_MAX) 00105 #define SB2MINVAL ((sb2) SHRT_MIN) 00106 #define MINUB2MAXVAL ((ub2) 65535) 00107 #define MAXUB2MINVAL ((ub2) 0) 00108 #define MINSB2MAXVAL ((sb2) 32767) 00109 #define MAXSB2MINVAL ((sb2)-32767) 00110 00111 #ifndef lint 00112 typedef unsigned int ub4; 00113 typedef signed int sb4; 00114 #else 00115 #define eb4 int 00116 #define ub4 unsigned int 00117 #define sb4 signed int 00118 #endif 00119 00120 #define UB4MAXVAL ((ub4)UINT_MAX) 00121 #define UB4MINVAL ((ub4) 0) 00122 #define SB4MAXVAL ((sb4) INT_MAX) 00123 #define SB4MINVAL ((sb4) INT_MIN) 00124 #define MINUB4MAXVAL ((ub4) 4294967295) 00125 #define MAXUB4MINVAL ((ub4) 0) 00126 #define MINSB4MAXVAL ((sb4) 2147483647) 00127 #define MAXSB4MINVAL ((sb4)-2147483647) 00128 00129 #define ORAXB8_DEFINED 00130 #ifndef lint 00131 #ifndef __GNUC__ 00132 typedef unsigned _int64 oraub8; 00133 typedef signed _int64 orasb8; 00134 #else 00135 typedef unsigned long long oraub8; 00136 typedef signed long long orasb8; 00137 #endif 00138 typedef oraub8 ub8; 00139 typedef orasb8 sb8; 00140 #else 00141 # define ub8 oraub8 00142 # define sb8 orasb8 00143 # define oraub8 unsigned _int64 00144 # define orasb8 signed _int64 00145 #endif /* !lint */ 00146 00147 #define ORAUB8MINVAL ((oraub8)0) 00148 #define ORAUB8MAXVAL ((oraub8)18446744073709551615) 00149 #define ORASB8MINVAL ((orasb8)-9223372036854775808) 00150 #define ORASB8MAXVAL ((orasb8) 9223372036854775807) 00151 00152 #define MAXORAUB8MINVAL ((oraub8)0) 00153 #define MINORAUB8MAXVAL ((oraub8)18446744073709551615) 00154 #define MAXORASB8MINVAL ((orasb8)-9223372036854775807) 00155 #define MINORASB8MAXVAL ((orasb8) 9223372036854775807) 00156 00157 #define UB1BITS CHAR_BIT 00158 #define UB1MASK ((1 << ((uword)CHAR_BIT)) - 1) 00159 00160 #ifdef lint 00161 # define oratext unsigned char 00162 #else 00163 typedef unsigned char oratext; 00164 #endif 00165 00166 #ifndef lint 00167 typedef char eb1; 00168 typedef short eb2; 00169 typedef int eb4; 00170 #else 00171 # define eb1 char 00172 # define eb2 short 00173 # define eb4 int 00174 #endif 00175 00176 #define EB1MAXVAL ((eb1)SCHAR_MAX) 00177 #define EB1MINVAL ((eb1) 0) 00178 #define MINEB1MAXVAL ((eb1) 127) 00179 #define MAXEB1MINVAL ((eb1) 0) 00180 #define EB2MAXVAL ((eb2) SHRT_MAX) 00181 #define EB2MINVAL ((eb2) 0) 00182 #define MINEB2MAXVAL ((eb2) 32767) 00183 #define MAXEB2MINVAL ((eb2) 0) 00184 #define EB4MAXVAL ((eb4) INT_MAX) 00185 #define EB4MINVAL ((eb4) 0) 00186 #define MINEB4MAXVAL ((eb4) 2147483647) 00187 #define MAXEB4MINVAL ((eb4) 0) 00188 00189 #ifndef lint 00190 typedef sb1 b1; 00191 #else 00192 #define b1 sb1 00193 #endif 00194 #define B1MAXVAL SB1MAXVAL 00195 #define B1MINVAL SB1MINVAL 00196 00197 #ifndef lint 00198 typedef sb2 b2; 00199 #else 00200 #define b2 sb2 00201 #endif 00202 #define B2MAXVAL SB2MAXVAL 00203 #define B2MINVAL SB2MINVAL 00204 00205 #ifndef lint 00206 typedef sb4 b4; 00207 #else 00208 #define b4 sb4 00209 #endif 00210 # define B4MAXVAL SB4MAXVAL 00211 # define B4MINVAL SB4MINVAL 00212 00213 #if !defined(LUSEMFC) 00214 # ifdef lint 00215 # define text unsigned char 00216 # else 00217 typedef oratext text; 00218 # endif 00219 #endif 00220 00221 #ifdef lint 00222 # define OraText unsigned char 00223 #else 00224 typedef oratext OraText; 00225 #endif 00226 00227 #ifndef lint 00228 typedef int eword; 00229 typedef unsigned int uword; 00230 typedef signed int sword; 00231 #else 00232 #define eword int 00233 #define uword unsigned int 00234 #define sword signed int 00235 #endif 00236 00237 #define EWORDMAXVAL ((eword) INT_MAX) 00238 #define EWORDMINVAL ((eword) 0) 00239 #define UWORDMAXVAL ((uword)UINT_MAX) 00240 #define UWORDMINVAL ((uword) 0) 00241 #define SWORDMAXVAL ((sword) INT_MAX) 00242 #define SWORDMINVAL ((sword) INT_MIN) 00243 #define MINEWORDMAXVAL ((eword) 2147483647) 00244 #define MAXEWORDMINVAL ((eword) 0) 00245 #define MINUWORDMAXVAL ((uword) 4294967295) 00246 #define MAXUWORDMINVAL ((uword) 0) 00247 #define MINSWORDMAXVAL ((sword) 2147483647) 00248 #define MAXSWORDMINVAL ((sword) -2147483647) 00249 00250 #ifdef _WIN64 00251 00252 #ifndef lint 00253 typedef unsigned _int64 ubig_ora; 00254 typedef signed _int64 sbig_ora; 00255 #else 00256 #define ubig_ora unsigned _int64 00257 #define sbig_ora signed _int64 00258 #endif 00259 00260 #define UBIG_ORAMAXVAL ((ubig_ora)_UI64_MAX) 00261 #define UBIG_ORAMINVAL ((ubig_ora) 0) 00262 #define SBIG_ORAMAXVAL ((sbig_ora) _I64_MAX) 00263 #define SBIG_ORAMINVAL ((sbig_ora) _I64_MIN) 00264 #define MINUBIG_ORAMAXVAL ((ubig_ora) 4294967295) 00265 #define MAXUBIG_ORAMINVAL ((ubig_ora) 0) 00266 #define MINSBIG_ORAMAXVAL ((sbig_ora) 2147483647) 00267 #define MAXSBIG_ORAMINVAL ((sbig_ora)-2147483647) 00268 00269 #else 00270 00271 #ifndef lint 00272 typedef unsigned long ubig_ora; 00273 typedef signed long sbig_ora; 00274 #else 00275 #define ubig_ora unsigned long 00276 #define sbig_ora signed long 00277 #endif 00278 00279 #define UBIG_ORAMAXVAL ((ubig_ora)ULONG_MAX) 00280 #define UBIG_ORAMINVAL ((ubig_ora) 0) 00281 #define SBIG_ORAMAXVAL ((sbig_ora) LONG_MAX) 00282 #define SBIG_ORAMINVAL ((sbig_ora) LONG_MIN) 00283 #define MINUBIG_ORAMAXVAL ((ubig_ora) 4294967295) 00284 #define MAXUBIG_ORAMINVAL ((ubig_ora) 0) 00285 #define MINSBIG_ORAMAXVAL ((sbig_ora) 2147483647) 00286 #define MAXSBIG_ORAMINVAL ((sbig_ora)-2147483647) 00287 00288 #endif /* _WIN64 */ 00289 00290 #define UBIGORABITS (UB1BITS * sizeof(ubig_ora)) 00291 00292 #undef CONST 00293 #define CONST const 00294 00295 #define dvoid void 00296 00297 typedef void (*lgenfp_t)( void ); 00298 00299 #ifndef ORASYS_TYPES 00300 # include <sys/types.h> 00301 # define ORASYS_TYPES 00302 #endif 00303 00304 #ifndef boolean 00305 # define boolean int 00306 #endif 00307 00308 #ifdef sparc 00309 # define SIZE_TMAXVAL SB4MAXVAL 00310 #else 00311 # define SIZE_TMAXVAL UB4MAXVAL 00312 #endif 00313 00314 #define MINSIZE_TMAXVAL (size_t)4294967295 00315 00316 #if !defined(MOTIF) && !defined(LISPL) && !defined(__cplusplus) && !defined(LUSEMFC) 00317 typedef oratext *string; 00318 #endif 00319 00320 #ifndef lint 00321 typedef unsigned short utext; 00322 #else 00323 #define utext unsigned short 00324 #endif 00325 00326 #endif /* OCILIB_OCI_TYPES_H_INCLUDED */ 00327