Mercurial > games > semicongine
diff fuhtark_test/include/winapi/odbcss.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fuhtark_test/include/winapi/odbcss.h Wed Nov 26 21:36:48 2025 +0700 @@ -0,0 +1,579 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the w64 mingw-runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifndef __ODBCSS +#define __ODBCSS + +#ifdef __cplusplus +extern "C" { +#endif + +#define SQL_MAX_SQLSERVERNAME 128 + +#define SQL_COPT_SS_BASE 1200 +#define SQL_COPT_SS_REMOTE_PWD (SQL_COPT_SS_BASE+1) +#define SQL_COPT_SS_USE_PROC_FOR_PREP (SQL_COPT_SS_BASE+2) +#define SQL_COPT_SS_INTEGRATED_SECURITY (SQL_COPT_SS_BASE+3) +#define SQL_COPT_SS_PRESERVE_CURSORS (SQL_COPT_SS_BASE+4) +#define SQL_COPT_SS_USER_DATA (SQL_COPT_SS_BASE+5) +#define SQL_COPT_SS_ENLIST_IN_DTC SQL_ATTR_ENLIST_IN_DTC +#define SQL_COPT_SS_ENLIST_IN_XA SQL_ATTR_ENLIST_IN_XA + +#define SQL_COPT_SS_FALLBACK_CONNECT (SQL_COPT_SS_BASE+10) +#define SQL_COPT_SS_PERF_DATA (SQL_COPT_SS_BASE+11) +#define SQL_COPT_SS_PERF_DATA_LOG (SQL_COPT_SS_BASE+12) +#define SQL_COPT_SS_PERF_QUERY_INTERVAL (SQL_COPT_SS_BASE+13) +#define SQL_COPT_SS_PERF_QUERY_LOG (SQL_COPT_SS_BASE+14) +#define SQL_COPT_SS_PERF_QUERY (SQL_COPT_SS_BASE+15) +#define SQL_COPT_SS_PERF_DATA_LOG_NOW (SQL_COPT_SS_BASE+16) +#define SQL_COPT_SS_QUOTED_IDENT (SQL_COPT_SS_BASE+17) +#define SQL_COPT_SS_ANSI_NPW (SQL_COPT_SS_BASE+18) +#define SQL_COPT_SS_BCP (SQL_COPT_SS_BASE+19) +#define SQL_COPT_SS_TRANSLATE (SQL_COPT_SS_BASE+20) +#define SQL_COPT_SS_ATTACHDBFILENAME (SQL_COPT_SS_BASE+21) +#define SQL_COPT_SS_CONCAT_NULL (SQL_COPT_SS_BASE+22) +#define SQL_COPT_SS_ENCRYPT (SQL_COPT_SS_BASE+23) + +#define SQL_COPT_SS_MAX_USED SQL_COPT_SS_ENCRYPT + +#define SQL_SOPT_SS_BASE 1225 +#define SQL_SOPT_SS_TEXTPTR_LOGGING (SQL_SOPT_SS_BASE+0) +#define SQL_SOPT_SS_CURRENT_COMMAND (SQL_SOPT_SS_BASE+1) +#define SQL_SOPT_SS_HIDDEN_COLUMNS (SQL_SOPT_SS_BASE+2) +#define SQL_SOPT_SS_NOBROWSETABLE (SQL_SOPT_SS_BASE+3) +#define SQL_SOPT_SS_REGIONALIZE (SQL_SOPT_SS_BASE+4) +#define SQL_SOPT_SS_CURSOR_OPTIONS (SQL_SOPT_SS_BASE+5) +#define SQL_SOPT_SS_NOCOUNT_STATUS (SQL_SOPT_SS_BASE+6) +#define SQL_SOPT_SS_DEFER_PREPARE (SQL_SOPT_SS_BASE+7) + +#define SQL_SOPT_SS_MAX_USED SQL_SOPT_SS_DEFER_PREPARE + +#define SQL_COPT_SS_BASE_EX 1240 +#define SQL_COPT_SS_BROWSE_CONNECT (SQL_COPT_SS_BASE_EX+1) +#define SQL_COPT_SS_BROWSE_SERVER (SQL_COPT_SS_BASE_EX+2) +#define SQL_COPT_SS_WARN_ON_CP_ERROR (SQL_COPT_SS_BASE_EX+3) + +#define SQL_COPT_SS_CONNECTION_DEAD (SQL_COPT_SS_BASE_EX+4) + +#define SQL_COPT_SS_BROWSE_CACHE_DATA (SQL_COPT_SS_BASE_EX+5) + +#define SQL_COPT_SS_RESET_CONNECTION (SQL_COPT_SS_BASE_EX+6) + +#define SQL_COPT_SS_EX_MAX_USED SQL_COPT_SS_RESET_CONNECTION + +#define SQL_UP_OFF 0L +#define SQL_UP_ON 1L +#define SQL_UP_ON_DROP 2L +#define SQL_UP_DEFAULT SQL_UP_ON + +#define SQL_IS_OFF 0L +#define SQL_IS_ON 1L +#define SQL_IS_DEFAULT SQL_IS_OFF + +#define SQL_PC_OFF 0L +#define SQL_PC_ON 1L +#define SQL_PC_DEFAULT SQL_PC_OFF + +#define SQL_UD_NOTSET NULL + +#define SQL_XL_OFF 0L +#define SQL_XL_ON 1L +#define SQL_XL_DEFAULT SQL_XL_ON + +#define SQL_FB_OFF 0L +#define SQL_FB_ON 1L +#define SQL_FB_DEFAULT SQL_FB_OFF + +#define SQL_BCP_OFF 0L +#define SQL_BCP_ON 1L +#define SQL_BCP_DEFAULT SQL_BCP_OFF + +#define SQL_QI_OFF 0L +#define SQL_QI_ON 1L +#define SQL_QI_DEFAULT SQL_QI_ON + +#define SQL_AD_OFF 0L +#define SQL_AD_ON 1L +#define SQL_AD_DEFAULT SQL_AD_ON + +#define SQL_CN_OFF 0L +#define SQL_CN_ON 1L +#define SQL_CN_DEFAULT SQL_CN_ON + +#define SQL_TL_OFF 0L +#define SQL_TL_ON 1L +#define SQL_TL_DEFAULT SQL_TL_ON + +#define SQL_HC_OFF 0L +#define SQL_HC_ON 1L +#define SQL_HC_DEFAULT SQL_HC_OFF + +#define SQL_NB_OFF 0L +#define SQL_NB_ON 1L +#define SQL_NB_DEFAULT SQL_NB_OFF + +#define SQL_RE_OFF 0L +#define SQL_RE_ON 1L +#define SQL_RE_DEFAULT SQL_RE_OFF + +#define SQL_CO_OFF 0L +#define SQL_CO_FFO 1L +#define SQL_CO_AF 2L +#define SQL_CO_FFO_AF (SQL_CO_FFO|SQL_CO_AF) +#define SQL_CO_FIREHOSE_AF 4L +#define SQL_CO_DEFAULT SQL_CO_OFF + +#define SQL_NC_OFF 0L +#define SQL_NC_ON 1L + +#define SQL_DP_OFF 0L +#define SQL_DP_ON 1L + +#define SQL_EN_OFF 0L +#define SQL_EN_ON 1L + +#define SQL_MORE_INFO_NO 0L +#define SQL_MORE_INFO_YES 1L + +#define SQL_CACHE_DATA_NO 0L +#define SQL_CACHE_DATA_YES 1L + +#define SQL_RESET_YES 1L + +#define SQL_WARN_NO 0L +#define SQL_WARN_YES 1L + +#define SQL_CURSOR_FAST_FORWARD_ONLY 8 + +#define SQL_CA_SS_BASE 1200 +#define SQL_CA_SS_COLUMN_SSTYPE (SQL_CA_SS_BASE+0) +#define SQL_CA_SS_COLUMN_UTYPE (SQL_CA_SS_BASE+1) +#define SQL_CA_SS_NUM_ORDERS (SQL_CA_SS_BASE+2) +#define SQL_CA_SS_COLUMN_ORDER (SQL_CA_SS_BASE+3) +#define SQL_CA_SS_COLUMN_VARYLEN (SQL_CA_SS_BASE+4) +#define SQL_CA_SS_NUM_COMPUTES (SQL_CA_SS_BASE+5) +#define SQL_CA_SS_COMPUTE_ID (SQL_CA_SS_BASE+6) +#define SQL_CA_SS_COMPUTE_BYLIST (SQL_CA_SS_BASE+7) +#define SQL_CA_SS_COLUMN_ID (SQL_CA_SS_BASE+8) +#define SQL_CA_SS_COLUMN_OP (SQL_CA_SS_BASE+9) +#define SQL_CA_SS_COLUMN_SIZE (SQL_CA_SS_BASE+10) +#define SQL_CA_SS_COLUMN_HIDDEN (SQL_CA_SS_BASE+11) +#define SQL_CA_SS_COLUMN_KEY (SQL_CA_SS_BASE+12) + +#define SQL_CA_SS_COLUMN_COLLATION (SQL_CA_SS_BASE+14) +#define SQL_CA_SS_VARIANT_TYPE (SQL_CA_SS_BASE+15) +#define SQL_CA_SS_VARIANT_SQL_TYPE (SQL_CA_SS_BASE+16) +#define SQL_CA_SS_VARIANT_SERVER_TYPE (SQL_CA_SS_BASE+17) +#define SQL_CA_SS_MAX_USED (SQL_CA_SS_BASE+18) + +#define SQLTEXT 0x23 +#define SQLVARBINARY 0x25 +#define SQLINTN 0x26 +#define SQLVARCHAR 0x27 +#define SQLBINARY 0x2d +#define SQLIMAGE 0x22 +#define SQLCHARACTER 0x2f +#define SQLINT1 0x30 +#define SQLBIT 0x32 +#define SQLINT2 0x34 +#define SQLINT4 0x38 +#define SQLMONEY 0x3c +#define SQLDATETIME 0x3d +#define SQLFLT8 0x3e +#define SQLFLTN 0x6d +#define SQLMONEYN 0x6e +#define SQLDATETIMN 0x6f +#define SQLFLT4 0x3b +#define SQLMONEY4 0x7a +#define SQLDATETIM4 0x3a + +#define SQLDECIMAL 0x6a +#define SQLNUMERIC 0x6c + +#define SQLUNIQUEID 0x24 +#define SQLBIGCHAR 0xaf +#define SQLBIGVARCHAR 0xa7 +#define SQLBIGBINARY 0xad +#define SQLBIGVARBINARY 0xa5 +#define SQLBITN 0x68 +#define SQLNCHAR 0xef +#define SQLNVARCHAR 0xe7 +#define SQLNTEXT 0x63 + +#define SQLINT8 0x7f +#define SQLVARIANT 0x62 + +#define SQLudtBINARY 3 +#define SQLudtBIT 16 +#define SQLudtBITN 0 +#define SQLudtCHAR 1 +#define SQLudtDATETIM4 22 +#define SQLudtDATETIME 12 +#define SQLudtDATETIMN 15 +#define SQLudtDECML 24 +#define SQLudtDECMLN 26 +#define SQLudtFLT4 23 +#define SQLudtFLT8 8 +#define SQLudtFLTN 14 +#define SQLudtIMAGE 20 +#define SQLudtINT1 5 +#define SQLudtINT2 6 +#define SQLudtINT4 7 +#define SQLudtINTN 13 +#define SQLudtMONEY 11 +#define SQLudtMONEY4 21 +#define SQLudtMONEYN 17 +#define SQLudtNUM 10 +#define SQLudtNUMN 25 +#define SQLudtSYSNAME 18 +#define SQLudtTEXT 19 +#define SQLudtTIMESTAMP 80 +#define SQLudtUNIQUEIDENTIFIER 0 +#define SQLudtVARBINARY 4 +#define SQLudtVARCHAR 2 +#define MIN_USER_DATATYPE 256 + +#define SQLAOPSTDEV 0x30 +#define SQLAOPSTDEVP 0x31 +#define SQLAOPVAR 0x32 +#define SQLAOPVARP 0x33 +#define SQLAOPCNT 0x4b +#define SQLAOPSUM 0x4d +#define SQLAOPAVG 0x4f +#define SQLAOPMIN 0x51 +#define SQLAOPMAX 0x52 +#define SQLAOPANY 0x53 +#define SQLAOPNOOP 0x56 + +#define SQL_INFO_SS_FIRST 1199 +#define SQL_INFO_SS_NETLIB_NAMEW (SQL_INFO_SS_FIRST+0) +#define SQL_INFO_SS_NETLIB_NAMEA (SQL_INFO_SS_FIRST+1) +#define SQL_INFO_SS_MAX_USED SQL_INFO_SS_NETLIB_NAMEA +#ifdef UNICODE +#define SQL_INFO_SS_NETLIB_NAME SQL_INFO_SS_NETLIB_NAMEW +#else +#define SQL_INFO_SS_NETLIB_NAME SQL_INFO_SS_NETLIB_NAMEA +#endif + +#define SQL_SS_VARIANT -150 + +#define SQL_DIAG_SS_BASE (-1150) +#define SQL_DIAG_SS_MSGSTATE (SQL_DIAG_SS_BASE) +#define SQL_DIAG_SS_SEVERITY (SQL_DIAG_SS_BASE-1) +#define SQL_DIAG_SS_SRVNAME (SQL_DIAG_SS_BASE-2) +#define SQL_DIAG_SS_PROCNAME (SQL_DIAG_SS_BASE-3) +#define SQL_DIAG_SS_LINE (SQL_DIAG_SS_BASE-4) + +#define SQL_DIAG_DFC_SS_BASE (-200) +#define SQL_DIAG_DFC_SS_ALTER_DATABASE (SQL_DIAG_DFC_SS_BASE-0) +#define SQL_DIAG_DFC_SS_CHECKPOINT (SQL_DIAG_DFC_SS_BASE-1) +#define SQL_DIAG_DFC_SS_CONDITION (SQL_DIAG_DFC_SS_BASE-2) +#define SQL_DIAG_DFC_SS_CREATE_DATABASE (SQL_DIAG_DFC_SS_BASE-3) +#define SQL_DIAG_DFC_SS_CREATE_DEFAULT (SQL_DIAG_DFC_SS_BASE-4) +#define SQL_DIAG_DFC_SS_CREATE_PROCEDURE (SQL_DIAG_DFC_SS_BASE-5) +#define SQL_DIAG_DFC_SS_CREATE_RULE (SQL_DIAG_DFC_SS_BASE-6) +#define SQL_DIAG_DFC_SS_CREATE_TRIGGER (SQL_DIAG_DFC_SS_BASE-7) +#define SQL_DIAG_DFC_SS_CURSOR_DECLARE (SQL_DIAG_DFC_SS_BASE-8) +#define SQL_DIAG_DFC_SS_CURSOR_OPEN (SQL_DIAG_DFC_SS_BASE-9) +#define SQL_DIAG_DFC_SS_CURSOR_FETCH (SQL_DIAG_DFC_SS_BASE-10) +#define SQL_DIAG_DFC_SS_CURSOR_CLOSE (SQL_DIAG_DFC_SS_BASE-11) +#define SQL_DIAG_DFC_SS_DEALLOCATE_CURSOR (SQL_DIAG_DFC_SS_BASE-12) +#define SQL_DIAG_DFC_SS_DBCC (SQL_DIAG_DFC_SS_BASE-13) +#define SQL_DIAG_DFC_SS_DISK (SQL_DIAG_DFC_SS_BASE-14) +#define SQL_DIAG_DFC_SS_DROP_DATABASE (SQL_DIAG_DFC_SS_BASE-15) +#define SQL_DIAG_DFC_SS_DROP_DEFAULT (SQL_DIAG_DFC_SS_BASE-16) +#define SQL_DIAG_DFC_SS_DROP_PROCEDURE (SQL_DIAG_DFC_SS_BASE-17) +#define SQL_DIAG_DFC_SS_DROP_RULE (SQL_DIAG_DFC_SS_BASE-18) +#define SQL_DIAG_DFC_SS_DROP_TRIGGER (SQL_DIAG_DFC_SS_BASE-19) +#define SQL_DIAG_DFC_SS_DUMP_DATABASE (SQL_DIAG_DFC_SS_BASE-20) +#define SQL_DIAG_DFC_SS_DUMP_TABLE (SQL_DIAG_DFC_SS_BASE-21) +#define SQL_DIAG_DFC_SS_DUMP_TRANSACTION (SQL_DIAG_DFC_SS_BASE-22) +#define SQL_DIAG_DFC_SS_GOTO (SQL_DIAG_DFC_SS_BASE-23) +#define SQL_DIAG_DFC_SS_INSERT_BULK (SQL_DIAG_DFC_SS_BASE-24) +#define SQL_DIAG_DFC_SS_KILL (SQL_DIAG_DFC_SS_BASE-25) +#define SQL_DIAG_DFC_SS_LOAD_DATABASE (SQL_DIAG_DFC_SS_BASE-26) +#define SQL_DIAG_DFC_SS_LOAD_HEADERONLY (SQL_DIAG_DFC_SS_BASE-27) +#define SQL_DIAG_DFC_SS_LOAD_TABLE (SQL_DIAG_DFC_SS_BASE-28) +#define SQL_DIAG_DFC_SS_LOAD_TRANSACTION (SQL_DIAG_DFC_SS_BASE-29) +#define SQL_DIAG_DFC_SS_PRINT (SQL_DIAG_DFC_SS_BASE-30) +#define SQL_DIAG_DFC_SS_RAISERROR (SQL_DIAG_DFC_SS_BASE-31) +#define SQL_DIAG_DFC_SS_READTEXT (SQL_DIAG_DFC_SS_BASE-32) +#define SQL_DIAG_DFC_SS_RECONFIGURE (SQL_DIAG_DFC_SS_BASE-33) +#define SQL_DIAG_DFC_SS_RETURN (SQL_DIAG_DFC_SS_BASE-34) +#define SQL_DIAG_DFC_SS_SELECT_INTO (SQL_DIAG_DFC_SS_BASE-35) +#define SQL_DIAG_DFC_SS_SET (SQL_DIAG_DFC_SS_BASE-36) +#define SQL_DIAG_DFC_SS_SET_IDENTITY_INSERT (SQL_DIAG_DFC_SS_BASE-37) +#define SQL_DIAG_DFC_SS_SET_ROW_COUNT (SQL_DIAG_DFC_SS_BASE-38) +#define SQL_DIAG_DFC_SS_SET_STATISTICS (SQL_DIAG_DFC_SS_BASE-39) +#define SQL_DIAG_DFC_SS_SET_TEXTSIZE (SQL_DIAG_DFC_SS_BASE-40) +#define SQL_DIAG_DFC_SS_SETUSER (SQL_DIAG_DFC_SS_BASE-41) +#define SQL_DIAG_DFC_SS_SHUTDOWN (SQL_DIAG_DFC_SS_BASE-42) +#define SQL_DIAG_DFC_SS_TRANS_BEGIN (SQL_DIAG_DFC_SS_BASE-43) +#define SQL_DIAG_DFC_SS_TRANS_COMMIT (SQL_DIAG_DFC_SS_BASE-44) +#define SQL_DIAG_DFC_SS_TRANS_PREPARE (SQL_DIAG_DFC_SS_BASE-45) +#define SQL_DIAG_DFC_SS_TRANS_ROLLBACK (SQL_DIAG_DFC_SS_BASE-46) +#define SQL_DIAG_DFC_SS_TRANS_SAVE (SQL_DIAG_DFC_SS_BASE-47) +#define SQL_DIAG_DFC_SS_TRUNCATE_TABLE (SQL_DIAG_DFC_SS_BASE-48) +#define SQL_DIAG_DFC_SS_UPDATE_STATISTICS (SQL_DIAG_DFC_SS_BASE-49) +#define SQL_DIAG_DFC_SS_UPDATETEXT (SQL_DIAG_DFC_SS_BASE-50) +#define SQL_DIAG_DFC_SS_USE (SQL_DIAG_DFC_SS_BASE-51) +#define SQL_DIAG_DFC_SS_WAITFOR (SQL_DIAG_DFC_SS_BASE-52) +#define SQL_DIAG_DFC_SS_WRITETEXT (SQL_DIAG_DFC_SS_BASE-53) +#define SQL_DIAG_DFC_SS_DENY (SQL_DIAG_DFC_SS_BASE-54) +#define SQL_DIAG_DFC_SS_SET_XCTLVL (SQL_DIAG_DFC_SS_BASE-55) + +#define EX_ANY 0 +#define EX_INFO 10 +#define EX_MAXISEVERITY EX_INFO +#define EX_MISSING 11 +#define EX_TYPE 12 +#define EX_DEADLOCK 13 +#define EX_PERMIT 14 +#define EX_SYNTAX 15 +#define EX_USER 16 +#define EX_RESOURCE 17 +#define EX_INTOK 18 +#define MAXUSEVERITY EX_INTOK +#define EX_LIMIT 19 +#define EX_CMDFATAL 20 +#define MINFATALERR EX_CMDFATAL +#define EX_DBFATAL 21 +#define EX_TABCORRUPT 22 +#define EX_DBCORRUPT 23 +#define EX_HARDWARE 24 +#define EX_CONTROL 25 + +#ifndef MAXNUMERICLEN + +#define DBMAXCHAR (8000+1) +#define MAXNAME (SQL_MAX_SQLSERVERNAME+1) + +#ifdef UNICODE + typedef wchar_t DBCHAR; +#else + typedef char DBCHAR; +#endif + typedef unsigned char DBBINARY; + typedef unsigned char DBTINYINT; + typedef short DBSMALLINT; + typedef unsigned short DBUSMALLINT; + typedef double DBFLT8; + typedef unsigned char DBBIT; + typedef unsigned char DBBOOL; + typedef float DBFLT4; + typedef DBFLT4 DBREAL; + typedef UINT DBUBOOL; + + typedef struct dbvarychar { + DBSMALLINT len; + DBCHAR str[DBMAXCHAR]; + } DBVARYCHAR; + + typedef struct dbvarybin { + DBSMALLINT len; + BYTE array[DBMAXCHAR]; + } DBVARYBIN; + + typedef struct dbmoney { + LONG mnyhigh; + ULONG mnylow; + } DBMONEY; + + typedef struct dbdatetime { + LONG dtdays; + ULONG dttime; + } DBDATETIME; + + typedef struct dbdatetime4 { + USHORT numdays; + USHORT nummins; + } DBDATETIM4; + + typedef LONG DBMONEY4; + +#define DBNUM_PREC_TYPE BYTE +#define DBNUM_SCALE_TYPE BYTE +#define DBNUM_VAL_TYPE BYTE + +#if (ODBCVER < 0x0300) +#define MAXNUMERICLEN 16 + + typedef struct dbnumeric { + DBNUM_PREC_TYPE precision; + DBNUM_SCALE_TYPE scale; + BYTE sign; + DBNUM_VAL_TYPE val[MAXNUMERICLEN]; + } DBNUMERIC; + typedef DBNUMERIC DBDECIMAL; +#else +#define MAXNUMERICLEN SQL_MAX_NUMERIC_LEN + typedef SQL_NUMERIC_STRUCT DBNUMERIC; + typedef SQL_NUMERIC_STRUCT DBDECIMAL; +#endif +#endif + +#ifndef INT + typedef int INT; + typedef long DBINT; +#ifndef _LPCBYTE_DEFINED +#define _LPCBYTE_DEFINED + typedef const LPBYTE LPCBYTE; +#endif + typedef DBINT *LPDBINT; +#endif + + typedef struct sqlperf { + DWORD TimerResolution; + DWORD SQLidu; + DWORD SQLiduRows; + DWORD SQLSelects; + DWORD SQLSelectRows; + DWORD Transactions; + DWORD SQLPrepares; + DWORD ExecDirects; + DWORD SQLExecutes; + DWORD CursorOpens; + DWORD CursorSize; + DWORD CursorUsed; + LDOUBLE PercentCursorUsed; + LDOUBLE AvgFetchTime; + LDOUBLE AvgCursorSize; + LDOUBLE AvgCursorUsed; + DWORD SQLFetchTime; + DWORD SQLFetchCount; + DWORD CurrentStmtCount; + DWORD MaxOpenStmt; + DWORD SumOpenStmt; + DWORD CurrentConnectionCount; + DWORD MaxConnectionsOpened; + DWORD SumConnectionsOpened; + DWORD SumConnectiontime; + LDOUBLE AvgTimeOpened; + DWORD ServerRndTrips; + DWORD BuffersSent; + DWORD BuffersRec; + DWORD BytesSent; + DWORD BytesRec; + DWORD msExecutionTime; + DWORD msNetWorkServerTime; + } SQLPERF; + +#define SQL_PERF_START 1 +#define SQL_PERF_STOP 2 + +#define SQL_SS_DL_DEFAULT TEXT("STATS.LOG") +#define SQL_SS_QL_DEFAULT TEXT("QUERY.LOG") +#define SQL_SS_QI_DEFAULT 30000 + +#define SUCCEED 1 +#define FAIL 0 +#define SUCCEED_ABORT 2 +#define SUCCEED_ASYNC 3 + +#define DB_IN 1 +#define DB_OUT 2 + +#define BCPMAXERRS 1 +#define BCPFIRST 2 +#define BCPLAST 3 +#define BCPBATCH 4 +#define BCPKEEPNULLS 5 +#define BCPABORT 6 +#define BCPODBC 7 +#define BCPKEEPIDENTITY 8 +#define BCP6xFILEFMT 9 +#define BCPHINTSA 10 +#define BCPHINTSW 11 +#define BCPFILECP 12 +#define BCPUNICODEFILE 13 +#define BCPTEXTFILE 14 +#define BCPFILEFMT 15 + +#define BCPFILECP_ACP 0 +#define BCPFILECP_OEMCP 1 +#define BCPFILECP_RAW (-1) + +#define SQL_VARLEN_DATA (-10) + + DBINT SQL_API bcp_batch(HDBC); + RETCODE SQL_API bcp_bind(HDBC,LPCBYTE,INT,DBINT,LPCBYTE,INT,INT,INT); + RETCODE SQL_API bcp_colfmt(HDBC,INT,BYTE,INT,DBINT,LPCBYTE,INT,INT); + RETCODE SQL_API bcp_collen(HDBC,DBINT,INT); + RETCODE SQL_API bcp_colptr(HDBC,LPCBYTE,INT); + RETCODE SQL_API bcp_columns(HDBC,INT); + RETCODE SQL_API bcp_control(HDBC,INT,void *); + DBINT SQL_API bcp_done(HDBC); + RETCODE SQL_API bcp_exec(HDBC,LPDBINT); + RETCODE SQL_API bcp_getcolfmt(HDBC,INT,INT,void *,INT,INT *); + RETCODE SQL_API bcp_initA(HDBC,LPCSTR,LPCSTR,LPCSTR,INT); + RETCODE SQL_API bcp_initW(HDBC,LPCWSTR,LPCWSTR,LPCWSTR,INT); + RETCODE SQL_API bcp_moretext(HDBC,DBINT,LPCBYTE); + RETCODE SQL_API bcp_readfmtA(HDBC,LPCSTR); + RETCODE SQL_API bcp_readfmtW(HDBC,LPCWSTR); + RETCODE SQL_API bcp_sendrow(HDBC); + RETCODE SQL_API bcp_setcolfmt(HDBC,INT,INT,void *,INT); + RETCODE SQL_API bcp_writefmtA(HDBC,LPCSTR); + RETCODE SQL_API bcp_writefmtW(HDBC,LPCWSTR); + CHAR *SQL_API dbprtypeA(INT); + WCHAR *SQL_API dbprtypeW(INT); + +#ifdef UNICODE +#define bcp_init bcp_initW +#define bcp_readfmt bcp_readfmtW +#define bcp_writefmt bcp_writefmtW +#define dbprtype dbprtypeW +#define BCPHINTS BCPHINTSW +#else +#define bcp_init bcp_initA +#define bcp_readfmt bcp_readfmtA +#define bcp_writefmt bcp_writefmtA +#define dbprtype dbprtypeA +#define BCPHINTS BCPHINTSA +#endif + + SQLRETURN SQL_API SQLLinkedServers(SQLHSTMT); + SQLRETURN SQL_API SQLLinkedCatalogsA(SQLHSTMT,LPCSTR,SWORD); + SQLRETURN SQL_API SQLLinkedCatalogsW(SQLHSTMT,LPCWSTR,SWORD); + HANDLE SQL_API SQLInitEnumServers(WCHAR *pwchServerName,WCHAR *pwchInstanceName); + RETCODE SQL_API SQLGetNextEnumeration(HANDLE hEnumHandle,BYTE *prgEnumData,INT *piEnumLength); + RETCODE SQL_API SQLCloseEnumServers(HANDLE hEnumHandle); + +#ifdef UNICODE +#define SQLLinkedCatalogs SQLLinkedCatalogsW +#else +#define SQLLinkedCatalogs SQLLinkedCatalogsA +#endif + +#define BCP_FMT_TYPE 0x01 +#define BCP_FMT_INDICATOR_LEN 0x02 +#define BCP_FMT_DATA_LEN 0x03 +#define BCP_FMT_TERMINATOR 0x04 +#define BCP_FMT_SERVER_COL 0x05 +#define BCP_FMT_COLLATION 0x06 +#define BCP_FMT_COLLATION_ID 0x07 + +#define SQL_FAST_CONNECT (SQL_COPT_SS_BASE+0) + +#define SQL_FC_OFF 0L +#define SQL_FC_ON 1L +#define SQL_FC_DEFAULT SQL_FC_OFF +#define SQL_COPT_SS_ANSI_OEM (SQL_COPT_SS_BASE+6) +#define SQL_AO_OFF 0L +#define SQL_AO_ON 1L +#define SQL_AO_DEFAULT SQL_AO_OFF + +#define SQL_REMOTE_PWD SQL_COPT_SS_REMOTE_PWD +#define SQL_USE_PROCEDURE_FOR_PREPARE SQL_COPT_SS_USE_PROC_FOR_PREP +#define SQL_INTEGRATED_SECURITY SQL_COPT_SS_INTEGRATED_SECURITY +#define SQL_PRESERVE_CURSORS SQL_COPT_SS_PRESERVE_CURSORS +#define SQL_TEXTPTR_LOGGING SQL_SOPT_SS_TEXTPTR_LOGGING +#define SQL_CA_SS_BASE_COLUMN_NAME SQL_DESC_BASE_COLUMN_NAME +#define SQLDECIMALN 0x6a +#define SQLNUMERICN 0x6c + +#ifdef __cplusplus +} +#endif +#endif
