📄 ocilib_internal.h
字号:
/*
+----------------------------------------------------------------------+
| |
| OCILIB - C Driver for Oracle |
| |
| (C Wrapper for Oracle OCI) |
| |
+----------------------------------------------------------------------+
| Website : http://ocilib.net |
+----------------------------------------------------------------------+
| Copyright (c) 2007-2009 Vincent ROGIER |
+----------------------------------------------------------------------+
| This library is free software; you can redistribute it and/or |
| modify it under the terms of the GNU Library General Public |
| License as published by the Free Software Foundation; either |
| version 2 of the License, or (at your option) any later version. |
| |
| This library is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| Library General Public License for more details. |
| |
| You should have received a copy of the GNU Library General Public |
| License along with this library; if not, write to the Free |
| Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
+----------------------------------------------------------------------+
| Author: Vincent ROGIER <vince.rogier@gmail.com> |
+----------------------------------------------------------------------+
*/
/* ------------------------------------------------------------------------ *
* $Id: ocilib_internal.h, v 3.2.0 2009/04/20 00:00 Vince $
* ------------------------------------------------------------------------ */
#ifndef OCILIB_OCILIB_INTERNAL_H_INCLUDED
#define OCILIB_OCILIB_INTERNAL_H_INCLUDED
#include "ocilib_types.h"
#include "ocilib_checks.h"
#ifdef __cplusplus
extern "C"
{
#endif
/* ************************************************************************ *
PRIVATE FUNCTIONS PROTOTYPES
* ************************************************************************ */
/* ------------------------------------------------------------------------ *
* bind.c
* ------------------------------------------------------------------------ */
boolean OCI_BindFree
(
OCI_Bind *bnd
);
/* ------------------------------------------------------------------------ *
* callback.c
* ------------------------------------------------------------------------ */
sb4 OCI_ProcInBind
(
dvoid *ictxp,
OCIBind *bindp,
ub4 iter,
ub4 index,
dvoid **bufpp,
ub4 *alenp,
ub1 *piecep,
dvoid **indp
);
sb4 OCI_ProcOutBind(
dvoid *octxp,
OCIBind *bindp,
ub4 iter,
ub4 index,
dvoid **bufpp,
ub4 **alenp,
ub1 *piecep,
void **indp,
ub2 **rcodep
);
/* ------------------------------------------------------------------------ *
* collection.c
* ------------------------------------------------------------------------ */
boolean OCI_CollGetInternalSize
(
OCI_Coll *coll
);
OCI_Coll * OCI_CollInit
(
OCI_Connection *con,
OCI_Coll **pcoll,
void *handle,
OCI_TypeInfo *typeinf
);
/* ------------------------------------------------------------------------ *
* column.c
* ------------------------------------------------------------------------ */
boolean OCI_ColumnMap
(
OCI_Column *col,
OCI_Statement *stmt
);
boolean OCI_ColumnDescribe
(
OCI_Column *col,
OCI_Connection *con,
OCI_Statement *stmt,
void *handle,
int index,
int ptype
);
/* ------------------------------------------------------------------------ *
* connection.c
* ------------------------------------------------------------------------ */
OCI_Connection * OCI_ConnectionAllocate
(
OCI_ConnPool *pool,
const mtext *db,
const mtext *user,
const mtext *pwd,
unsigned int mode
);
boolean OCI_ConnectionDeallocate
(
OCI_Connection *con
);
boolean OCI_ConnectionAttach
(
OCI_Connection *con
);
boolean OCI_ConnectionLogon
(
OCI_Connection *con
);
boolean OCI_ConnectionDetach
(
OCI_Connection *con
);
boolean OCI_ConnectionLogOff
(
OCI_Connection *con
);
boolean OCI_ConnectionClose
(
OCI_Connection *con
);
/* ------------------------------------------------------------------------ *
* connpool.c
* ------------------------------------------------------------------------ */
boolean OCI_ConnPoolClose
(
OCI_ConnPool *pool
);
/* ------------------------------------------------------------------------ *
* date.c
* ------------------------------------------------------------------------ */
OCI_Date * OCI_DateInit
(
OCI_Connection *con,
OCI_Date **pdate,
OCIDate *buffer,
boolean allocate,
boolean ansi
);
/* ------------------------------------------------------------------------ *
* define.c
* ------------------------------------------------------------------------ */
OCI_Define * OCI_GetDefine
(
OCI_Resultset *rs,
unsigned int index
);
int OCI_GetDefineIndex
(
OCI_Resultset *rs,
const mtext *name
);
boolean OCI_DefineGetNumber
(
OCI_Resultset *rs,
unsigned int index,
void *value,
uword type,
uword size
);
boolean OCI_DefineAlloc
(
OCI_Define *def
);
boolean OCI_DefineDef
(
OCI_Define *def
);
void * OCI_DefineGetData
(
OCI_Define *def
);
/* ------------------------------------------------------------------------ *
* element.c
* ------------------------------------------------------------------------ */
boolean OCI_ElemGetNumber
(
OCI_Elem *elem,
void *value,
uword size,
uword flag
);
boolean OCI_ElemSetNumber
(
OCI_Elem *elem,
void *value,
uword size,
uword flag
);
OCI_Elem * OCI_ElemInit
(
OCI_Connection *con,
OCI_Elem **pelem,
void *handle,
OCIInd *pind,
OCI_TypeInfo *typeinf
);
/* ------------------------------------------------------------------------ *
* error.c
* ------------------------------------------------------------------------ */
void OCI_ErrorFree
(
OCI_Error *err
);
void OCI_ErrorReset
(
OCI_Error *err
);
OCI_Error * OCI_ErrorGet
(
boolean check
);
OCI_Error * OCI_ErrorCreate
(
void
);
/* ------------------------------------------------------------------------ *
* exception.c
* ------------------------------------------------------------------------ */
OCI_Error * OCI_ExceptionGetError(void);
void OCI_ExceptionRaise
(
OCI_Error *err
);
void OCI_ExceptionOCI
(
OCIError *p_err,
OCI_Connection *con,
OCI_Statement *stmt
);
void OCI_ExceptionMemory
(
int type,
size_t nb_bytes,
OCI_Connection *con,
OCI_Statement *stmt
);
void OCI_ExceptionNotAvailable
(
OCI_Connection *con,
int feature
);
void OCI_ExceptionNullPointer
(
int type
);
void OCI_ExceptionDatatypeNotSupported
(
OCI_Connection *con,
OCI_Statement *stmt,
int code
);
void OCI_ExceptionParsingToken
(
OCI_Connection *con,
OCI_Statement *stmt,
mtext token
);
void OCI_ExceptionMappingArgument
(
OCI_Connection *con,
OCI_Statement *stmt,
int arg
);
void OCI_ExceptionNotInitialized(void);
void OCI_ExceptionLoadingSharedLib(void);
void OCI_ExceptionLoadingSymbols(void);
void OCI_ExceptionNotMultithreaded(void);
void OCI_ExceptionOutOfBounds
(
OCI_Connection *con,
int value
);
void OCI_ExceptionUnfreedData
(
int type_elem,
int nb_elem
);
void OCI_ExceptionMaxBind
(
OCI_Statement *stmt
);
void OCI_ExceptionAttributeNotFound
(
OCI_Connection *con,
const mtext *attr
);
void OCI_ExceptionMinimumValue
(
OCI_Connection *con,
OCI_Statement *stmt,
int min
);
void OCI_ExceptionTypeNotCompatible
(
OCI_Connection *con
);
void OCI_ExceptionStatementState
(
OCI_Statement *stmt,
int state
);
void OCI_ExceptionStatementNotScrollable
(
OCI_Statement *stmt
);
void OCI_ExceptionBindAlreadyUsed
(
OCI_Statement *stmt,
const mtext * bind
);
void OCI_ExceptionBindArraySize
(
OCI_Statement *stmt,
unsigned int maxsize,
unsigned int cursize,
unsigned int newsize
);
void OCI_ExceptionDirPathColNotFound
(
OCI_DirPath *dp,
const mtext * column,
const mtext *table
);
void OCI_ExceptionDirPathState
(
OCI_DirPath *dp,
int state
);
/* ------------------------------------------------------------------------ *
* file.c
* ------------------------------------------------------------------------ */
OCI_File * OCI_FileInit
(
OCI_Connection *con,
OCI_File **pfile,
OCILobLocator *handle,
ub4 type
);
boolean OCI_FileGetInfo
(
OCI_File *file
);
/* ------------------------------------------------------------------------ *
* format.c
* ------------------------------------------------------------------------ */
int OCI_ParseSqlFmt
(
OCI_Statement *stmt,
mtext *buffer,
const mtext *format,
va_list *pargs
);
/* ------------------------------------------------------------------------ *
* hash.c
* ------------------------------------------------------------------------ */
unsigned int OCI_HashCompute
(
OCI_HashTable *table,
const mtext *str
);
boolean OCI_HashAdd
(
OCI_HashTable *table,
const mtext *key,
OCI_Variant value,
unsigned int type
);
/* ------------------------------------------------------------------------ *
* interval.c
* ------------------------------------------------------------------------ */
OCI_Interval * OCI_IntervalInit
(
OCI_Connection *con,
OCI_Interval **pitv,
OCIInterval *buffer,
ub4 type
);
/* ------------------------------------------------------------------------ *
* library.c
* ------------------------------------------------------------------------ */
void OCI_SetLastError
(
OCI_Error err
);
void OCI_SetStatus
(
boolean res
);
boolean OCI_KeyMapFree(void);
/* ------------------------------------------------------------------------ *
* list.c
* ------------------------------------------------------------------------ */
OCI_List * OCI_ListCreate
(
int type
);
boolean OCI_ListFree
(
OCI_List *list
);
OCI_Item * OCI_ListCreateItem
(
int type,
int size
);
OCI_Item * OCI_ListAppend
(
OCI_List *list,
int size
);
boolean OCI_ListClear
(
OCI_List *list
);
boolean OCI_ListForEach
(
OCI_List *list,
boolean (*proc)(void *)
);
boolean OCI_ListRemove
(
OCI_List *list,
void *data
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -