| TerraLib 4.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

E:/Projetos_Primeiro_Semestre_2012/TerraView/terralib/src/terralib/drivers/Oracle/OCI/include/ocidfn.h
Go to the documentation of this file.

    00001 /*
    00002  * $Header$
    00003  */
    00004
    00005 /* Copyright (c) 1991, 2002, Oracle Corporation.  All rights reserved.  */
    00006 /* Copyright (c) 1991, 2002, Oracle Corporation.  All rights reserved.  */
    00007 /*
    00008    NAME
    00009      ocidfn.h - OCI Definations
    00010    NOTES
    00011      Shipped to users.
    00012    MODIFIED   (MM/DD/YY)
    00013     srseshad   11/25/02 - change binary float/double codes
    00014     srseshad   11/14/02 - Add SQLT_IBFLOAT, SQLT_IBDOUBLE
    00015     mxyang     09/17/02 - grabtrans 'mmorsi_obj_float'
    00016     srseshad   09/06/02 - Add binary float/double
    00017     aahluwal   06/04/02 - bug 2360115
    00018     kmuthukk   05/02/00 - add SQLT_PNTY
    00019     amangal    07/30/99 - Merge into 8.1.6 : Bug 879031
    00020     tnbui      07/28/99 - Remove SQLT_TIMESTAMP_ITZ
    00021     tnbui      07/21/99 - SQLT_TIMESTAMP_LTZ
    00022     tnbui      06/16/99 - TIMESTAMP WITH IMPLICIT TIME ZONE
    00023     whe        04/07/99 - bug#810075
    00024     whe        03/19/99 - lrg 32079 etc.: move HDA def from ocidem.h to ocidfn.
    00025     skmishra   05/10/98 -
    00026     vyanaman   04/16/98 - update sql92 datatypes
    00027     khnguyen   01/16/98 -
    00028     khnguyen   12/23/97 - SQLT* for datetimes and intervals
    00029     tanguyen   08/19/97 -
    00030     dchatter   03/18/97 -  porting exception 390897
    00031     dchatter   05/02/97 -   merge porting exception
    00032     dalpern    12/04/96 -   SQLCS_LIT_NULL added
    00033     cxcheng    11/14/96 -   add SQLT_BFILE/SQLT_CFILE to fix compile prob
    00034     cxcheng    11/12/96 -   add SQLT_NCO for named collection
    00035     lchidamb   10/17/96 -   add SQLT_VST and SQLT_ODT
    00036     sgollapu   10/14/96 -   Mutual exclusion of ocidfn and sqldef
    00037     sgollapu   10/07/96 -   OCI Simplification
    00038     aroy       09/09/96 -   add SQLCS* definitions
    00039     slari      08/07/96 -  add SQLT_RDD, rowid descriptor
    00040     slari      06/12/96 -  remove SQLT_TTBL
    00041     dchatter   04/21/96 -  prepare for merge into main
    00042     slari      08/24/95 -  b299432, define CDA_SIZE
    00043     zwalcott   02/28/96 -  add SQLT_BFILEE and SQLT_CFILEE.
    00044     lchidamb   02/22/96 -  make dtys consistent with dtydef.h
    00045     lchidamb   02/16/96 -  add SQLT_BFILEE and SQLT_CFILEE
    00046     lchidamb   01/30/96 -  rename new datatypes for v8
    00047     lchidamb   09/06/95 -  add new datatypes
    00048     slari      05/11/95 -  add OCI_EV_DEF and OCI_EV_TSF
    00049     dchatter   04/06/95 -  add ifdef flags around OCI_flags
    00050     dchatter   03/08/95 -  piece values
    00051     dchatter   03/06/95 -  merge changes from branch 1.2.720.3
    00052     jfbrown    02/17/95 -  merge changes from branch 1.2.720.2
    00053     dchatter   02/08/95 -  olog call modes
    00054     jfbrown    02/03/95 -  remove non-printable characters
    00055     lchidamb   12/06/94 -  merge changes from branch 1.2.720.1
    00056     lchidamb   10/04/94 -  added field chk to cda_head, cda_def
    00057     dchatter   07/05/94 -  SQLT_CUR added
    00058     rkooi2     11/27/92 -  Changing e* datatypes to s*
    00059     rkooi2     10/26/92 -  More portability mods
    00060     rkooi2     10/22/92 -  Added #ifndef ORATYPES ...
    00061     rkooi2     10/18/92 -  Changes to make it portable.
    00062     sjain      03/16/92 -  Creation
    00063 */
    00064
    00065 /*
    00066  *  ocidfn.h
    00067  *
    00068  *  Common header file for OCI C sample programs.
    00069  *  This header declares the cursor and logon data area structure.
    00070  *  The types used are defined in <oratypes.h>.
    00071  *
    00072  */
    00073
    00074 #ifndef OCIDFN
    00075 #define OCIDFN
    00076
    00077 #ifndef ORATYPES
    00078 #include <oratypes.h>
    00079 #endif
    00080
    00081 /* The cda_head struct is strictly PRIVATE.  It is used
    00082    internally only. Do not use this struct in OCI programs. */
    00083
    00084 struct cda_head {
    00085     sb2          v2_rc;
    00086     ub2          ft;
    00087     ub4          rpc;
    00088     ub2          peo;
    00089     ub1          fc;
    00090     ub1          rcs1;
    00091     ub2          rc;
    00092     ub1          wrn;
    00093     ub1          rcs2;
    00094     sword        rcs3;
    00095     struct {
    00096         struct {
    00097            ub4    rcs4;
    00098            ub2    rcs5;
    00099            ub1    rcs6;
    00100         } rd;
    00101         ub4    rcs7;
    00102         ub2    rcs8;
    00103     } rid;
    00104     sword        ose;
    00105     ub1           chk;
    00106     dvoid        *rcsp;
    00107 };
    00108
    00109 /*
    00110 ** Size of HDA area:
    00111 ** 512 for 64 bit arquitectures
    00112 ** 256 for 32 bit arquitectures
    00113 */
    00114
    00115 #if defined(SS_64BIT_SERVER) || defined(__64BIT__)
    00116 # define HDA_SIZE 512
    00117 #else
    00118 # define HDA_SIZE 256
    00119 #endif
    00120
    00121 #if defined(SS_64BIT_SERVER) || defined(__64BIT__)
    00122 #define CDA_SIZE 88
    00123 #else
    00124 # define CDA_SIZE 64
    00125 #endif
    00126
    00127 /* the real CDA, padded to CDA_SIZE bytes in size */
    00128 struct cda_def {
    00129     sb2          v2_rc;                                    /* V2 return code */
    00130     ub2          ft;                                    /* SQL function type */
    00131     ub4          rpc;                                /* rows processed count */
    00132     ub2          peo;                                  /* parse error offset */
    00133     ub1          fc;                                    /* OCI function code */
    00134     ub1          rcs1;                                        /* filler area */
    00135     ub2          rc;                                       /* V7 return code */
    00136     ub1          wrn;                                       /* warning flags */
    00137     ub1          rcs2;                                           /* reserved */
    00138     sword        rcs3;                                           /* reserved */
    00139     struct {                                              /* rowid structure */
    00140         struct {
    00141            ub4    rcs4;
    00142            ub2    rcs5;
    00143            ub1    rcs6;
    00144         } rd;
    00145         ub4    rcs7;
    00146         ub2    rcs8;
    00147     } rid;
    00148     sword        ose;                                 /* OSD dependent error */
    00149     ub1           chk;
    00150     dvoid        *rcsp;                          /* pointer to reserved area */
    00151     ub1          rcs9[CDA_SIZE - sizeof (struct cda_head)];        /* filler */
    00152 };
    00153
    00154 typedef struct cda_def Cda_Def;
    00155
    00156 /* the logon data area (LDA)
    00157    is the same shape as the CDA */
    00158 typedef struct cda_def Lda_Def;
    00159
    00160 /* OCI Environment Modes for opinit call */
    00161 #define OCI_EV_DEF 0                  /* default single-threaded environment */
    00162 #define OCI_EV_TSF 1                              /* thread-safe environment */
    00163
    00164 /* OCI Logon Modes for olog call */
    00165 #define OCI_LM_DEF 0                                        /* default login */
    00166 #define OCI_LM_NBL 1                                   /* non-blocking logon */
    00167
    00168 /*
    00169  * since sqllib uses both ocidef and ocidfn the following defines
    00170  * need to be guarded
    00171  */
    00172 #ifndef OCI_FLAGS
    00173 #define OCI_FLAGS
    00174
    00175 /* OCI_*_PIECE defines the piece types that are returned or set
    00176 */
    00177 #define OCI_ONE_PIECE   0                 /* there or this is the only piece */
    00178 #define OCI_FIRST_PIECE 1                        /* the first of many pieces */
    00179 #define OCI_NEXT_PIECE  2                         /* the next of many pieces */
    00180 #define OCI_LAST_PIECE  3                   /* the last piece of this column */
    00181 #endif
    00182
    00183 #ifndef SQLDEF
    00184
    00185 /* input data types */
    00186 #define SQLT_CHR  1                        /* (ORANET TYPE) character string */
    00187 #define SQLT_NUM  2                          /* (ORANET TYPE) oracle numeric */
    00188 #define SQLT_INT  3                                 /* (ORANET TYPE) integer */
    00189 #define SQLT_FLT  4                   /* (ORANET TYPE) Floating point number */
    00190 #define SQLT_STR  5                                /* zero terminated string */
    00191 #define SQLT_VNU  6                        /* NUM with preceding length byte */
    00192 #define SQLT_PDN  7                  /* (ORANET TYPE) Packed Decimal Numeric */
    00193 #define SQLT_LNG  8                                                  /* long */
    00194 #define SQLT_VCS  9                             /* Variable character string */
    00195 #define SQLT_NON  10                      /* Null/empty PCC Descriptor entry */
    00196 #define SQLT_RID  11                                                /* rowid */
    00197 #define SQLT_DAT  12                                /* date in oracle format */
    00198 #define SQLT_VBI  15                                 /* binary in VCS format */
    00199 #define SQLT_BFLOAT 21                                /* Native Binary float*/
    00200 #define SQLT_BDOUBLE 22                             /* NAtive binary double */
    00201 #define SQLT_BIN  23                                  /* binary data(DTYBIN) */
    00202 #define SQLT_LBI  24                                          /* long binary */
    00203 #define SQLT_UIN  68                                     /* unsigned integer */
    00204 #define SQLT_SLS  91                        /* Display sign leading separate */
    00205 #define SQLT_LVC  94                                  /* Longer longs (char) */
    00206 #define SQLT_LVB  95                                   /* Longer long binary */
    00207 #define SQLT_AFC  96                                      /* Ansi fixed char */
    00208 #define SQLT_AVC  97                                        /* Ansi Var char */
    00209 #define SQLT_IBFLOAT  100                           /* binary float canonical */
    00210 #define SQLT_IBDOUBLE 101                          /* binary double canonical */
    00211 #define SQLT_CUR  102                                        /* cursor  type */
    00212 #define SQLT_RDD  104                                    /* rowid descriptor */
    00213 #define SQLT_LAB  105                                          /* label type */
    00214 #define SQLT_OSL  106                                        /* oslabel type */
    00215
    00216 #define SQLT_NTY  108                                   /* named object type */
    00217 #define SQLT_REF  110                                            /* ref type */
    00218 #define SQLT_CLOB 112                                       /* character lob */
    00219 #define SQLT_BLOB 113                                          /* binary lob */
    00220 #define SQLT_BFILEE 114                                   /* binary file lob */
    00221 #define SQLT_CFILEE 115                                /* character file lob */
    00222 #define SQLT_RSET 116                                     /* result set type */
    00223 #define SQLT_NCO  122      /* named collection type (varray or nested table) */
    00224 #define SQLT_VST  155                                      /* OCIString type */
    00225 #define SQLT_ODT  156                                        /* OCIDate type */
    00226
    00227 /* datetimes and intervals */
    00228 #define SQLT_DATE                      184                      /* ANSI Date */
    00229 #define SQLT_TIME                      185                           /* TIME */
    00230 #define SQLT_TIME_TZ                   186            /* TIME WITH TIME ZONE */
    00231 #define SQLT_TIMESTAMP                 187                      /* TIMESTAMP */
    00232 #define SQLT_TIMESTAMP_TZ              188       /* TIMESTAMP WITH TIME ZONE */
    00233 #define SQLT_INTERVAL_YM               189         /* INTERVAL YEAR TO MONTH */
    00234 #define SQLT_INTERVAL_DS               190         /* INTERVAL DAY TO SECOND */
    00235 #define SQLT_TIMESTAMP_LTZ             232        /* TIMESTAMP WITH LOCAL TZ */
    00236
    00237 #define SQLT_PNTY   241              /* pl/sql representation of named types */
    00238
    00239 /* cxcheng: this has been added for backward compatibility -
    00240    it needs to be here because ocidfn.h can get included ahead of sqldef.h */
    00241 #define SQLT_FILE SQLT_BFILEE                             /* binary file lob */
    00242 #define SQLT_CFILE SQLT_CFILEE
    00243 #define SQLT_BFILE SQLT_BFILEE
    00244
    00245 /* CHAR/NCHAR/VARCHAR2/NVARCHAR2/CLOB/NCLOB char set "form" information */
    00246 #define SQLCS_IMPLICIT 1     /* for CHAR, VARCHAR2, CLOB w/o a specified set */
    00247 #define SQLCS_NCHAR    2                  /* for NCHAR, NCHAR VARYING, NCLOB */
    00248 #define SQLCS_EXPLICIT 3   /* for CHAR, etc, with "CHARACTER SET ..." syntax */
    00249 #define SQLCS_FLEXIBLE 4                 /* for PL/SQL "flexible" parameters */
    00250 #define SQLCS_LIT_NULL 5      /* for typecheck of NULL and empty_clob() lits */
    00251
    00252 #endif  /* SQLDEF */
    00253 #endif  /* OCIDFN */

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines