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

📄 sybapi.h

📁 SQLAPI C/C++ 连接Oracle 数据库!
💻 H
字号:
// sybAPI.h////////////////////////////////////////////////////////////////////////#if !defined(__SYBAPI_H__)#define __SYBAPI_H__#include "SQLAPI.h"// API header(s)#include <ctpublic.h>//! Sybase client and server messages handling callbacktypedef void (SQLAPI_CALLBACK *saSybMsgHandler_t)(void *pMessageStruct, bool bIsServerMessage, void *pAddInfo);typedefstruct tagSybErrInfo{	CS_MSGNUM	msgnumber;	CS_CHAR		msgstring[CS_MAX_MSG];	CS_INT		line;	saSybMsgHandler_t fMsgHandler;	void * pMsgAddInfo;} SybErrInfo_t;extern SQLAPI_API SybErrInfo_t *getSybErrInfo(CS_CONTEXT *context);extern void AddSybSupport(const SAConnection *pCon);extern void ReleaseSybSupport();typedef CS_RETCODE (CS_PUBLIC *ct_debug_t)(	CS_CONTEXT *context,	CS_CONNECTION *connection,	CS_INT operation,	CS_INT flag,	CS_CHAR *filename,	CS_INT fnamelen	);typedef CS_RETCODE (CS_PUBLIC *ct_bind_t)(	CS_COMMAND *cmd,	CS_INT item,	CS_DATAFMT *datafmt,	CS_VOID *buf,	CS_INT *outputlen,	CS_SMALLINT *indicator	);typedef CS_RETCODE (CS_PUBLIC *ct_br_column_t)(	CS_COMMAND *cmd,	CS_INT colnum,	CS_BROWSEDESC *browsedesc	);typedef CS_RETCODE (CS_PUBLIC *ct_br_table_t)(	CS_COMMAND *cmd,	CS_INT tabnum,	CS_INT type,	CS_VOID *buf,	CS_INT buflen,	CS_INT *outlen	);typedef CS_RETCODE (CS_PUBLIC *ct_callback_t)(	CS_CONTEXT *context,	CS_CONNECTION *connection,	CS_INT action,	CS_INT type,	CS_VOID *func	);typedef CS_RETCODE (CS_PUBLIC *ct_cancel_t)(	CS_CONNECTION *connection,	CS_COMMAND *cmd,	CS_INT type	);typedef CS_RETCODE (CS_PUBLIC *ct_capability_t)(	CS_CONNECTION *connection,	CS_INT action,	CS_INT type,	CS_INT capability,	CS_VOID *val	);typedef CS_RETCODE (CS_PUBLIC *ct_compute_info_t)(	CS_COMMAND *cmd,	CS_INT type,	CS_INT colnum,	CS_VOID *buf,	CS_INT buflen,	CS_INT *outlen	);typedef CS_RETCODE (CS_PUBLIC *ct_close_t)(	CS_CONNECTION *connection,	CS_INT option	);typedef CS_RETCODE (CS_PUBLIC *ct_cmd_alloc_t)(	CS_CONNECTION *connection,	CS_COMMAND **cmdptr	);typedef CS_RETCODE (CS_PUBLIC *ct_cmd_drop_t)(	CS_COMMAND *cmd	);typedef CS_RETCODE (CS_PUBLIC *ct_cmd_props_t)(	CS_COMMAND *cmd,	CS_INT action,	CS_INT property,	CS_VOID *buf,	CS_INT buflen,	CS_INT *outlen	);typedef CS_RETCODE (CS_PUBLIC *ct_command_t)(	CS_COMMAND *cmd,	CS_INT type,	CS_CHAR *buf,	CS_INT buflen,	CS_INT option	);typedef CS_RETCODE (CS_PUBLIC *ct_con_alloc_t)(	CS_CONTEXT *context,	CS_CONNECTION **connection	);typedef CS_RETCODE (CS_PUBLIC *ct_con_drop_t)(	CS_CONNECTION *connection	);typedef CS_RETCODE (CS_PUBLIC *ct_con_props_t)(	CS_CONNECTION *connection,	CS_INT action,	CS_INT property,	CS_VOID *buf,	CS_INT buflen,	CS_INT *outlen	);typedef CS_RETCODE (CS_PUBLIC *ct_connect_t)(	CS_CONNECTION *connection,	CS_CHAR *server_name,	CS_INT snamelen	);typedef CS_RETCODE (CS_PUBLIC *ct_config_t)(	CS_CONTEXT *context,	CS_INT action,	CS_INT property,	CS_VOID *buf,	CS_INT buflen,	CS_INT *outlen	);typedef CS_RETCODE (CS_PUBLIC *ct_cursor_t)(	CS_COMMAND *cmd,	CS_INT type,	CS_CHAR *name,	CS_INT namelen,	CS_CHAR *text,	CS_INT tlen,	CS_INT option	);typedef CS_RETCODE (CS_PUBLIC *ct_dyndesc_t)(	CS_COMMAND *cmd,	CS_CHAR *descriptor,	CS_INT desclen,	CS_INT operation,	CS_INT idx,	CS_DATAFMT *datafmt,	CS_VOID *buffer,	CS_INT buflen,	CS_INT *copied,	CS_SMALLINT *indicator	);typedef CS_RETCODE (CS_PUBLIC *ct_describe_t)(	CS_COMMAND *cmd,	CS_INT item,	CS_DATAFMT *datafmt	);typedef CS_RETCODE (CS_PUBLIC *ct_diag_t)(	CS_CONNECTION *connection,	CS_INT operation,	CS_INT type,	CS_INT idx,	CS_VOID *buffer	);typedef CS_RETCODE (CS_PUBLIC *ct_dynamic_t)(	CS_COMMAND *cmd,	CS_INT type,	CS_CHAR *id,	CS_INT idlen,	CS_CHAR *buf,	CS_INT buflen	);typedef CS_RETCODE (CS_PUBLIC *ct_dynsqlda_t)(	CS_COMMAND	*cmd,	CS_INT		type,	SQLDA		*dap,	CS_INT		operation	);typedef CS_RETCODE (CS_PUBLIC *ct_exit_t)(	CS_CONTEXT *context,	CS_INT option	);typedef CS_RETCODE (CS_PUBLIC *ct_fetch_t)(	CS_COMMAND *cmd,	CS_INT type,	CS_INT offset,	CS_INT option,	CS_INT *count	);typedef CS_RETCODE (CS_PUBLIC *ct_getformat_t)(	CS_COMMAND *cmd,	CS_INT colnum,	CS_VOID *buf,	CS_INT buflen,	CS_INT *outlen	);typedef CS_RETCODE (CS_PUBLIC *ct_keydata_t)(	CS_COMMAND *cmd,	CS_INT action,	CS_INT colnum,	CS_VOID *buffer,	CS_INT buflen,	CS_INT *outlen	);typedef CS_RETCODE (CS_PUBLIC *ct_init_t)(	CS_CONTEXT *context,	CS_INT version	);typedef CS_RETCODE (CS_PUBLIC *ct_options_t)(	CS_CONNECTION *connection,	CS_INT action,	CS_INT option,	CS_VOID *param,	CS_INT paramlen,	CS_INT *outlen	);typedef CS_RETCODE (CS_PUBLIC *syb_ct_param_t)(	CS_COMMAND *cmd,	CS_DATAFMT *datafmt,	CS_VOID *data,	CS_INT datalen,	int indicator	);typedef CS_RETCODE (CS_PUBLIC *ct_getloginfo_t)(	CS_CONNECTION *connection,	CS_LOGINFO **logptr	);typedef CS_RETCODE (CS_PUBLIC *ct_setloginfo_t)(	CS_CONNECTION *connection,	CS_LOGINFO *loginfo	);typedef CS_RETCODE (CS_PUBLIC *ct_recvpassthru_t)(	CS_COMMAND *cmd,	CS_VOID **recvptr	);typedef CS_RETCODE (CS_PUBLIC *ct_sendpassthru_t)(	CS_COMMAND *cmd,	CS_VOID *send_bufp	);typedef CS_RETCODE (CS_PUBLIC *ct_poll_t)(	CS_CONTEXT *context,	CS_CONNECTION *connection,	CS_INT milliseconds,	CS_CONNECTION **compconn,	CS_COMMAND **compcmd,	CS_INT *compid,	CS_INT *compstatus	);typedef CS_RETCODE (CS_PUBLIC *ct_remote_pwd_t)(	CS_CONNECTION *connection,	CS_INT action,	CS_CHAR *server_name,	CS_INT snamelen,	CS_CHAR *password,	CS_INT pwdlen	);typedef CS_RETCODE (CS_PUBLIC *ct_results_t)(	CS_COMMAND *cmd,	CS_INT *result_type	);typedef CS_RETCODE (CS_PUBLIC *ct_res_info_t)(	CS_COMMAND *cmd,	CS_INT operation,	CS_VOID *buf,	CS_INT buflen,	CS_INT *outlen	);typedef CS_RETCODE (CS_PUBLIC *ct_send_t)(	CS_COMMAND *cmd	);typedef CS_RETCODE (CS_PUBLIC *ct_get_data_t)(	CS_COMMAND *cmd,	CS_INT colnum,	CS_VOID *buf,	CS_INT buflen,	CS_INT *outlen	);typedef CS_RETCODE (CS_PUBLIC *ct_send_data_t)(	CS_COMMAND *cmd,	CS_VOID *buf,	CS_INT buflen	);typedef CS_RETCODE (CS_PUBLIC *ct_data_info_t)(	CS_COMMAND *cmd,	CS_INT action,	CS_INT colnum,	CS_IODESC *iodesc	);typedef CS_RETCODE (CS_PUBLIC *ct_wakeup_t)(	CS_CONNECTION *connection,	CS_COMMAND *cmd,	CS_INT func_id,	CS_RETCODE status	);typedef CS_RETCODE (CS_PUBLIC *ct_labels_t)(	CS_CONNECTION   *connection,	CS_INT          action,	CS_CHAR         *labelname,	CS_INT          namelen,	CS_CHAR         *labelvalue,	CS_INT          valuelen,	CS_INT 		*outlen	);typedef CS_RETCODE (CS_PUBLIC *ct_ds_lookup_t)(	CS_CONNECTION		*connection,	CS_INT			action,	CS_INT			*reqidp,	CS_DS_LOOKUP_INFO	*lookupinfo,	CS_VOID			*userdatap	);typedef CS_RETCODE (CS_PUBLIC *ct_ds_dropobj_t)(	CS_CONNECTION	*connection,	CS_DS_OBJECT	*object 	);typedef CS_RETCODE (CS_PUBLIC *ct_ds_objinfo_t)(	CS_DS_OBJECT	*objclass,	CS_INT          action,	CS_INT          objinfo,	CS_INT          number,	CS_VOID         *buffer,	CS_INT          buflen,	CS_INT          *outlen	);typedef CS_RETCODE (CS_PUBLIC *ct_setparam_t)(	CS_COMMAND *cmd,	CS_DATAFMT *datafmt,	CS_VOID *data,	CS_INT *datalenp,	CS_SMALLINT *indp	);typedef CS_RETCODE (CS_PUBLIC *cs_calc_t)(	CS_CONTEXT *context,	CS_INT op,	CS_INT datatype,	CS_VOID *var1,	CS_VOID *var2,	CS_VOID *dest	);typedef CS_RETCODE (CS_PUBLIC *cs_cmp_t)(	CS_CONTEXT *context,	CS_INT datatype,	CS_VOID *var1,	CS_VOID *var2,	CS_INT *result	);typedef CS_RETCODE (CS_PUBLIC *cs_convert_t)(	CS_CONTEXT *context,	CS_DATAFMT *srcfmt,	CS_VOID *srcdata,	CS_DATAFMT *destfmt,	CS_VOID *destdata,	CS_INT *outlen	);typedef CS_RETCODE (CS_PUBLIC *cs_will_convert_t)(	CS_CONTEXT *context,	CS_INT srctype,	CS_INT desttype,	CS_BOOL *result	);typedef CS_RETCODE (CS_PUBLIC *cs_set_convert_t)(	CS_CONTEXT *context,	CS_INT	action,	CS_INT srctype,	CS_INT desttype,	CS_CONV_FUNC *buffer	);typedef CS_RETCODE (CS_PUBLIC *cs_setnull_t)(	CS_CONTEXT *context,	CS_DATAFMT *datafmt,	CS_VOID *buf,	CS_INT buflen	);typedef CS_RETCODE (CS_PUBLIC *cs_config_t)(	CS_CONTEXT *context,	CS_INT action,	CS_INT property,	CS_VOID *buf,	CS_INT buflen,	CS_INT *outlen	);typedef CS_RETCODE (CS_PUBLIC *cs_ctx_alloc_t)(	CS_INT version,	CS_CONTEXT **outptr	);typedef CS_RETCODE (CS_PUBLIC *cs_ctx_drop_t)(	CS_CONTEXT *context	);typedef CS_RETCODE (CS_PUBLIC *cs_ctx_global_t)(	CS_INT version,	CS_CONTEXT **outptr	);typedef CS_RETCODE (CS_PUBLIC *cs_objects_t)(	CS_CONTEXT 	*context,	CS_INT		action,	CS_OBJNAME	*objname,	CS_OBJDATA	*objdata	);typedef CS_RETCODE (CS_PUBLIC *cs_diag_t)(	CS_CONTEXT *context,	CS_INT operation,	CS_INT type,	CS_INT idx,	CS_VOID *buffer	);typedef CS_RETCODE (CS_PUBLIC *cs_dt_crack_t)(	CS_CONTEXT *context,	CS_INT datetype,	CS_VOID *dateval,	CS_DATEREC *daterec	);typedef CS_RETCODE (CS_PUBLIC *cs_dt_info_t)(	CS_CONTEXT *context,	CS_INT action,	CS_LOCALE *locale,	CS_INT type,	CS_INT item,	CS_VOID *buffer,	CS_INT buflen,	CS_INT *outlen	);typedef CS_RETCODE (CS_PUBLIC *cs_locale_t)(	CS_CONTEXT *context,	CS_INT action,	CS_LOCALE *locale,	CS_INT type,	CS_CHAR *buffer,	CS_INT buflen,	CS_INT *outlen	);typedef CS_RETCODE (CS_PUBLIC *cs_loc_alloc_t)(	CS_CONTEXT *context,	CS_LOCALE **loc_pointer	);typedef CS_RETCODE (CS_PUBLIC *cs_loc_drop_t)(	CS_CONTEXT *context,	CS_LOCALE *locale	);#ifdef CS__INTERNAL_STRUCTStypedef CS_RETCODE (CS_VARARGS *cs_strbuild_t)(	CS_CONTEXT *context,	...	);#elsetypedef CS_RETCODE (CS_VARARGS *cs_strbuild_t)(	CS_CONTEXT *context,	CS_CHAR *buf,	CS_INT buflen,	CS_INT *outlen,	CS_CHAR *text,	CS_INT textlen,	...	);#endif /* CS__INTERNAL_STRUCTS */typedef CS_RETCODE (CS_PUBLIC *cs_strcmp_t)(	CS_CONTEXT *context,	CS_LOCALE *locale,	CS_INT type,	CS_CHAR *str1,	CS_INT len1,	CS_CHAR *str2,	CS_INT len2,	CS_INT *result	);typedef CS_RETCODE (CS_PUBLIC *cs_time_t)(	CS_CONTEXT *context,	CS_LOCALE *locale,	CS_VOID	 *buf,	CS_INT	buflen,	CS_INT  *outlen,	CS_DATEREC *drec	);typedef CS_RETCODE (CS_PUBLIC *cs_manage_convert_t)(	CS_CONTEXT	*context,	CS_INT		action,	CS_INT		srctype, 	CS_CHAR		*srcname,	CS_INT		srcnamelen,	CS_INT		desttype,	CS_CHAR		*destname,	CS_INT		destnamelen,	CS_INT		*maxmultiplier,	CS_CONV_FUNC	*func	);typedef CS_RETCODE (CS_PUBLIC *cs_conv_mult_t)(	CS_CONTEXT	*context,	CS_LOCALE       *srcloc,	CS_LOCALE       *destloc,	CS_INT          *multiplier	);// API declarationsclass SQLAPI_API sybAPI : public saAPI{public:	sybAPI();	ct_debug_t	ct_debug;	ct_bind_t	ct_bind;	ct_br_column_t	ct_br_column;	ct_br_table_t	ct_br_table;	ct_callback_t	ct_callback;	ct_cancel_t	ct_cancel;	ct_capability_t	ct_capability;	ct_compute_info_t	ct_compute_info;	ct_close_t	ct_close;	ct_cmd_alloc_t	ct_cmd_alloc;	ct_cmd_drop_t	ct_cmd_drop;	ct_cmd_props_t	ct_cmd_props;	ct_command_t	ct_command;	ct_con_alloc_t	ct_con_alloc;	ct_con_drop_t	ct_con_drop;	ct_con_props_t	ct_con_props;	ct_connect_t	ct_connect;	ct_config_t	ct_config;	ct_cursor_t	ct_cursor;	ct_dyndesc_t	ct_dyndesc;	ct_describe_t	ct_describe;	ct_diag_t	ct_diag;	ct_dynamic_t	ct_dynamic;	ct_dynsqlda_t	ct_dynsqlda;	ct_exit_t	ct_exit;	ct_fetch_t	ct_fetch;	ct_getformat_t	ct_getformat;	ct_keydata_t	ct_keydata;	ct_init_t	ct_init;	ct_options_t	ct_options;	syb_ct_param_t	ct_param;	ct_getloginfo_t	ct_getloginfo;	ct_setloginfo_t	ct_setloginfo;	ct_recvpassthru_t	ct_recvpassthru;	ct_sendpassthru_t	ct_sendpassthru;	ct_poll_t	ct_poll;	ct_remote_pwd_t	ct_remote_pwd;	ct_results_t	ct_results;	ct_res_info_t	ct_res_info;	ct_send_t	ct_send;	ct_get_data_t	ct_get_data;	ct_send_data_t	ct_send_data;	ct_data_info_t	ct_data_info;	ct_wakeup_t	ct_wakeup;	ct_labels_t	ct_labels;	ct_ds_lookup_t	ct_ds_lookup;	ct_ds_dropobj_t	ct_ds_dropobj;	ct_ds_objinfo_t	ct_ds_objinfo;	ct_setparam_t	ct_setparam;	cs_calc_t	cs_calc;	cs_cmp_t	cs_cmp;	cs_convert_t	cs_convert;	cs_will_convert_t	cs_will_convert;	cs_set_convert_t	cs_set_convert;	cs_setnull_t	cs_setnull;	cs_config_t	cs_config;	cs_ctx_alloc_t	cs_ctx_alloc;	cs_ctx_drop_t	cs_ctx_drop;	cs_ctx_global_t	cs_ctx_global;	cs_objects_t	cs_objects;	cs_diag_t	cs_diag;	cs_dt_crack_t	cs_dt_crack;	cs_dt_info_t	cs_dt_info;	cs_locale_t	cs_locale;	cs_loc_alloc_t	cs_loc_alloc;	cs_loc_drop_t	cs_loc_drop;	cs_strbuild_t	cs_strbuild;	cs_strcmp_t	cs_strcmp;	cs_time_t	cs_time;	cs_manage_convert_t	cs_manage_convert;	cs_conv_mult_t	cs_conv_mult;	static void SetMessageCallback(saSybMsgHandler_t fHandler, void *pAddInfo, SAConnection *pCon = NULL);	static int& DefaultLongMaxLength();};class SQLAPI_API sybConnectionHandles : public saConnectionHandles{public:	sybConnectionHandles();	CS_CONTEXT *m_context;	CS_CONNECTION *m_connection;};class SQLAPI_API sybCommandHandles : public saCommandHandles{public:	sybCommandHandles();	CS_COMMAND *m_command;};class SQLAPI_API sybExternalConnection{	bool m_bAttached;	SAConnection *m_pCon;	CS_CONTEXT *m_contextSaved;	CS_CONNECTION *m_connectionSaved;	CS_CONTEXT *m_context;	CS_CONNECTION *m_connection;	CS_VOID	*m_ExternalContextClientMsg_cb;	CS_VOID	*m_ExternalContextServerMsg_cb;	CS_VOID	*m_ExternalConnectionClientMsg_cb;	CS_VOID	*m_ExternalConnectionServerMsg_cb;	CS_INT m_nExternalUserDataLen;	CS_VOID *m_pExternalUserData;	CS_INT m_nExternalUserDataAllocated;	SybErrInfo_t m_SybErrInfo;public:	sybExternalConnection(		SAConnection *pCon,		CS_CONTEXT *context,		CS_CONNECTION *connection);	void Attach();	void Detach();	~sybExternalConnection();};extern sybAPI g_sybAPI;#endif // !defined(__SYBAPI_H__)

⌨️ 快捷键说明

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