OCILIB (C Driver for Oracle) 3.12.1
oci_types.h
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