⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ocilib_internal.h

📁 oci的源码,可以在任何平台上编译,相当方便实用
💻 H
📖 第 1 页 / 共 2 页
字号:
/*
   +----------------------------------------------------------------------+   
   |                                                                      |
   |                     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 + -