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

📄 ocilib_internal.h

📁 oci的源码,可以在任何平台上编译,相当方便实用
💻 H
📖 第 1 页 / 共 2 页
字号:
);

/* ------------------------------------------------------------------------ *
 * lob.c
 * ------------------------------------------------------------------------ */

OCI_Lob * OCI_LobInit
(
    OCI_Connection *con,
    OCI_Lob **plob,
    OCILobLocator *handle,
    ub4 type
);

/* ------------------------------------------------------------------------ *
 * long.c
 * ------------------------------------------------------------------------ */

OCI_Long * OCI_LongInit
(
    OCI_Statement *stmt,
    OCI_Long **plg,
    OCI_Define *def, 
    unsigned int type
);

/* ------------------------------------------------------------------------ *
 * memory.c
 * ------------------------------------------------------------------------ */

void * OCI_MemAlloc
(
    int ptr_type, 
    int block_size, 
    int block_count,
    boolean zero_fill
);

void * OCI_MemRealloc
(
    void * ptr_mem, 
    int ptr_type, 
    int block_size, 
    int block_count
);

void OCI_MemFree
(
    void * ptr_mem
);

sword OCI_HandleAlloc
(
    CONST dvoid *parenth, 
    dvoid **hndlpp, 
    CONST ub4 type, 
    CONST size_t xtramem_sz,
    dvoid **usrmempp
);

sword OCI_HandleFree
(
    dvoid *hndlp, 
    CONST ub4 type
);

sword OCI_DescriptorAlloc
(
    CONST dvoid *parenth, 
    dvoid **descpp,
    CONST ub4 type, 
    CONST size_t xtramem_sz,
    dvoid **usrmempp
);

sword OCI_DescriptorFree
(
    void *descp, CONST ub4 type
);

sword OCI_ObjectNew
(
    OCIEnv *env,
    OCIError *err,
    CONST OCISvcCtx *svc,
    OCITypeCode typecode, 
    OCIType *tdo,
    dvoid *table, 
    OCIDuration duration, 
    boolean value, 
    dvoid **instance
);

sword OCI_OCIObjectFree
(
    OCIEnv *env,
    OCIError *err, 
    dvoid *instance,
    ub2 flags
);


/* ------------------------------------------------------------------------ *
 * mutex.c
 * ------------------------------------------------------------------------ */

OCI_Mutex * OCI_MutexCreateInternal(void);

/* ------------------------------------------------------------------------ *
 * number.c
 * ------------------------------------------------------------------------ */

boolean OCI_NumberGet
(
    OCI_Connection *con,
    OCINumber *data,
    void *value,
    uword size,
    uword flag)
;

boolean OCI_NumberSet
(
    OCI_Connection *con, 
    OCINumber *data,
    void *value, 
    uword size, 
    uword flag
);

boolean OCI_NumberConvertStr
(
    OCI_Connection *con, 
    OCINumber *num, 
    const dtext *str, 
    int str_size, 
    const mtext* fmt, 
    ub4 fmt_size
);

boolean OCI_NumberGetFromStr
    (
    OCI_Connection *con, 
    void *value, 
    uword size,
    uword type,
    const dtext *str,
    int str_size, 
    const mtext* fmt, 
    ub4 fmt_size
);

/* ------------------------------------------------------------------------ *
 * object.c
 * ------------------------------------------------------------------------ */

void OCI_ObjectReset
(
    OCI_Object *obj
);

boolean OCI_ObjectGetAttr
(
    OCI_Object *obj, 
    const mtext *attr, 
    void ** p_value, 
    OCIInd* p_ind, 
    OCIType **p_tdo
);

boolean OCI_ObjectSetAttr
(
    OCI_Object *obj, 
    const mtext *attr, 
    void * value, 
    OCIInd ind
);

boolean OCI_ObjectSetNumber
(
    OCI_Object *obj, 
    const mtext *attr, 
    void *value,
    uword size, uword flag
);

boolean OCI_ObjectGetNumber
(
    OCI_Object *obj, 
    const mtext *attr, 
    void *value,
    uword size, uword flag
);

int OCI_ObjectGetIndex
(
    OCI_Object *obj,
    const mtext *attr,
    int type
);

ub2 OCI_GetIndTabIndex
(
    OCI_TypeInfo *typeinf, 
    int index
);

OCI_Object * OCI_ObjectInit
(
    OCI_Connection *con,
    OCI_Object **pobj,
    void *handle, 
    OCI_TypeInfo *typeinf,
    sb2 *tab_ind,
    int index,
    boolean reset
);

/* ------------------------------------------------------------------------ *
 * ref.c
 * ------------------------------------------------------------------------ */

OCI_Ref * OCI_RefInit
(
    OCI_Connection *con,
    OCI_TypeInfo *typeinf, 
    OCI_Ref **pref, 
    void *handle
);

boolean OCI_RefPin
(
    OCI_Ref *ref
);

boolean OCI_RefUnpin
(
    OCI_Ref *ref
);

/* ------------------------------------------------------------------------ *
 * resultset.c
 * ------------------------------------------------------------------------ */

OCI_Resultset * OCI_ResultsetCreate
(
    OCI_Statement *stmt, 
    int size
);

boolean OCI_ResultsetFree
(
    OCI_Resultset *rs
);

boolean OCI_FetchPieces
(
    OCI_Resultset *rs
);

