• Main Page
  • Modules
  • Data Structures
  • Files
  • File List

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

Generated on Sun Oct 24 2010 22:02:55 for OCILIB (C Driver for Oracle) by  doxygen 1.7.1