mtollari 63d98e39cd Patch level : 12.0 no-patch
Files correlati     : 
Commento            : 
- Creazione nuova cartella per contenere tutte le librerie esterne
- Aggiunta nuova libreria sqlapi per interfacciare campo a vari DB

git-svn-id: svn://10.65.10.50/branches/R_10_00@24149 c028cbd2-c16b-5b4b-a496-9718f37d4682
2017-10-26 09:07:39 +00:00

376 lines
15 KiB
C++

// ss6API.h
//
//////////////////////////////////////////////////////////////////////
#if !defined(__SS6API_H__)
#define __SS6API_H__
#include "SQLAPI.h"
// API header(s)
#define DBNTWIN32
#include "./ss_win/sqlfront.h"
#include "./ss_win/sqldb.h"
extern long g_nSSDBLibDLLVersionLoaded;
extern void AddSSDbLibSupport();
extern void ReleaseSSDbLibSupport();
typedef DBERRHANDLE_PROC (SQLAPI *dberrhandle_t)(DBERRHANDLE_PROC);
typedef DBMSGHANDLE_PROC (SQLAPI *dbmsghandle_t)(DBMSGHANDLE_PROC);
typedef DBERRHANDLE_PROC (SQLAPI *dbprocerrhandle_t)(PDBHANDLE, DBERRHANDLE_PROC);
typedef DBMSGHANDLE_PROC (SQLAPI *dbprocmsghandle_t)(PDBHANDLE, DBMSGHANDLE_PROC);
// Two-phase commit functions
typedef RETCODE (SQLAPI *abort_xact_t) (PDBPROCESS, DBINT);
typedef void (SQLAPI *build_xact_string_t) (LPCSTR, LPCSTR, DBINT, LPSTR);
typedef void (SQLAPI *close_commit_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *commit_xact_t) (PDBPROCESS, DBINT);
typedef PDBPROCESS (SQLAPI *open_commit_t) (PLOGINREC, LPCSTR);
typedef RETCODE (SQLAPI *remove_xact_t) (PDBPROCESS, DBINT, INT);
typedef RETCODE (SQLAPI *scan_xact_t) (PDBPROCESS, DBINT);
typedef DBINT (SQLAPI *start_xact_t) (PDBPROCESS, LPCSTR, LPCSTR, INT);
typedef INT (SQLAPI *stat_xact_t) (PDBPROCESS, DBINT);
// BCP functions
typedef DBINT (SQLAPI *bcp_batch_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *bcp_bind_t) (PDBPROCESS, LPCBYTE, INT, DBINT, LPCBYTE, INT, INT, INT);
typedef RETCODE (SQLAPI *bcp_colfmt_t) (PDBPROCESS, INT, BYTE, INT, DBINT, LPCBYTE, INT, INT);
typedef RETCODE (SQLAPI *bcp_collen_t) (PDBPROCESS, DBINT, INT);
typedef RETCODE (SQLAPI *bcp_colptr_t) (PDBPROCESS, LPCBYTE, INT);
typedef RETCODE (SQLAPI *bcp_columns_t) (PDBPROCESS, INT);
typedef RETCODE (SQLAPI *bcp_control_t) (PDBPROCESS, INT, DBINT);
typedef DBINT (SQLAPI *bcp_done_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *bcp_exec_t) (PDBPROCESS, LPDBINT);
typedef RETCODE (SQLAPI *bcp_init_t) (PDBPROCESS, LPCSTR, LPCSTR, LPCSTR, INT);
typedef RETCODE (SQLAPI *bcp_moretext_t) (PDBPROCESS, DBINT, LPCBYTE);
typedef RETCODE (SQLAPI *bcp_readfmt_t) (PDBPROCESS, LPCSTR);
typedef RETCODE (SQLAPI *bcp_sendrow_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *bcp_setl_t) (PLOGINREC, BOOL);
typedef RETCODE (SQLAPI *bcp_writefmt_t) (PDBPROCESS, LPCSTR);
// Standard DB-Library functions
typedef LPCBYTE (SQLAPI *dbadata_t) (PDBPROCESS, INT, INT);
typedef DBINT (SQLAPI *dbadlen_t) (PDBPROCESS, INT, INT);
typedef RETCODE (SQLAPI *dbaltbind_t) (PDBPROCESS, INT, INT, INT, DBINT, LPCBYTE);
typedef INT (SQLAPI *dbaltcolid_t) (PDBPROCESS, INT, INT);
typedef DBINT (SQLAPI *dbaltlen_t) (PDBPROCESS, INT, INT);
typedef INT (SQLAPI *dbaltop_t) (PDBPROCESS, INT, INT);
typedef INT (SQLAPI *dbalttype_t) (PDBPROCESS, INT, INT);
typedef DBINT (SQLAPI *dbaltutype_t) (PDBPROCESS, INT, INT);
typedef RETCODE (SQLAPI *dbanullbind_t) (PDBPROCESS, INT, INT, LPCDBINT);
typedef RETCODE (SQLAPI *dbbind_t) (PDBPROCESS, INT, INT, DBINT, LPBYTE);
typedef LPCBYTE (SQLAPI *dbbylist_t) (PDBPROCESS, INT, LPINT);
typedef RETCODE (SQLAPI *dbcancel_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *dbcanquery_t) (PDBPROCESS);
typedef LPCSTR (SQLAPI *dbchange_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *dbclose_t) (PDBPROCESS);
typedef void (SQLAPI *dbclrbuf_t) (PDBPROCESS, DBINT);
typedef RETCODE (SQLAPI *dbclropt_t) (PDBPROCESS, INT, LPCSTR);
typedef RETCODE (SQLAPI *dbcmd_t) (PDBPROCESS, LPCSTR);
typedef RETCODE (SQLAPI *dbcmdrow_t) (PDBPROCESS);
typedef BOOL (SQLAPI *dbcolbrowse_t) (PDBPROCESS, INT);
typedef RETCODE (SQLAPI *dbcolinfo_t) (PDBHANDLE, INT, INT, INT, LPDBCOL);
typedef DBINT (SQLAPI *dbcollen_t) (PDBPROCESS, INT);
typedef LPCSTR (SQLAPI *dbcolname_t) (PDBPROCESS, INT);
typedef LPCSTR (SQLAPI *dbcolsource_t) (PDBPROCESS, INT);
typedef INT (SQLAPI *dbcoltype_t) (PDBPROCESS, INT);
typedef DBINT (SQLAPI *dbcolutype_t) (PDBPROCESS, INT);
typedef INT (SQLAPI *dbconvert_t) (PDBPROCESS, INT, LPCBYTE, DBINT, INT, LPBYTE, DBINT);
typedef DBINT (SQLAPI *dbcount_t) (PDBPROCESS);
typedef INT (SQLAPI *dbcurcmd_t) (PDBPROCESS);
typedef DBINT (SQLAPI *dbcurrow_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *dbcursor_t) (PDBCURSOR, INT, INT, LPCSTR, LPCSTR);
typedef RETCODE (SQLAPI *dbcursorbind_t) (PDBCURSOR, INT, INT, DBINT, LPDBINT, LPBYTE);
typedef RETCODE (SQLAPI *dbcursorclose_t) (PDBHANDLE);
typedef RETCODE (SQLAPI *dbcursorcolinfo_t) (PDBCURSOR, INT, LPSTR, LPINT, LPDBINT, LPINT);
typedef RETCODE (SQLAPI *dbcursorfetch_t) (PDBCURSOR, INT, INT);
typedef RETCODE (SQLAPI *dbcursorfetchex_t) (PDBCURSOR, INT, DBINT, DBINT, DBINT);
typedef RETCODE (SQLAPI *dbcursorinfo_t) (PDBCURSOR, LPINT, LPDBINT);
typedef RETCODE (SQLAPI *dbcursorinfoex_t) (PDBCURSOR, LPDBCURSORINFO);
typedef PDBCURSOR (SQLAPI *dbcursoropen_t) (PDBPROCESS, LPCSTR, INT, INT,UINT, LPDBINT);
typedef LPCBYTE (SQLAPI *dbdata_t) (PDBPROCESS, INT);
typedef BOOL (SQLAPI *dbdataready_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *dbdatecrack_t) (PDBPROCESS, LPDBDATEREC, LPCDBDATETIME);
typedef DBINT (SQLAPI *dbdatlen_t) (PDBPROCESS, INT);
typedef BOOL (SQLAPI *dbdead_t) (PDBPROCESS);
typedef void (SQLAPI *dbexit_t) (void);
typedef RETCODE (SQLAPI *dbenlisttrans_t) (PDBPROCESS, LPVOID);
typedef RETCODE (SQLAPI *dbenlistxatrans_t) (PDBPROCESS, BOOL);
typedef RETCODE (SQLAPI *dbfcmd_t) (PDBPROCESS, LPCSTR, ...);
typedef DBINT (SQLAPI *dbfirstrow_t) (PDBPROCESS);
typedef void (SQLAPI *dbfreebuf_t) (PDBPROCESS);
typedef void (SQLAPI *dbfreelogin_t) (PLOGINREC);
typedef void (SQLAPI *dbfreequal_t) (LPCSTR);
typedef LPSTR (SQLAPI *dbgetchar_t) (PDBPROCESS, INT);
typedef SHORT (SQLAPI *dbgetmaxprocs_t) (void);
typedef INT (SQLAPI *dbgetoff_t) (PDBPROCESS, DBUSMALLINT, INT);
typedef UINT (SQLAPI *dbgetpacket_t) (PDBPROCESS);
typedef STATUS (SQLAPI *dbgetrow_t) (PDBPROCESS, DBINT);
typedef INT (SQLAPI *dbgettime_t) (void);
typedef LPVOID (SQLAPI *dbgetuserdata_t) (PDBPROCESS);
typedef BOOL (SQLAPI *dbhasretstat_t) (PDBPROCESS);
typedef LPCSTR (SQLAPI *dbinit_t) (void);
typedef BOOL (SQLAPI *dbisavail_t) (PDBPROCESS);
typedef BOOL (SQLAPI *dbiscount_t) (PDBPROCESS);
typedef BOOL (SQLAPI *dbisopt_t) (PDBPROCESS, INT, LPCSTR);
typedef DBINT (SQLAPI *dblastrow_t) (PDBPROCESS);
typedef PLOGINREC (SQLAPI *dblogin_t) (void);
typedef RETCODE (SQLAPI *dbmorecmds_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *dbmoretext_t) (PDBPROCESS, DBINT, LPCBYTE);
typedef LPCSTR (SQLAPI *dbname_t) (PDBPROCESS);
typedef STATUS (SQLAPI *dbnextrow_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *dbnullbind_t) (PDBPROCESS, INT, LPCDBINT);
typedef INT (SQLAPI *dbnumalts_t) (PDBPROCESS, INT);
typedef INT (SQLAPI *dbnumcols_t) (PDBPROCESS);
typedef INT (SQLAPI *dbnumcompute_t) (PDBPROCESS);
typedef INT (SQLAPI *dbnumorders_t) (PDBPROCESS);
typedef INT (SQLAPI *dbnumrets_t) (PDBPROCESS);
typedef PDBPROCESS (SQLAPI *dbopen_t) (PLOGINREC, LPCSTR);
typedef INT (SQLAPI *dbordercol_t) (PDBPROCESS, INT);
typedef RETCODE (SQLAPI *dbprocinfo_t) (PDBPROCESS, LPDBPROCINFO);
typedef void (SQLAPI *dbprhead_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *dbprrow_t) (PDBPROCESS);
typedef LPCSTR (SQLAPI *dbprtype_t) (INT);
typedef LPCSTR (SQLAPI *dbqual_t) (PDBPROCESS, INT, LPCSTR);
typedef DBINT (SQLAPI *dbreadpage_t) (PDBPROCESS, LPCSTR, DBINT, LPBYTE);
typedef DBINT (SQLAPI *dbreadtext_t) (PDBPROCESS, LPVOID, DBINT);
typedef RETCODE (SQLAPI *dbresults_t) (PDBPROCESS);
typedef LPCBYTE (SQLAPI *dbretdata_t) (PDBPROCESS, INT);
typedef DBINT (SQLAPI *dbretlen_t) (PDBPROCESS, INT);
typedef LPCSTR (SQLAPI *dbretname_t) (PDBPROCESS, INT);
typedef DBINT (SQLAPI *dbretstatus_t) (PDBPROCESS);
typedef INT (SQLAPI *dbrettype_t) (PDBPROCESS, INT);
typedef RETCODE (SQLAPI *dbrows_t) (PDBPROCESS);
typedef STATUS (SQLAPI *dbrowtype_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *dbrpcinit_t) (PDBPROCESS, LPCSTR, DBSMALLINT);
typedef RETCODE (SQLAPI *dbrpcparam_t) (PDBPROCESS, LPCSTR, BYTE, INT, DBINT, DBINT, LPCBYTE);
typedef RETCODE (SQLAPI *dbrpcsend_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *dbrpcexec_t) (PDBPROCESS);
typedef void (SQLAPI *dbrpwclr_t) (PLOGINREC);
typedef RETCODE (SQLAPI *dbrpwset_t) (PLOGINREC, LPCSTR, LPCSTR, INT);
typedef INT (SQLAPI *dbserverenum_t) (USHORT, LPSTR, USHORT, LPUSHORT);
typedef void (SQLAPI *dbsetavail_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *dbsetmaxprocs_t) (SHORT);
typedef RETCODE (SQLAPI *dbsetlname_t) (PLOGINREC, LPCSTR, INT);
typedef RETCODE (SQLAPI *dbsetlogintime_t) (INT);
typedef RETCODE (SQLAPI *dbsetlpacket_t) (PLOGINREC, USHORT);
typedef RETCODE (SQLAPI *dbsetnull_t) (PDBPROCESS, INT, INT, LPCBYTE);
typedef RETCODE (SQLAPI *dbsetopt_t) (PDBPROCESS, INT, LPCSTR);
typedef RETCODE (SQLAPI *dbsettime_t) (INT);
typedef void (SQLAPI *dbsetuserdata_t) (PDBPROCESS, LPVOID);
typedef RETCODE (SQLAPI *dbsqlexec_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *dbsqlok_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *dbsqlsend_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *dbstrcpy_t) (PDBPROCESS, INT, INT, LPSTR);
typedef INT (SQLAPI *dbstrlen_t) (PDBPROCESS);
typedef BOOL (SQLAPI *dbtabbrowse_t) (PDBPROCESS, INT);
typedef INT (SQLAPI *dbtabcount_t) (PDBPROCESS);
typedef LPCSTR (SQLAPI *dbtabname_t) (PDBPROCESS, INT);
typedef LPCSTR (SQLAPI *dbtabsource_t) (PDBPROCESS, INT, LPINT);
typedef INT (SQLAPI *dbtsnewlen_t) (PDBPROCESS);
typedef LPCDBBINARY (SQLAPI *dbtsnewval_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *dbtsput_t) (PDBPROCESS, LPCDBBINARY, INT, INT, LPCSTR);
typedef LPCDBBINARY (SQLAPI *dbtxptr_t) (PDBPROCESS, INT);
typedef LPCDBBINARY (SQLAPI *dbtxtimestamp_t) (PDBPROCESS, INT);
typedef LPCDBBINARY (SQLAPI *dbtxtsnewval_t) (PDBPROCESS);
typedef RETCODE (SQLAPI *dbtxtsput_t) (PDBPROCESS, LPCDBBINARY, INT);
typedef RETCODE (SQLAPI *dbuse_t) (PDBPROCESS, LPCSTR);
typedef BOOL (SQLAPI *dbvarylen_t) (PDBPROCESS, INT);
typedef BOOL (SQLAPI *dbwillconvert_t) (INT, INT);
typedef RETCODE (SQLAPI *dbwritepage_t) (PDBPROCESS, LPCSTR, DBINT, DBINT, LPBYTE);
typedef RETCODE (SQLAPI *dbwritetext_t) (PDBPROCESS, LPCSTR, LPCDBBINARY, DBTINYINT, LPCDBBINARY, BOOL, DBINT, LPCBYTE);
typedef RETCODE (SQLAPI *dbupdatetext_t) (PDBPROCESS, LPCSTR, LPCDBBINARY, LPCDBBINARY, INT, DBINT, DBINT, LPCSTR, DBINT, LPCDBBINARY);
// API declarations
class ssAPI : public saAPI
{
public:
ssAPI();
dberrhandle_t dberrhandle;
dbmsghandle_t dbmsghandle;
dbprocerrhandle_t dbprocerrhandle;
dbprocmsghandle_t dbprocmsghandle;
// Two-phase commit functions
abort_xact_t abort_xact;
build_xact_string_t build_xact_string;
close_commit_t close_commit;
commit_xact_t commit_xact;
open_commit_t open_commit;
remove_xact_t remove_xact;
scan_xact_t scan_xact;
start_xact_t start_xact;
stat_xact_t stat_xact;
// BCP functions
bcp_batch_t bcp_batch;
bcp_bind_t bcp_bind;
bcp_colfmt_t bcp_colfmt;
bcp_collen_t bcp_collen;
bcp_colptr_t bcp_colptr;
bcp_columns_t bcp_columns;
bcp_control_t bcp_control;
bcp_done_t bcp_done;
bcp_exec_t bcp_exec;
bcp_init_t bcp_init;
bcp_moretext_t bcp_moretext;
bcp_readfmt_t bcp_readfmt;
bcp_sendrow_t bcp_sendrow;
bcp_setl_t bcp_setl;
bcp_writefmt_t bcp_writefmt;
// Standard DB-Library functions
dbadata_t dbadata;
dbadlen_t dbadlen;
dbaltbind_t dbaltbind;
dbaltcolid_t dbaltcolid;
dbaltlen_t dbaltlen;
dbaltop_t dbaltop;
dbalttype_t dbalttype;
dbaltutype_t dbaltutype;
dbanullbind_t dbanullbind;
dbbind_t dbbind;
dbbylist_t dbbylist;
dbcancel_t dbcancel;
dbcanquery_t dbcanquery;
dbchange_t dbchange;
dbclose_t dbclose;
dbclrbuf_t dbclrbuf;
dbclropt_t dbclropt;
dbcmd_t dbcmd;
dbcmdrow_t dbcmdrow;
dbcolbrowse_t dbcolbrowse;
dbcolinfo_t dbcolinfo;
dbcollen_t dbcollen;
dbcolname_t dbcolname;
dbcolsource_t dbcolsource;
dbcoltype_t dbcoltype;
dbcolutype_t dbcolutype;
dbconvert_t dbconvert;
dbcount_t dbcount;
dbcurcmd_t dbcurcmd;
dbcurrow_t dbcurrow;
dbcursor_t dbcursor;
dbcursorbind_t dbcursorbind;
dbcursorclose_t dbcursorclose;
dbcursorcolinfo_t dbcursorcolinfo;
dbcursorfetch_t dbcursorfetch;
dbcursorfetchex_t dbcursorfetchex;
dbcursorinfo_t dbcursorinfo;
dbcursorinfoex_t dbcursorinfoex;
dbcursoropen_t dbcursoropen;
dbdata_t dbdata;
dbdataready_t dbdataready;
dbdatecrack_t dbdatecrack;
dbdatlen_t dbdatlen;
dbdead_t dbdead;
dbexit_t dbexit;
dbenlisttrans_t dbenlisttrans;
dbenlistxatrans_t dbenlistxatrans;
dbfcmd_t dbfcmd;
dbfirstrow_t dbfirstrow;
dbfreebuf_t dbfreebuf;
dbfreelogin_t dbfreelogin;
dbfreequal_t dbfreequal;
dbgetchar_t dbgetchar;
dbgetmaxprocs_t dbgetmaxprocs;
dbgetoff_t dbgetoff;
dbgetpacket_t dbgetpacket;
dbgetrow_t dbgetrow;
dbgettime_t dbgettime;
dbgetuserdata_t dbgetuserdata;
dbhasretstat_t dbhasretstat;
dbinit_t dbinit;
dbisavail_t dbisavail;
dbiscount_t dbiscount;
dbisopt_t dbisopt;
dblastrow_t dblastrow;
dblogin_t dblogin;
dbmorecmds_t dbmorecmds;
dbmoretext_t dbmoretext;
dbname_t dbname;
dbnextrow_t dbnextrow;
dbnullbind_t dbnullbind;
dbnumalts_t dbnumalts;
dbnumcols_t dbnumcols;
dbnumcompute_t dbnumcompute;
dbnumorders_t dbnumorders;
dbnumrets_t dbnumrets;
dbopen_t dbopen;
dbordercol_t dbordercol;
dbprocinfo_t dbprocinfo;
dbprhead_t dbprhead;
dbprrow_t dbprrow;
dbprtype_t dbprtype;
dbqual_t dbqual;
dbreadpage_t dbreadpage;
dbreadtext_t dbreadtext;
dbresults_t dbresults;
dbretdata_t dbretdata;
dbretlen_t dbretlen;
dbretname_t dbretname;
dbretstatus_t dbretstatus;
dbrettype_t dbrettype;
dbrows_t dbrows;
dbrowtype_t dbrowtype;
dbrpcinit_t dbrpcinit;
dbrpcparam_t dbrpcparam;
dbrpcsend_t dbrpcsend;
dbrpcexec_t dbrpcexec;
dbrpwclr_t dbrpwclr;
dbrpwset_t dbrpwset;
dbserverenum_t dbserverenum;
dbsetavail_t dbsetavail;
dbsetmaxprocs_t dbsetmaxprocs;
dbsetlname_t dbsetlname;
dbsetlogintime_t dbsetlogintime;
dbsetlpacket_t dbsetlpacket;
dbsetnull_t dbsetnull;
dbsetopt_t dbsetopt;
dbsettime_t dbsettime;
dbsetuserdata_t dbsetuserdata;
dbsqlexec_t dbsqlexec;
dbsqlok_t dbsqlok;
dbsqlsend_t dbsqlsend;
dbstrcpy_t dbstrcpy;
dbstrlen_t dbstrlen;
dbtabbrowse_t dbtabbrowse;
dbtabcount_t dbtabcount;
dbtabname_t dbtabname;
dbtabsource_t dbtabsource;
dbtsnewlen_t dbtsnewlen;
dbtsnewval_t dbtsnewval;
dbtsput_t dbtsput;
dbtxptr_t dbtxptr;
dbtxtimestamp_t dbtxtimestamp;
dbtxtsnewval_t dbtxtsnewval;
dbtxtsput_t dbtxtsput;
dbuse_t dbuse;
dbvarylen_t dbvarylen;
dbwillconvert_t dbwillconvert;
dbwritepage_t dbwritepage;
dbwritetext_t dbwritetext;
dbupdatetext_t dbupdatetext;
};
class SQLAPI_API ssConnectionHandles : public saConnectionHandles
{
public:
ssConnectionHandles();
PDBPROCESS m_dbproc;
};
class SQLAPI_API ssCommandHandles : public saCommandHandles
{
public:
ssCommandHandles();
};
extern ssAPI g_ssAPI;
#endif // !defined(__SS6API_H__)