boolean OCI_FetchData
(
    OCI_Resultset *rs,
    int mode, 
    int offset,
    boolean *err
);

boolean OCI_FetchCustom
(
    OCI_Resultset *rs,
    int mode, 
    int offset,
    boolean *err
);

#ifdef OCI_CHECK_DATASTRINGS 

boolean OCI_ResultsetExpandStrings
(
    OCI_Resultset *rs
);

#endif  

/* ------------------------------------------------------------------------ *
 * statement.c
 * ------------------------------------------------------------------------ */

boolean OCI_BindFreeAll
(
    OCI_Statement *stmt
);

boolean OCI_BindCheck
(
    OCI_Statement *stmt
);

boolean OCI_BindReset
(
    OCI_Statement *stmt
);

boolean OCI_BindData
(
    OCI_Statement *stmt, 
    void *data, 
    ub4 size,
    const mtext *name, 
    ub1 type, 
    unsigned int code, 
    unsigned int mode,
    unsigned int subtype,
    OCI_TypeInfo *typinf,
    unsigned int nbelem
);

int OCI_BindGetIndex
(
    OCI_Statement *stmt, 
    const mtext *name
);

boolean OCI_FetchIntoUserVariables
(
    OCI_Statement *stmt, 
    va_list args
);

boolean OCI_StatementReset
(
    OCI_Statement *stmt
);

boolean OCI_StatementClose
(
    OCI_Statement *stmt
);

OCI_Statement * OCI_StatementInit
(
    OCI_Connection *con,                                  
    OCI_Statement **pstmt,
    OCIStmt *handle,  
    OCI_Define *def
);

/* ------------------------------------------------------------------------ *
 * string.c
 * ------------------------------------------------------------------------ */

int OCI_StringCopy4to2bytes
(
    const unsigned int* src,
    int src_size, 
    unsigned short* dst, 
    int dst_size
);

int OCI_StringCopy2to4bytes
(
    const unsigned short* src,
    int src_size, 
    unsigned int* dst,
    int dst_size
);


void * OCI_GetInputString
(
    void *src, 
    int *size, 
    int size_char_in, 
    int size_char_out
);

void OCI_GetOutputString
(
    void *src, 
    void *dest,
    int *size,
    int size_char_in, 
    int size_char_out
);

void OCI_MoveString
(
    void *src,
    void *dst,
    int char_count, 
    int size_char_in,
    int size_char_out
);
        
void OCI_ConvertString
(
    void *str,
    int char_count, 
    int size_char_in,
    int size_char_out
);

void OCI_CopyString
(
    void *src, 
    void *dest,
    int *size,
    int size_char_in,
    int size_char_out
);

void OCI_ReleaseMetaString
(
    void *ptr
);

void OCI_ReleaseDataString
(
    void *ptr
);

int OCI_StringLength
(
    void *ptr,
    int size_elem
);


#define OCI_GetInputMetaString(s, n)     OCI_GetInputString((void *) s, n,     \
                                                             sizeof(mtext),    \
                                                             sizeof(omtext))

#define OCI_GetOutputMetaString(s, d, n) OCI_GetOutputString((void *) s, d, n, \
                                                             sizeof(omtext),   \
                                                             sizeof(mtext)) 

#define OCI_GetInputDataString(s, n)     OCI_GetInputString((void *) s, n,     \
                                                             sizeof(dtext),    \
                                                             sizeof(odtext))

#define OCI_GetOutputDataString(s, d, n) OCI_GetOutputString((void *) s, d, n, \
                                                              sizeof(odtext),  \
                                                              sizeof(dtext))

void * OCI_StringFromStringPtr
(
    OCIString *str, 
    void ** buf, 
    int *buflen
);

boolean OCI_StringToStringPtr
(
    OCIString **str, 
    OCIError *err, 
    void *value, 
    void **buf, 
    int *buflen
);

/* ------------------------------------------------------------------------ *
 * thread.c
 * ------------------------------------------------------------------------ */

void OCI_ThreadProc
(
    dvoid *arg
);

/* ------------------------------------------------------------------------ *
 * threadkey.c
 * ------------------------------------------------------------------------ */

OCI_ThreadKey * OCI_ThreadKeyCreateInternal
(
    POCI_THREADKEYDEST destfunc
);

boolean OCI_ThreadKeyFree
(
    OCI_ThreadKey *key
);

boolean OCI_ThreadKeySet
(
    OCI_ThreadKey *key,
    void *value
);

boolean OCI_ThreadKeyGet
(
    OCI_ThreadKey* key, 
    void **value
);

/* ------------------------------------------------------------------------ *
 * timestamp.c
 * ------------------------------------------------------------------------ */

OCI_Timestamp * OCI_TimestampInit
(
    OCI_Connection *con, 
    OCI_Timestamp **ptmsp,
    OCIDateTime *buffer, 
    ub4 type
);

/* ------------------------------------------------------------------------ *
 * transaction.c
 * ------------------------------------------------------------------------ */

boolean OCI_TransactionClose
(
    OCI_Transaction * trans
);

/* ------------------------------------------------------------------------ *
 * typeinf.c
 * ------------------------------------------------------------------------ */

boolean OCI_TypeInfoClose
(
    OCI_TypeInfo *typeinf
);


#ifdef  __cplusplus
}
#endif


#endif    /* OCILIB_COMMON_FUNCTIONS_H_INCLUDED */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -