C:/Users/vincent/Data/Perso/dev/ocilib/ocilib/src/oci_import.h

00001 /*
00002    +----------------------------------------------------------------------+
00003    |                                                                      |
00004    |                     OCILIB - C Driver for Oracle                     |
00005    |                                                                      |
00006    |                      (C Wrapper for Oracle OCI)                      |
00007    |                                                                      |
00008    +----------------------------------------------------------------------+
00009    |                      Website : http://www.ocilib.net                 |
00010    +----------------------------------------------------------------------+
00011    |               Copyright (c) 2007-2009 Vincent ROGIER                 |
00012    +----------------------------------------------------------------------+
00013    | This library is free software; you can redistribute it and/or        |
00014    | modify it under the terms of the GNU Lesser General Public           |
00015    | License as published by the Free Software Foundation; either         |
00016    | version 2 of the License, or (at your option) any later version.     |
00017    |                                                                      |
00018    | This library is distributed in the hope that it will be useful,      |
00019    | but WITHOUT ANY WARRANTY; without even the implied warranty of       |
00020    | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU    |
00021    | Lesser General Public License for more details.                      |
00022    |                                                                      |
00023    | You should have received a copy of the GNU Lesser General Public     |
00024    | License along with this library; if not, write to the Free           |
00025    | Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.   |
00026    +----------------------------------------------------------------------+
00027    |          Author: Vincent ROGIER <vince.rogier@gmail.com>             |
00028    +----------------------------------------------------------------------+
00029 */
00030 
00031 /* ------------------------------------------------------------------------ *
00032  * $Id: oci_import.h, v 3.4.0 2009-07-30 17:40 Vince $
00033  * ------------------------------------------------------------------------ */
00034 
00035 #ifndef OCILIB_OCI_IMPORT_H_INCLUDED
00036 #define OCILIB_OCI_IMPORT_H_INCLUDED
00037 
00038 #ifdef OCI_IMPORT_LINKAGE
00039 
00040 
00041 /* this is necessary because some Oracle headers do NOT include C++ checks !
00042    By example, the file orid.h is not protected !
00043 */
00044 
00045 #ifdef __cplusplus
00046 extern "C" {
00047 #endif  /* __cplusplus */
00048 
00049 #include <oci.h>
00050 #include <orid.h>
00051 #include <oci8dp.h>
00052 
00053 #ifdef  __cplusplus
00054 }
00055 #endif
00056 
00057 #ifdef _MSC_VER
00058 #pragma comment(lib, "oci.lib")
00059 #endif
00060 
00061 #else
00062 
00063 #include "oci_loader.h"
00064 #include "oci_api.h"
00065 
00066 /* Setup Oracle shared library name if not provided */
00067 
00068 #ifndef OCI_DL
00069   #if defined(_WINDOWS)
00070     #define OCI_DL                   oci.dll
00071   #elif defined(__APPLE__)
00072     #define OCI_DL                   libclntsh.dylib
00073   #elif defined(__hppa)
00074     #define OCI_DL                   libclntsh.sl
00075   #else
00076     #define OCI_DL                   libclntsh.so
00077   #endif
00078 #endif
00079 
00080 /* ANSI string version of Oracle shared lib */
00081 
00082 #define OCI_DL_ANSI_GET(s)  OCI_DL_ANSI_CVT(s)
00083 #define OCI_DL_ANSI_CVT(s)  #s
00084 #define OCI_DL_ANSI_NAME    OCI_DL_ANSI_GET(OCI_DL)
00085 
00086 
00087 /* Meta string version of Oracle shared lib */
00088 
00089 #define OCI_DL_META_GET(s)  OCI_DL_META_CVT(s)
00090 #define OCI_DL_META_CVT(s)  MT(#s)
00091 #define OCI_DL_META_NAME    OCI_DL_META_GET(OCI_DL)
00092 
00093 /* symbol list */
00094 
00095 extern OCIENVCREATE                 OCIEnvCreate;
00096 extern OCISERVERATTACH              OCIServerAttach;
00097 extern OCISERVERDETACH              OCIServerDetach;
00098 extern OCIHANDLEALLOC               OCIHandleAlloc;
00099 extern OCIHANDLEFREE                OCIHandleFree;
00100 extern OCIDESCRIPTORALLOC           OCIDescriptorAlloc;
00101 extern OCIDESCRIPTORFREE            OCIDescriptorFree;
00102 extern OCISESSIONBEGIN              OCISessionBegin;
00103 extern OCISESSIONEND                OCISessionEnd;
00104 extern OCIPASSWORDCHANGE            OCIPasswordChange;
00105 extern OCIBINDBYPOS                 OCIBindByPos;
00106 extern OCIBINDBYNAME                OCIBindByName;
00107 extern OCIBINDDYNAMIC               OCIBindDynamic;
00108 extern OCIBINDOBJECT                OCIBindObject;
00109 extern OCIDEFINEBYPOS               OCIDefineByPos;
00110 extern OCIDEFINEOBJECT              OCIDefineObject;
00111 extern OCISTMTPREPARE               OCIStmtPrepare;
00112 extern OCISTMTEXECUTE               OCIStmtExecute;
00113 extern OCISTMTFETCH                 OCIStmtFetch;
00114 extern OCISTMTFETCH2                OCIStmtFetch2;
00115 extern OCISTMTGETPIECEINFO          OCIStmtGetPieceInfo;
00116 extern OCISTMTSETPIECEINFO          OCIStmtSetPieceInfo;
00117 extern OCIPARAMGET                  OCIParamGet;
00118 extern OCIPARAMSET                  OCIParamSet;
00119 extern OCITRANSSTART                OCITransStart;
00120 extern OCITRANSDETACH               OCITransDetach;
00121 extern OCITRANSPREPARE              OCITransPrepare;
00122 extern OCITRANSFORGET               OCITransForget;
00123 extern OCITRANSCOMMIT               OCITransCommit;
00124 extern OCITRANSROLLBACK             OCITransRollback;
00125 extern OCIERRORGET                  OCIErrorGet;
00126 extern OCILOBCREATETEMPORARY        OCILobCreateTemporary;
00127 extern OCILOBFREETEMPORARY          OCILobFreeTemporary;
00128 extern OCILOBISTEMPORARY            OCILobIsTemporary;
00129 extern OCILOBAPPEND                 OCILobAppend;
00130 extern OCILOBCOPY                   OCILobCopy;
00131 extern OCILOBGETLENGTH              OCILobGetLength;
00132 extern OCILOBREAD                   OCILobRead;
00133 extern OCILOBWRITE                  OCILobWrite;
00134 extern OCILOBTRIM                   OCILobTrim;
00135 extern OCILOBERASE                  OCILobErase;
00136 extern OCILOBOPEN                   OCILobOpen;
00137 extern OCILOBCLOSE                  OCILobClose;
00138 extern OCILOBLOCATORASSIGN          OCILobLocatorAssign;
00139 extern OCILOBASSIGN                 OCILobAssign;
00140 extern OCILOBISEQUAL                OCILobIsEqual;
00141 extern OCILOBFLUSHBUFFER            OCILobFlushBuffer;
00142 extern OCILOBGETSTORAGELIMIT        OCILobGetStorageLimit;
00143 extern OCILOBFILEOPEN               OCILobFileOpen;
00144 extern OCILOBFILECLOSE              OCILobFileClose;
00145 extern OCILOBFILECLOSEALL           OCILobFileCloseAll;
00146 extern OCILOBFILEISOPEN             OCILobFileIsOpen;
00147 extern OCILOBFILEEXISTS             OCILobFileExists;
00148 extern OCILOBFIELGETNAME            OCILobFileGetName;
00149 extern OCILOBFILESETNAME            OCILobFileSetName;
00150 extern OCILOBLOADFROMFILE           OCILobLoadFromFile;
00151 extern OCILOBWRITEAPPEND            OCILobWriteAppend;
00152 extern OCISERVERVERSION             OCIServerVersion;
00153 extern OCIBREAK                     OCIBreak;
00154 extern OCIATTRGET                   OCIAttrGet;
00155 extern OCIATTRSET                   OCIAttrSet;
00156 extern OCIDATEASSIGN                OCIDateAssign;
00157 extern OCIDATETOTEXT                OCIDateToText;
00158 extern OCIDATEFROMTEXT              OCIDateFromText;
00159 extern OCIDATECOMPARE               OCIDateCompare;
00160 extern OCIDATEADDMONTHS             OCIDateAddMonths;
00161 extern OCIDATEADDDAYS               OCIDateAddDays;
00162 extern OCIDATELASTDAY               OCIDateLastDay;
00163 extern OCIDATEDAYSBETWEEN           OCIDateDaysBetween;
00164 extern OCIDATEZONETOZONE            OCIDateZoneToZone;
00165 extern OCIDATENEXTDAY               OCIDateNextDay;
00166 extern OCIDATECHECK                 OCIDateCheck;
00167 extern OCIDATESYSDATE               OCIDateSysDate;
00168 extern OCIDESCRIBEANY               OCIDescribeAny;
00169 extern OCIINTERVALASSIGN            OCIIntervalAssign;
00170 extern OCIINTERVALCHECK             OCIIntervalCheck;
00171 extern OCIINTERVALCOMPARE           OCIIntervalCompare;
00172 extern OCIINTERVALFROMTEXT          OCIIntervalFromText;
00173 extern OCIINTERVALTOTEXT            OCIIntervalToText;
00174 extern OCIINTERVALFROMTZ            OCIIntervalFromTZ;
00175 extern OCIINTERVALGETDAYSECOND      OCIIntervalGetDaySecond;
00176 extern OCIINTERVALGETYEARMONTH      OCIIntervalGetYearMonth;
00177 extern OCIINTERVALSETDAYSECOND      OCIIntervalSetDaySecond;
00178 extern OCIINTERVALSETYEARMONTH      OCIIntervalSetYearMonth;
00179 extern OCIINTERVALSUBTRACT          OCIIntervalSubtract;
00180 extern OCIINTERVALADD               OCIIntervalAdd;
00181 extern OCIDATETIMEASSIGN            OCIDateTimeAssign;
00182 extern OCIDATETIMECHECK             OCIDateTimeCheck;
00183 extern OCIDATETIMECOMPARE           OCIDateTimeCompare;
00184 extern OCIDATETIMECONSTRUCT         OCIDateTimeConstruct;
00185 extern OCIDATETIMECONVERT           OCIDateTimeConvert;
00186 extern OCIDATETIMEFROMARRAY         OCIDateTimeFromArray;
00187 extern OCIDATETIMETOARRAY           OCIDateTimeToArray;
00188 extern OCIDATETIMEFROMTEXT          OCIDateTimeFromText;
00189 extern OCIDATETIMETOTEXT            OCIDateTimeToText;
00190 extern OCIDATETIMEGETDATE           OCIDateTimeGetDate;
00191 extern OCIDATETIMEGETTIME           OCIDateTimeGetTime;
00192 extern OCIDATETIMEGETTIMEZONENAME   OCIDateTimeGetTimeZoneName;
00193 extern OCIDATETIMEGETTIMEZONEOFFSET OCIDateTimeGetTimeZoneOffset;
00194 extern OCIDATETIMEINTERVALADD       OCIDateTimeIntervalAdd;
00195 extern OCIDATETIMEINTERVALSUB       OCIDateTimeIntervalSub;
00196 extern OCIDATETIMESUBTRACT          OCIDateTimeSubtract;
00197 extern OCIDATETIMESYSTIMESTAMP      OCIDateTimeSysTimeStamp;
00198 extern OCIARRAYDESCRIPTORFREE       OCIArrayDescriptorFree;
00199 extern OCICLIENTVERSION             OCIClientVersion;
00200 extern OCITYPEBYNAME                OCITypeByName;
00201 extern OCINUMBERTOINT               OCINumberToInt;
00202 extern OCINUMBERFROMINT             OCINumberFromInt;
00203 extern OCINUMBERTOREAL              OCINumberToReal;
00204 extern OCINUMBERFROMREAL            OCINumberFromReal;
00205 extern OCINUMBERTOTEXT              OCINumberToText;
00206 extern OCINUMBERFROMTEXT            OCINumberFromText;
00207 extern OCISTRINGPTR                 OCIStringPtr;
00208 extern OCISTRINGASSIGNTEXT          OCIStringAssignText;
00209 extern OCIRAWPTR                    OCIRawPtr;
00210 extern OCIRAWASSIGNBYTES            OCIRawAssignBytes;
00211 extern OCIRAWALLOCSIZE              OCIRawAllocSize;
00212 extern OCIOBJECTNEW                 OCIObjectNew;
00213 extern OCIOBJECTFREE                OCIObjectFree;
00214 extern OCIOBJECTSETATTR             OCIObjectSetAttr;
00215 extern OCIOBJECTGETATTR             OCIObjectGetAttr;
00216 extern OCIOBJECTPIN                 OCIObjectPin;
00217 extern OCIOBJECTUNPIN               OCIObjectUnpin;
00218 extern OCIOBJECTCOPY                OCIObjectCopy;
00219 extern OCIOBJECTGETOBJECTREF        OCIObjectGetObjectRef;
00220 extern OCIOBJECTGETPROPERTY         OCIObjectGetProperty;
00221 extern OCIOBJECTGETIND              OCIObjectGetInd;
00222 extern OCIREFASSIGN                 OCIRefAssign;
00223 extern OCIREFISNULL                 OCIRefIsNull;
00224 extern OCIREFCLEAR                  OCIRefClear;
00225 extern OCIREFTOHEX                  OCIRefToHex;
00226 extern OCIREFHEXSIZE                OCIRefHexSize;
00227 extern OCITHREADPROCESSINIT         OCIThreadProcessInit;
00228 extern OCITHREADINIT                OCIThreadInit;
00229 extern OCITHREADTERM                OCIThreadTerm;
00230 extern OCITHREADIDINIT              OCIThreadIdInit;
00231 extern OCITHREADIDDESTROY           OCIThreadIdDestroy;
00232 extern OCITHREADHNDINIT             OCIThreadHndInit;
00233 extern OCITHREADHNDDESTROY          OCIThreadHndDestroy;
00234 extern OCITHREADCREATE              OCIThreadCreate;
00235 extern OCITHREADJOIN                OCIThreadJoin;
00236 extern OCITHREADCLOSE               OCIThreadClose;
00237 extern OCITHREADMUTEXINIT           OCIThreadMutexInit;
00238 extern OCITHREADMUTEXDESTROY        OCIThreadMutexDestroy;
00239 extern OCITHREADMUTEXACQUIRE        OCIThreadMutexAcquire;
00240 extern OCITHREADMUTEXRELEASE        OCIThreadMutexRelease;
00241 extern OCITHREADKEYINIT             OCIThreadKeyInit;
00242 extern OCITHREADKEYDESTROY          OCIThreadKeyDestroy;
00243 extern OCITHREADKEYSET              OCIThreadKeySet;
00244 extern OCITHREADKEYGET              OCIThreadKeyGet;
00245 extern OCICONNECTIONPOOLCREATE      OCIConnectionPoolCreate;
00246 extern OCICONNECTIONPOOLDESTROY     OCIConnectionPoolDestroy;
00247 extern OCICOLLSIZE                  OCICollSize;
00248 extern OCICOLLMAX                   OCICollMax;
00249 extern OCICOLLGETITEM               OCICollGetElem;
00250 extern OCICOLLASSIGNELEM            OCICollAssignElem;
00251 extern OCICOLLASSIGN                OCICollAssign;
00252 extern OCICOLLAPPEND                OCICollAppend;
00253 extern OCICOLLTRIM                  OCICollTrim;
00254 extern OCIITERCREATE                OCIIterCreate;
00255 extern OCIITERDELETE                OCIIterDelete;
00256 extern OCIITERINIT                  OCIIterInit;
00257 extern OCIITERNEXT                  OCIIterNext;
00258 extern OCIITERPREV                  OCIIterPrev;
00259 
00260 extern OCIDIRPATHABORT              OCIDirPathAbort;
00261 extern OCIDIRPATHDATASAVE           OCIDirPathDataSave;
00262 extern OCIDIRPATHFINISH             OCIDirPathFinish;
00263 extern OCIDIRPATHPREPARE            OCIDirPathPrepare;
00264 extern OCIDIRPATHLOADSTREAM         OCIDirPathLoadStream;
00265 extern OCIDIRPATHCOLARRAYENTRYSET   OCIDirPathColArrayEntrySet;
00266 extern OCIDIRPATHCOLARRAYRESET      OCIDirPathColArrayReset;
00267 extern OCIDIRPATHCOLARRAYTOSTREAM   OCIDirPathColArrayToStream;
00268 extern OCIDIRPATHSTREAMRESET        OCIDirPathStreamReset;
00269 extern OCIDIRPATHFLUSHROW           OCIDirPathFlushRow;
00270 
00271 extern OCICACHEFREE                 OCICacheFree;
00272 
00273 extern OCIPING                      OCIPing;
00274 
00275 #ifdef ORAXB8_DEFINED
00276 
00277 extern OCILOBCOPY2                  OCILobCopy2;
00278 extern OCILOBERASE2                 OCILobErase2;
00279 extern OCILOBGETLENGTH2             OCILobGetLength2;
00280 extern OCILOBLOADFROMFILE2          OCILobLoadFromFile2;
00281 extern OCILOBREAD2                  OCILobRead2;
00282 extern OCILOBTRIM2                  OCILobTrim2;
00283 extern OCILOBWRITE2                 OCILobWrite2;
00284 extern OCILOBWRITEAPPEND2           OCILobWriteAppend2;
00285 
00286 extern OCIDBSTARTUP                 OCIDBStartup;
00287 extern OCIDBSHUTDOWN                OCIDBShutdown;
00288 
00289 extern OCISTMTPREPARE2              OCIStmtPrepare2;
00290 extern OCISTMTRELEASE               OCIStmtRelease;
00291 
00292 #endif
00293 
00294 #define OCIDateGetTime(date, hour, min, sec) \
00295   { \
00296      *hour = (date)->OCIDateTime.OCITimeHH; \
00297      *min = (date)->OCIDateTime.OCITimeMI; \
00298      *sec = (date)->OCIDateTime.OCITimeSS; \
00299   }
00300 
00301 #define OCIDateGetDate(date, year, month, day) \
00302   { \
00303      *year = (date)->OCIDateYYYY; \
00304      *month = (date)->OCIDateMM; \
00305      *day = (date)->OCIDateDD; \
00306   }
00307 
00308 #define OCIDateSetTime(date, hour, min, sec) \
00309   { \
00310      (date)->OCIDateTime.OCITimeHH = hour; \
00311      (date)->OCIDateTime.OCITimeMI = min; \
00312      (date)->OCIDateTime.OCITimeSS = sec; \
00313   }
00314 
00315 #define OCIDateSetDate(date, year, month, day) \
00316   { \
00317      (date)->OCIDateYYYY = year; \
00318      (date)->OCIDateMM = month; \
00319      (date)->OCIDateDD = day; \
00320   }
00321 
00322 #endif
00323 
00324 #endif    /* OCILIB_OCI_IMPORT_H_INCLUDED */
00325 

Generated on Thu Jul 30 17:41:53 2009 for OCILIB (C Driver for Oracle) by  doxygen 1.5.4