diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/ThirdParty.zip b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/ThirdParty.zip new file mode 100644 index 0000000..9722ac4 Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/ThirdParty.zip differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmcalc.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmcalc.dll new file mode 100644 index 0000000..1d985db Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmcalc.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmcfg.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmcfg.dll new file mode 100644 index 0000000..0961bea Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmcfg.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmclientlex.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmclientlex.dll new file mode 100644 index 0000000..e02236e Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmclientlex.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmcomm.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmcomm.dll new file mode 100644 index 0000000..306dc0d Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmcomm.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmcpr.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmcpr.dll new file mode 100644 index 0000000..0a36732 Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmcpr.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmcvt.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmcvt.dll new file mode 100644 index 0000000..3510516 Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmcvt.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmcyt.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmcyt.dll new file mode 100644 index 0000000..eeefa77 Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmcyt.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmdcr.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmdcr.dll new file mode 100644 index 0000000..6eae982 Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmdcr.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmdcrm.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmdcrm.dll new file mode 100644 index 0000000..66d0046 Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmdcrm.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmdpi.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmdpi.dll new file mode 100644 index 0000000..666da86 Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmdpi.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmdta.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmdta.dll new file mode 100644 index 0000000..92cbf9f Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmdta.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmelog.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmelog.dll new file mode 100644 index 0000000..377552e Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmelog.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmmem.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmmem.dll new file mode 100644 index 0000000..2345bfa Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmmem.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmmout.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmmout.dll new file mode 100644 index 0000000..165e0e2 Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmmout.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmos.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmos.dll new file mode 100644 index 0000000..dce292b Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmos.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmstrt.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmstrt.dll new file mode 100644 index 0000000..3390363 Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmstrt.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmutl.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmutl.dll new file mode 100644 index 0000000..24bae52 Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmutl.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmvtdsk.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmvtdsk.dll new file mode 100644 index 0000000..73fc6c6 Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmvtdsk.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmvtdskm.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmvtdskm.dll new file mode 100644 index 0000000..4f807bb Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/dmvtdskm.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/libeay32.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/libeay32.dll new file mode 100644 index 0000000..ff86c22 Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/libeay32.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/msvcp100.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/msvcp100.dll new file mode 100644 index 0000000..68fa0d3 Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/msvcp100.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/msvcp100d.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/msvcp100d.dll new file mode 100644 index 0000000..ee45fcc Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/msvcp100d.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/msvcr100.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/msvcr100.dll new file mode 100644 index 0000000..b1c3a5e Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/msvcr100.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/msvcr100d.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/msvcr100d.dll new file mode 100644 index 0000000..5adaf8e Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/msvcr100d.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/ssleay32.dll b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/ssleay32.dll new file mode 100644 index 0000000..388f1c3 Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/bin/ssleay32.dll differ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/include/DPI.h b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/include/DPI.h new file mode 100644 index 0000000..20c0903 --- /dev/null +++ b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/include/DPI.h @@ -0,0 +1,1462 @@ +//----------------------------------------------------------------------------- +// File: DPI.h +// +// Contents: This is the the main include for DM API programing. +// +// Comments: preconditions: NONE +// +//----------------------------------------------------------------------------- + +#ifndef _DPI_H +#define _DPI_H + +/* +* DPIVER DPI version number (0x0101). +*/ +#ifndef DPIVER +#define DPIVER 0x0101 +#endif + +#ifndef __DPITYPES +#include "DPItypes.h" +#endif + +#ifdef __cplusplus +extern "C" { /* Assume C declarations for C++ */ +#endif /* __cplusplus */ + +#if defined (_WINDOWS) || defined (WIN32) +#ifndef DllImport +#define DllImport __declspec( dllimport ) +#endif + +#ifndef DllExport +#define DllExport __declspec( dllexport ) +#endif +#else +#define DllImport +#define DllExport +#endif + +/* special length/indicator values */ +#define DSQL_NULL_DATA (-1) +#define DSQL_DATA_AT_EXEC (-2) +#define DSQL_DEFAULT_PARAM (-5) +#define DSQL_COLUMN_IGNORE (-6) + +/* return values from functions */ +#define DSQL_SUCCESS 0 +#define DSQL_SUCCESS_WITH_INFO 1 +#define DSQL_NO_DATA 100 +#define DSQL_ERROR (-1) +#define DSQL_INVALID_HANDLE (-2) + +#define DSQL_STILL_EXECUTING 2 +#define DSQL_NEED_DATA 99 +#define DSQL_PARAM_DATA_AVAILABLE 101 + +/* defines for diagnostics fields */ +/* diagnose head field identifier */ +#define DSQL_DIAG_NUMBER (1) +#define DSQL_DIAG_DYNAMIC_FUNCTION_CODE (2) +#define DSQL_DIAG_ROW_COUNT (3) +#define DSQL_DIAG_PRINT_INFO (4) +#define DSQL_DIAG_EXPLAIN (5) +#define DSQL_DIAG_ROWID (6) +#define DSQL_DIAG_EXECID (7) +#define DSQL_DIAG_SERVER_STAT (8) + +/* diagnose record field identifier*/ +#define DSQL_DIAG_COLUMN_NUMBER (101) +#define DSQL_DIAG_MESSAGE_TEXT (102) +#define DSQL_DIAG_ERROR_CODE (103) +#define DSQL_DIAG_ROW_NUMBER (104) + +//If dpi_row_count or diagnose cannot return exactly row count +#define DSQL_ROW_COUNT_UNKNOWN (-99) + +/* test for SQL_SUCCESS or SQL_SUCCESS_WITH_INFO */ +#define DSQL_SUCCEEDED(rc) (((rc)&(~1))==0) + +/* flags for null-terminated string */ +#define DSQL_NTS (-3) +#define DSQL_NTSL (-3L) + +/* handle type identifiers */ +#define DSQL_HANDLE_ENV 1 +#define DSQL_HANDLE_DBC 2 +#define DSQL_HANDLE_STMT 3 +#define DSQL_HANDLE_DESC 4 +#define DSQL_HANDLE_LOB_LOCATOR 5 +#define DSQL_HANDLE_OBJECT 6 +#define DSQL_HANDLE_OBJDESC 7 +#define DSQL_HANDLE_BFILE 8 + +//DM C TYPE DEFINE +#define DSQL_C_TYPE_INVALID (-1000) +#define DSQL_C_NCHAR 0 //with NULL terminate +#define DSQL_C_SSHORT 1 +#define DSQL_C_USHORT 2 +#define DSQL_C_SLONG 3 +#define DSQL_C_ULONG 4 +#define DSQL_C_FLOAT 5 +#define DSQL_C_DOUBLE 6 +#define DSQL_C_BIT 7 +#define DSQL_C_STINYINT 8 +#define DSQL_C_UTINYINT 9 +#define DSQL_C_SBIGINT 10 +#define DSQL_C_UBIGINT 11 +#define DSQL_C_BINARY 12 +#define DSQL_C_DATE 13 +#define DSQL_C_TIME 14 +#define DSQL_C_TIMESTAMP 15 +#define DSQL_C_NUMERIC 16 +#define DSQL_C_INTERVAL_YEAR 17 +#define DSQL_C_INTERVAL_MONTH 18 +#define DSQL_C_INTERVAL_DAY 19 +#define DSQL_C_INTERVAL_HOUR 20 +#define DSQL_C_INTERVAL_MINUTE 21 +#define DSQL_C_INTERVAL_SECOND 22 +#define DSQL_C_INTERVAL_YEAR_TO_MONTH 23 +#define DSQL_C_INTERVAL_DAY_TO_HOUR 24 +#define DSQL_C_INTERVAL_DAY_TO_MINUTE 25 +#define DSQL_C_INTERVAL_DAY_TO_SECOND 26 +#define DSQL_C_INTERVAL_HOUR_TO_MINUTE 27 +#define DSQL_C_INTERVAL_HOUR_TO_SECOND 28 +#define DSQL_C_INTERVAL_MINUTE_TO_SECOND 29 +#define DSQL_C_DEFAULT 30 +#define DSQL_C_CLASS 31 +#define DSQL_C_RECORD 32 +#define DSQL_C_ARRAY 33 +#define DSQL_C_SARRAY 34 +#define DSQL_C_LOB_HANDLE 999 +#define DSQL_C_RSET 1000 +#define DSQL_C_WCHAR 1001 +#define DSQL_C_BFILE 1002 +#define DSQL_C_CHAR 1003 //without NULL terminate +#define DSQL_C_BOOLEAN DSQL_C_SLONG + +#ifdef DM64 +#define DSQL_C_BOOKMARK DSQL_C_UBIGINT +#else +#define DSQL_C_BOOKMARK DSQL_C_ULONG +#endif +#define DSQL_C_VARBOOKMARK DSQL_C_BINARY + +#define DSQL_IS_CTYPE_INTERVAL(type) (DSQL_C_INTERVAL_YEAR <= (type) && (type) <= DSQL_C_INTERVAL_MINUTE_TO_SECOND) +#define DSQL_IS_CTYPE_INTERVAL_YM(type) (type == DSQL_C_INTERVAL_YEAR || type == DSQL_C_INTERVAL_MONTH || type == DSQL_C_INTERVAL_YEAR_TO_MONTH) +#define DSQL_IS_CTYPE_INTERVAL_DT(type) (DSQL_IS_CTYPE_INTERVAL(type) && !DSQL_IS_TYPE_INTERVAL_YM(type)) +#define DSQL_IS_CTYPE_DATETIME(type) (DSQL_C_DATE <= type && type <= DSQL_C_TIMESTAMP) + +//DM SERVER TYPE DEFINE +#define DSQL_CHAR 1 /* CHAR */ +#define DSQL_VARCHAR 2 /* VARCHAR */ +#define DSQL_BIT 3 /* BIT STRING */ +#define DSQL_TINYINT 5 /* 1 byte INT */ +#define DSQL_SMALLINT 6 /* SMALL INTEGER, 2 bytes */ +#define DSQL_INT 7 /* INTEGER 4 bytes */ +#define DSQL_BIGINT 8 /* INTEGER 8 bytes */ +#define DSQL_DEC 9 /* DECIMAL */ +#define DSQL_FLOAT 10 /* FLOAT, SINGLE */ +#define DSQL_DOUBLE 11 /* DOUBLE */ +#define DSQL_BLOB 12 /* BINARY LARGE OBJECT */ +#define DSQL_BOOLEAN 13 /* BOOLEAN */ +#define DSQL_DATE 14 /* DATE*/ +#define DSQL_TIME 15 /* TIME*/ +#define DSQL_TIMESTAMP 16 /* DATE TIME */ +#define DSQL_BINARY 17 /* BINARY */ +#define DSQL_VARBINARY 18 /* VAR BINARY */ +#define DSQL_CLOB 19 /* TEXT */ +#define DSQL_TIME_TZ 22 /* TIME WITH TIME ZONE*/ +#define DSQL_TIMESTAMP_TZ 23 /* TIMESTAMP WITH TIME ZONE*/ +#define DSQL_CLASS 24 +#define DSQL_RECORD 25 +#define DSQL_ARRAY 26 +#define DSQL_SARRAY 27 +#define DSQL_ROWID 28 /* ROWID*/ +#define DSQL_RSET 119 /* RESULT SET*/ +#define DSQL_BFILE 1000 /* BFILE*/ + +#define DSQL_INTERVAL_TYPE_BASE 100 +#define DSQL_INTERVAL_TYPE_END 112 +#define DSQL_INTERVAL_YEAR DSQL_INTERVAL_TYPE_BASE +#define DSQL_INTERVAL_MONTH (DSQL_INTERVAL_TYPE_BASE + 1) +#define DSQL_INTERVAL_DAY (DSQL_INTERVAL_TYPE_BASE + 2) +#define DSQL_INTERVAL_HOUR (DSQL_INTERVAL_TYPE_BASE + 3) +#define DSQL_INTERVAL_MINUTE (DSQL_INTERVAL_TYPE_BASE + 4) +#define DSQL_INTERVAL_SECOND (DSQL_INTERVAL_TYPE_BASE + 5) +#define DSQL_INTERVAL_YEAR_TO_MONTH (DSQL_INTERVAL_TYPE_BASE + 6) +#define DSQL_INTERVAL_DAY_TO_HOUR (DSQL_INTERVAL_TYPE_BASE + 7) +#define DSQL_INTERVAL_DAY_TO_MINUTE (DSQL_INTERVAL_TYPE_BASE + 8) +#define DSQL_INTERVAL_DAY_TO_SECOND (DSQL_INTERVAL_TYPE_BASE + 9) +#define DSQL_INTERVAL_HOUR_TO_MINUTE (DSQL_INTERVAL_TYPE_BASE + 10) +#define DSQL_INTERVAL_HOUR_TO_SECOND (DSQL_INTERVAL_TYPE_BASE + 11) +#define DSQL_INTERVAL_MINUTE_TO_SECOND (DSQL_INTERVAL_TYPE_BASE + 12) + +#define DSQL_IS_TYPE_INTERVAL(type) (DSQL_INTERVAL_TYPE_BASE <= (type) && (type) <= DSQL_INTERVAL_TYPE_END) +#define DSQL_IS_TYPE_INTERVAL_YM(type) (type == DSQL_INTERVAL_YEAR || type == DSQL_INTERVAL_MONTH || type == DSQL_INTERVAL_YEAR_TO_MONTH) +#define DSQL_IS_TYPE_INTERVAL_DT(type) (DSQL_IS_TYPE_INTERVAL(type) && !DSQL_IS_TYPE_INTERVAL_YM(type)) +#define DSQL_IS_TYPE_DATETIME(type) (DSQL_DATE <= type && type <= DSQL_TIMESTAMP) + +//diagnose function code definition +#define DSQL_DIAG_FUNC_CODE_INVALID 0 +#define DSQL_DIAG_FUNC_CODE_SELECT 1 +#define DSQL_DIAG_FUNC_CODE_INSERT 2 +#define DSQL_DIAG_FUNC_CODE_DELETE 3 +#define DSQL_DIAG_FUNC_CODE_UPDATE 4 +#define DSQL_DIAG_FUNC_CODE_CREATE_DB 5 +#define DSQL_DIAG_FUNC_CODE_CREATE_TAB 6 +#define DSQL_DIAG_FUNC_CODE_DROP_TAB 7 +#define DSQL_DIAG_FUNC_CODE_CREATE_VIEW 8 +#define DSQL_DIAG_FUNC_CODE_DROP_VIEW 9 +#define DSQL_DIAG_FUNC_CODE_CREATE_INDEX 10 +#define DSQL_DIAG_FUNC_CODE_DROP_INDEX 11 +#define DSQL_DIAG_FUNC_CODE_CREATE_USER 12 +#define DSQL_DIAG_FUNC_CODE_DROP_USER 13 +#define DSQL_DIAG_FUNC_CODE_CREATE_ROLE 14 +#define DSQL_DIAG_FUNC_CODE_DROP_ROLE 15 +#define DSQL_DIAG_FUNC_CODE_COMMIT 16 +#define DSQL_DIAG_FUNC_CODE_ROLLBACK 17 +#define DSQL_DIAG_FUNC_CODE_EXPLAIN 18 +#define DSQL_DIAG_FUNC_CODE_SET_TRX 19 +#define DSQL_DIAG_FUNC_CODE_SAVE_POINT 20 +#define DSQL_DIAG_FUNC_CODE_DROP 21 +#define DSQL_DIAG_FUNC_CODE_ALTER_DB 22 +#define DSQL_DIAG_FUNC_CODE_ALTER_USER 23 +#define DSQL_DIAG_FUNC_CODE_CREATE_FUNC 24 +#define DSQL_DIAG_FUNC_CODE_SET_CURRENT_DB 25 +#define DSQL_DIAG_FUNC_CODE_GRANT 26 +#define DSQL_DIAG_FUNC_CODE_REVOKE 27 +#define DSQL_DIAG_FUNC_CODE_CALL 28 +#define DSQL_DIAG_FUNC_CODE_ALTER_TAB 29 +#define DSQL_DIAG_FUNC_CODE_CREATE_SCHEMA 30 +#define DSQL_DIAG_FUNC_CODE_AUDIT 31 +#define DSQL_DIAG_FUNC_CODE_ALTER_TRIGGER 32 +#define DSQL_DIAG_FUNC_CODE_SELECT_INTO 33 +#define DSQL_DIAG_FUNC_CODE_FETCH 34 +#define DSQL_DIAG_FUNC_CODE_CLOSE_CURSOR 35 +#define DSQL_DIAG_FUNC_CODE_TRUNC_TAB 36 +#define DSQL_DIAG_FUNC_CODE_CREATE_SEQUENCE 37 +#define DSQL_DIAG_FUNC_CODE_CREATE_LOGIN 38 +#define DSQL_DIAG_FUNC_CODE_ALTER_LOGIN 39 +#define DSQL_DIAG_FUNC_CODE_CREATE_CONTEXT_INDEX 40 +#define DSQL_DIAG_FUNC_CODE_DROP_CONTEXT_INDEX 41 +#define DSQL_DIAG_FUNC_CODE_ALT_CONTER_INDEX 42 +#define DSQL_DIAG_FUNC_CODE_CURSOR_DELETE 43 +#define DSQL_DIAG_FUNC_CODE_CURSOR_UPDATE 44 +#define DSQL_DIAG_FUNC_CODE_CREATE_LINK 45 +#define DSQL_DIAG_FUNC_CODE_LOCK_TAB 46 +#define DSQL_DIAG_FUNC_CODE_CREATE_POLICY 47 +#define DSQL_DIAG_FUNC_CODE_ALTER_POLICY 48 +#define DSQL_DIAG_FUNC_CODE_ALTER_USER_POLICY 49 +#define DSQL_DIAG_FUNC_CODE_ALTER_TABLE_POLICY 50 +#define DSQL_DIAG_FUNC_CODE_CREATE_RULE 51 +#define DSQL_DIAG_FUNC_CODE_CREATE_OPERATOR 52 +#define DSQL_DIAG_FUNC_CODE_CREATE_ALERT 53 +#define DSQL_DIAG_FUNC_CODE_CREATE_JOB 54 +#define DSQL_DIAG_FUNC_CODE_ALTER_OPERATOR 55 +#define DSQL_DIAG_FUNC_CODE_ALTER_ALERT 56 +#define DSQL_DIAG_FUNC_CODE_ALTER_JOB 57 +#define DSQL_DIAG_FUNC_CODE_SET_IDENTINS 58 +#define DSQL_DIAG_FUNC_CODE_BACKUP_DATABASE 59 +#define DSQL_DIAG_FUNC_CODE_RESTORE_DATABASE 60 +#define DSQL_DIAG_FUNC_CODE_CREATE_PACKAGE 61 +#define DSQL_DIAG_FUNC_CODE_CREATE_PACKAGE_BODY 62 +#define DSQL_DIAG_FUNC_CODE_CREATE_TYPE 63 +#define DSQL_DIAG_FUNC_CODE_CREATE_TYPE_BODY 64 +#define DSQL_DIAG_FUNC_CODE_CREATE_SYNONYM 65 +#define DSQL_DIAG_FUNC_CODE_CREATE_CRYPT 66 +#define DSQL_DIAG_FUNC_CODE_ALTER_CRYPT 67 +#define DSQL_DIAG_FUNC_CODE_SET_CURRENT_SCHEMA 68 +#define DSQL_DIAG_FUNC_CODE_MERGE 69 +#define DSQL_DIAG_FUNC_CODE_SET_TIME_ZONE 70 +#define DSQL_DIAG_FUNC_CODE_CREATE_TABLESPACE 71 +#define DSQL_DIAG_FUNC_CODE_ALTER_TABLESPACE 72 +#define DSQL_DIAG_FUNC_CODE_COMMENT 73 +#define DSQL_DIAG_FUNC_CODE_ALTER_SESSION 74 +#define DSQL_DIAG_FUNC_CODE_CREATE_DOMAIN 75 +#define DSQL_DIAG_FUNC_CODE_CREATE_CHARSET 76 +#define DSQL_DIAG_FUNC_CODE_CREATE_COLLATION 77 +#define DSQL_DIAG_FUNC_CODE_CREATE_CONTEXT 78 +#define DSQL_DIAG_FUNC_CODE_ALTER_INDEX 79 +#define DSQL_DIAG_FUNC_CODE_STAT_ON 80 +#define DSQL_DIAG_FUNC_CODE_CREATE_PROCEDURE 81 +#define DSQL_DIAG_FUNC_CODE_ALT_SESS_TIMESTAMP_FMT 82 +#define DSQL_DIAG_FUNC_CODE_ALT_SESS_TIMESTAMP_TZ_FMT 83 +#define DSQL_DIAG_FUNC_CODE_ALT_SESS_TIME_FMT 84 +#define DSQL_DIAG_FUNC_CODE_ALT_SESS_DATE_FMT 85 +#define DSQL_DIAG_FUNC_CODE_ALT_SESS_TIME_TZ_FMT 86 +#define DSQL_DIAG_FUNC_CODE_ALT_SESS_DATE_LANGUAGE 87 +#define DSQL_DIAG_FUNC_CODE_CREATE_PROFILE 88 +#define DSQL_DIAG_FUNC_CODE_ALTER_PROFILE 89 +#define DSQL_DIAG_FUNC_CODE_DROP_PROFILE 90 +#define DSQL_DIAG_FUNC_CODE_CREATE_DIRECTORY 91 /* create directory */ +#define DSQL_DIAG_FUNC_CODE_BEGIN_TRAN 92 /* begin transaction */ +#define DSQL_DIAG_FUNC_CODE_CREATE_OPRT 93 // create operator +#define DSQL_DIAG_FUNC_CODE_DROP_OPRT 94 // drop operator +#define DSQL_DIAG_FUNC_CODE_CPART_GROUP 95 // create partition group +#define DSQL_DIAG_FUNC_CODE_ALTER_FUNCTION 96 // alter function + +/* internal representation of numeric data type */ +#define DPI_MAX_NUMERIC_LEN 16 +typedef struct dpi_numeric_struct dpi_numeric_t; +struct dpi_numeric_struct +{ + udbyte precision; + sdbyte scale; + udbyte sign; /* 1 if positive, 0 if negative */ + udbyte val[DPI_MAX_NUMERIC_LEN]; +}; + +typedef struct dpi_date_struct dpi_date_t; +struct dpi_date_struct +{ + sdint2 year; + udint2 month; + udint2 day; +}; + +typedef struct dpi_time_struct dpi_time_t; +struct dpi_time_struct +{ + udint2 hour; + udint2 minute; + udint2 second; +}; + +typedef struct dpi_timestamp_struct dpi_timestamp_t; +struct dpi_timestamp_struct +{ + sdint2 year; + udint2 month; + udint2 day; + udint2 hour; + udint2 minute; + udint2 second; + udint4 fraction; +}; + +typedef enum +{ + DSQL_IS_YEAR = 1, + DSQL_IS_MONTH = 2, + DSQL_IS_DAY = 3, + DSQL_IS_HOUR = 4, + DSQL_IS_MINUTE = 5, + DSQL_IS_SECOND = 6, + DSQL_IS_YEAR_TO_MONTH = 7, + DSQL_IS_DAY_TO_HOUR = 8, + DSQL_IS_DAY_TO_MINUTE = 9, + DSQL_IS_DAY_TO_SECOND = 10, + DSQL_IS_HOUR_TO_MINUTE = 11, + DSQL_IS_HOUR_TO_SECOND = 12, + DSQL_IS_MINUTE_TO_SECOND = 13 +} DPIINTERVAL; + +typedef struct dpi_year_month_struct dpi_year_month_t; +struct dpi_year_month_struct +{ + udint4 year; + udint4 month; +}; + +typedef struct dpi_day_second_struct dpi_day_second_t; +struct dpi_day_second_struct +{ + udint4 day; + udint4 hour; + udint4 minute; + udint4 second; + udint4 fraction; +}; + +typedef struct dpi_interval_struct dpi_interval_t; +struct dpi_interval_struct +{ + DPIINTERVAL interval_type; + sdint2 interval_sign; //1:- 0:+ + union { + dpi_year_month_t year_month; + dpi_day_second_t day_second; + } intval; +}; + +/* environment attribute */ +#define DSQL_ATTR_OUTPUT_NTS 10001 + +/* connection attributes */ +#define DSQL_ATTR_AUTO_IPD 10001 + +/* statement attributes */ +#define DSQL_ATTR_APP_ROW_DESC 10010 +#define DSQL_ATTR_APP_PARAM_DESC 10011 +#define DSQL_ATTR_IMP_ROW_DESC 10012 +#define DSQL_ATTR_IMP_PARAM_DESC 10013 +#define DSQL_ATTR_METADATA_ID 10014 +#define DSQL_ATTR_CURSOR_SCROLLABLE (-1) +#define DSQL_ATTR_CURSOR_SENSITIVITY (-2) +#define DSQL_ATTR_SQL_CHARSET (20000) +#define DSQL_ATTR_IGN_BP_ERR (20001) +#define DSQL_ATTR_BP_MAX_ERRS (20002) +#define DSQL_ATTR_ROW_IND_BIND_TYPE (20003) +#define DSQL_ATTR_PARAM_IND_BIND_TYPE (20004) +#define DSQL_ATTR_FETCH_PACKAGE_SIZE (20005) +#define DSQL_ATTR_PARAM_AFFECT_ROWS_PTR (20006) + +/* DSQL_ATTR_CURSOR_SCROLLABLE values */ +#define DSQL_NONSCROLLABLE 0 +#define DSQL_SCROLLABLE 1 + +/* identifiers of fields in the SQL descriptor */ +#define DSQL_DESC_COUNT 1001 +#define DSQL_DESC_TYPE 1002 +#define DSQL_DESC_LENGTH 1003 +#define DSQL_DESC_OCTET_LENGTH_PTR 1004 +#define DSQL_DESC_PRECISION 1005 +#define DSQL_DESC_SCALE 1006 +#define DSQL_DESC_DATETIME_INTERVAL_CODE 1007 +#define DSQL_DESC_NULLABLE 1008 +#define DSQL_DESC_INDICATOR_PTR 1009 +#define DSQL_DESC_DATA_PTR 1010 +#define DSQL_DESC_NAME 1011 +#define DSQL_DESC_UNNAMED 1012 +#define DSQL_DESC_OCTET_LENGTH 1013 +#define DSQL_DESC_ALLOC_TYPE 1099 + +/* Statement attribute values for cursor sensitivity */ +#define DSQL_UNSPECIFIED 0 +#define DSQL_INSENSITIVE 1 +#define DSQL_SENSITIVE 2 + +/* Default conversion code for dpi_bind_col(), dpi_bind_param() and dpi_get_data() */ +#define DSQL_DEFAULT 99 + +/* dpi_get_data() code indicating that the application row descriptor + * specifies the data type + */ +#define DSQL_ARD_TYPE (-99) + +#define DSQL_FALSE 0 +#define DSQL_TRUE 1 + +/* values of NULLABLE field in descriptor */ +#define DSQL_NO_NULLS 0 +#define DSQL_NULLABLE 1 + +/* Values returned to show WHERE clause + * supported + */ +#define DSQL_PRED_NONE 0 +#define DSQL_PRED_CHAR 1 +#define DSQL_PRED_BASIC 2 +#define DSQL_PRED_SEARCHABLE 3 + +/* values of UNNAMED field in descriptor */ +#define DSQL_NAMED 0 +#define DSQL_UNNAMED 1 + +/* values of ALLOC_TYPE field in descriptor */ +#define DSQL_DESC_ALLOC_AUTO 1 +#define DSQL_DESC_ALLOC_USER 2 + +/* Codes used for FetchOrientation in dpi_fetch_scroll() +*/ +#define DSQL_FETCH_NEXT 1 +#define DSQL_FETCH_FIRST 2 + +/* Other codes used for FetchOrientation in dpi_fetch_scroll() */ +#define DSQL_FETCH_LAST 3 +#define DSQL_FETCH_PRIOR 4 +#define DSQL_FETCH_ABSOLUTE 5 +#define DSQL_FETCH_RELATIVE 6 +#define DSQL_FETCH_BOOKMARK 8 + +/* dpi_end_tran() options */ +#define DSQL_COMMIT 0 +#define DSQL_ROLLBACK 1 + +/* null handles returned by dpi_alloc_handle() */ +#define DSQL_NULL_HENV 0 +#define DSQL_NULL_HDBC 0 +#define DSQL_NULL_HSTMT 0 +#define DSQL_NULL_HDESC 0 +#define DSQL_NULL_HLOB 0 + +/* null handle used in place of parent handle when allocating HENV */ +#define DSQL_NULL_HANDLE 0L + + +//#define ISO_LEVEL_INVALID (-1) +#define ISO_LEVEL_READ_UNCOMMITTED 0 +#define ISO_LEVEL_READ_COMMITTED 1 +#define ISO_LEVEL_REPEATABLE_READ 2 +#define ISO_LEVEL_SERIALIZABLE 3 + +/* Reserved values for UNIQUE argument of dpi_statistics() */ +#define DSQL_INDEX_UNIQUE 0 + +/* Values that may appear in the result set of dpi_specialcolumns() */ +#define DSQL_SCOPE_CURROW 0 + +/* Column types and scopes in dpi_specialcolumns(). */ +#define DSQL_BEST_ROWID 1 +#define DSQL_ROWVER 2 + +//DPI call interface +DllExport +DPIRETURN +dpi_module_init(); + +DllExport +DPIRETURN +dpi_module_deinit(); + +//handle function +DllExport +DPIRETURN +dpi_alloc_handle( + sdint2 hndl_type, + dhandle hndl_in, + dhandle* hndl_out +); + +DllExport +DPIRETURN +dpi_free_handle( + sdint2 hndl_type, + dhandle hndl +); + +DllExport +DPIRETURN +dpi_alloc_env( + dhenv* dpi_henv +); + +DllExport +DPIRETURN +dpi_alloc_con( + dhenv dpi_henv, + dhcon* dpi_hcon +); + +DllExport +DPIRETURN +dpi_alloc_stmt( + dhcon dpi_hcon, + dhstmt* dpi_hstmt +); + +DllExport +DPIRETURN +dpi_alloc_desc( + dhcon dpi_hcon, + dhdesc* dpi_hdesc +); + +DllExport +DPIRETURN +dpi_alloc_lob_locator( + dhstmt dpi_hstmt, + dhloblctr* dpi_loblctr +); + +DllExport +DPIRETURN +dpi_alloc_lob_locator2( + dhcon dpi_hcon, + dhloblctr* dpi_loblctr +); + +DllExport +DPIRETURN +dpi_alloc_bfile( + dhcon dpi_hcon, + dhbfile* dpi_loblctr +); + +DllExport +DPIRETURN +dpi_free_env( + dhenv dpi_henv +); + +DllExport +DPIRETURN +dpi_free_con( + dhcon dpi_hcon +); + +DllExport +DPIRETURN +dpi_free_stmt( + dhstmt dpi_hstmt +); + +DllExport +DPIRETURN +dpi_free_desc( + dhdesc dpi_hdesc +); + +DllExport +DPIRETURN +dpi_free_lob_locator( + dhloblctr dpi_loblctr +); + +DllExport +DPIRETURN +dpi_free_bfile( + dhbfile bfile_lctr +); + +DllExport +DPIRETURN +dpi_set_env_attr( + dhenv dpi_henv, + sdint4 attr_id, + dpointer val, + sdint4 val_len +); + +DllExport +DPIRETURN +dpi_set_con_attr( + dhcon dpi_hcon, + sdint4 attr_id, + dpointer val, + sdint4 val_len +); + +DllExport +DPIRETURN +dpi_set_stmt_attr( + dhstmt dpi_hstmt, + sdint4 attr_id, + dpointer val, + sdint4 val_len +); + +DllExport +DPIRETURN +dpi_get_env_attr( + dhenv dpi_henv, + sdint4 attr_id, + dpointer val, + sdint4 buf_len, + sdint4* val_len +); + +DllExport +DPIRETURN +dpi_get_con_attr( + dhcon dpi_hcon, + sdint4 attr_id, + dpointer val, + sdint4 buf_len, + sdint4* val_len +); + +DllExport +DPIRETURN +dpi_get_stmt_attr( + dhstmt dpi_hstmt, + sdint4 attr_id, + dpointer val, + sdint4 buf_len, + sdint4* val_len +); + +//diagnose functions +DllExport +DPIRETURN +dpi_get_diag_rec( + sdint2 hndl_type, + dhandle hndl, + sdint2 rec_num, + sdint4* err_code, + sdbyte* err_msg, + sdint2 buf_sz, + sdint2* msg_len +); + +DllExport +DPIRETURN +dpi_get_diag_field( + sdint2 hndl_type, + dhandle hndl, + sdint2 rec_num, + sdint2 diag_id, + dpointer diag_info, + slength buf_len, + slength* info_len +); + +//connection functions +DllExport +DPIRETURN +dpi_login( + dhcon dpi_hcon, + sdbyte* svr, + sdbyte* user, + sdbyte* pwd +); + +DllExport +DPIRETURN +dpi_logout( + dhcon dpi_hcon +); + +DllExport +DPIRETURN +dpi_commit( + dhcon dpi_hcon +); + +DllExport +DPIRETURN +dpi_rollback( + dhcon dpi_hcon +); + +DllExport +DPIRETURN +dpi_end_tran( + sdint2 hndl_type, //in + dhandle hndl, //in + sdint2 type +); + +DllExport +DPIRETURN +dpi_cancel( + dhstmt dpi_hstmt +); + +//descripton functions +DllExport +DPIRETURN +dpi_copy_desc( + dhdesc src_desc, + dhdesc target_desc +); + +DllExport +DPIRETURN +dpi_set_desc_rec( + dhdesc dpi_desc, + udint2 rec_num, + sdint2 type, + sdint2 sub_type, + slength length, + sdint2 prec, + sdint2 scale, + dpointer data_ptr, + slength* str_len, + slength* ind_ptr +); + +DllExport +DPIRETURN +dpi_set_desc_field( + dhdesc dpi_desc, + udint2 rec_num, + sdint2 field, + dpointer val, + sdint4 val_len +); + +DllExport +DPIRETURN +dpi_get_desc_rec( + dhdesc dpi_desc, + udint2 rec_num, + sdbyte* name_buf, + sdint2 name_buf_len, + sdint2* name_len, + sdint2* type, + sdint2* sub_type, + slength* length, + sdint2* prec, + sdint2* scale, + sdint2* nullable +); + +DllExport +DPIRETURN +dpi_get_desc_field( + dhdesc dpi_desc, + udint2 rec_num, + sdint2 field, + dpointer val, + sdint4 val_len, + sdint4* str_len +); + +//statement function +//statement execution operation +DllExport +DPIRETURN +dpi_bind_param( + dhstmt dpi_hstmt, + udint2 iparam, //1-based index + sdint2 param_type, + sdint2 ctype, + sdint2 dtype, + ulength precision, + sdint2 scale, + dpointer buf, + slength buf_len, + slength* ind_ptr +); + +DllExport +DPIRETURN +dpi_bind_param2( + dhstmt dpi_hstmt, + udint2 iparam, //1-based index + sdint2 param_type, + sdint2 ctype, + sdint2 dtype, + ulength precision, + sdint2 scale, + dpointer buf, + slength buf_len, + slength* ind_ptr, + slength* act_len_ptr +); + +DllExport +DPIRETURN +dpi_desc_param( + dhstmt dpi_hstmt, + udint2 iparam, //1-based + sdint2* sql_type, + ulength* prec, + sdint2* scale, + sdint2* nullable +); + +DllExport +DPIRETURN +dpi_exec( + dhstmt dpi_hstmt +); + +DllExport +DPIRETURN +dpi_exec_direct( + dhstmt dpi_hstmt, + sdbyte* sql_txt +); + +DllExport +DPIRETURN +dpi_exec_add_batch( + dhstmt dpi_hstmt +); + +DllExport +DPIRETURN +dpi_exec_batch( + dhstmt dpi_hstmt +); + +DllExport +DPIRETURN +dpi_unbind_params( + dhstmt dpi_hstmt +); + +DllExport +DPIRETURN +dpi_unbind_columns( + dhstmt dpi_hstmt +); + +DllExport +DPIRETURN +dpi_param_data( + dhstmt dpi_hstmt, + dpointer* val_ptr +); + +DllExport +DPIRETURN +dpi_prepare( + dhstmt dpi_hstmt, + sdbyte* sql_txt +); + +DllExport +DPIRETURN +dpi_put_data( + dhstmt dpi_hstmt, + dpointer val, + slength val_len +); + +DllExport +DPIRETURN +dpi_number_params( + dhstmt dpi_stmt, + udint2* param_cnt +); + +DllExport +DPIRETURN +dpi_set_cursor_name( + dhstmt dpi_hstmt, + sdbyte* name, + sdint2 name_len +); + +DllExport +DPIRETURN +dpi_get_cursor_name( + dhstmt dpi_hstmt, + sdbyte* name, + sdint2 buf_len, + sdint2 *name_len +); + +//statement resultset operation +DllExport +DPIRETURN +dpi_close_cursor( + dhstmt dpi_hstmt +); + +DllExport +DPIRETURN +dpi_bind_col( + dhstmt dpi_hstmt, + udint2 icol, + sdint2 ctype, + dpointer val, + slength buf_len, + slength* ind +); + +DllExport +DPIRETURN +dpi_bind_col2( + dhstmt dpi_hstmt, + udint2 icol, + sdint2 ctype, + dpointer val, + slength buf_len, + slength* ind, + slength* act_len +); + +DllExport +DPIRETURN +dpi_number_columns( + dhstmt dpi_stmt, + sdint2* col_cnt +); + +DllExport +DPIRETURN +dpi_desc_column( + dhstmt dpi_hstmt, + sdint2 icol, + sdbyte* name, + sdint2 buf_len, + sdint2* name_len, + sdint2* sqltype, + ulength* col_sz, + sdint2* dec_digits, + sdint2* nullable +); + +DllExport +DPIRETURN +dpi_col_attr( + dhstmt dpi_hstmt, + udint2 icol, + udint2 fld_id, + dpointer chr_attr, + sdint2 buf_len, + sdint2* chr_attr_len, + slength* num_attr +); + +DllExport +DPIRETURN +dpi_bulk_operation( + dhstmt dpi_hstmt, + udint2 op +); + +DllExport +DPIRETURN +dpi_fetch( + dhstmt dpi_hstmt, + ulength* row_num +); + +DllExport +DPIRETURN +dpi_fetch_scroll( + dhstmt dpi_hstmt, + sdint2 orient, + slength offset, + ulength* row_num +); + +DllExport +DPIRETURN +dpi_get_data( + dhstmt dpi_hstmt, + udint2 icol, + sdint2 ctype, + dpointer val, + slength buf_len, + slength* val_len +); + +DllExport +DPIRETURN +dpi_get_data2( + dhstmt dpi_hstmt, + udint2 icol, + sdint2 ctype, + dpointer val, + slength buf_len, + slength* val_len, + slength* act_len +); + +DllExport +DPIRETURN +dpi_more_results( + dhstmt dpi_hstmt +); + +DllExport +DPIRETURN +dpi_set_pos( + dhstmt dpi_hstmt, + ulength row_num, + udint2 op, + udint2 lock_type +); + +DllExport +DPIRETURN +dpi_row_count( + dhstmt dpi_hstmt, + sdint8* row_num +); + +DllExport +DPIRETURN +dpi_lob_get_length( + dhloblctr dpi_loblctr, + slength* len +); + +DllExport +DPIRETURN +dpi_lob_get_length2( + dhloblctr dpi_loblctr, + sdint8* len +); + +DllExport +DPIRETURN +dpi_lob_read( + dhloblctr dpi_loblctr, + ulength start_pos, + sdint2 ctype, + slength data_to_read, + dpointer val_buf, + slength buf_len, + slength* data_get +); + +DllExport +DPIRETURN +dpi_lob_read2( + dhloblctr dpi_loblctr, + udint8 start_pos, + sdint2 ctype, + slength data_to_read, + dpointer val_buf, + slength buf_len, + slength* data_get +); + +DllExport +DPIRETURN +dpi_lob_read3( + dhloblctr dpi_loblctr, + udint8 start_pos, + sdint2 ctype, + slength data_to_read, + dpointer val_buf, + slength buf_len, + slength* data_get, + slength* data_get_bytes +); + +DllExport +DPIRETURN +dpi_lob_write( + dhloblctr dpi_loblctr, + ulength start_pos, + sdint2 ctype, + dpointer val, + ulength bytes_to_write, + ulength* data_writed +); + +DllExport +DPIRETURN +dpi_lob_write2( + dhloblctr dpi_loblctr, + udint8 start_pos, + sdint2 ctype, + dpointer val, + ulength bytes_to_write, + ulength* data_writed +); + +DllExport +DPIRETURN +dpi_lob_truncate( + dhloblctr dpi_loblctr, + ulength len, + ulength* data_len +); + +DllExport +DPIRETURN +dpi_lob_truncate2( + dhloblctr dpi_loblctr, + udint8 len, + udint8* data_len +); + +//////complex object +DllExport +DPIRETURN +dpi_desc_obj( + dhcon dpi_con, + sdbyte* schema, + sdbyte* compobj_name, + dhobjdesc* obj_desc +); + +DllExport +DPIRETURN +dpi_desc_obj2( + dhcon dpi_con, + sdbyte* schema, + sdbyte* pkg_name, + sdbyte* compobj_name, + dhobjdesc* obj_desc +); + +DllExport +DPIRETURN +dpi_free_obj_desc( + dhobjdesc obj_desc +); + +DllExport +DPIRETURN +dpi_alloc_obj( + dhcon dpi_con, + dhobj* object +); + +DllExport +DPIRETURN +dpi_free_obj( + dhobj object +); + +DllExport +DPIRETURN +dpi_get_obj_attr( + dhobj object, + udint4 nth, + udint2 attr_id, + dpointer buf, + udint4 buf_len, + slength* len +); + +DllExport +DPIRETURN +dpi_get_obj_desc_attr( + dhobjdesc obj_desc, + udint4 nth, + udint2 attr_id, + dpointer buf, + udint4 buf_len, + slength* len +); + +DllExport +DPIRETURN +dpi_bind_obj_desc( + dhobj object, + dhobjdesc desc +); + +DllExport +DPIRETURN +dpi_unbind_obj_desc( + dhobj object +); + +DllExport +DPIRETURN +dpi_set_obj_val( + dhobj object, + udint4 nth, + udint2 ctype, + dpointer val, + slength val_len +); + +DllExport +DPIRETURN +dpi_set_indtab_node( + dhobj object, + udint2 ktype, + dpointer key, + slength key_len, + udint2 vtype, + dpointer val, + slength val_len +); + +DllExport +DPIRETURN +dpi_get_obj_val( + dhobj object, + udint4 nth, + udint2 ctype, + dpointer val, + udint4 buf_len, + slength* val_len +); + +////bfile +DllExport +DPIRETURN +dpi_bfile_construct( + dhbfile bfile_lctr, + udbyte* dir_name, + udbyte* file_name +); + +DllExport +DPIRETURN +dpi_bfile_get_name( + dhbfile bfile_lctr, + udbyte* dir_buf, + udint4 dir_buf_len, + udint4* dir_len, + udbyte* file_buf, + udint4 file_buf_len, + udint4* file_len +); + +DllExport DPIRETURN +dpi_bfile_read( + dhbfile dpi_bfile, + udint8 start_pos, //1 based:blob bytes clob chars + sdint2 ctype, + udint8 data_to_read, //0:default blob bytes clob chars + dpointer val_buf, + udint8 buf_len, + udint8* data_get //blob:bytes_get clob:chars +); + +//catalog functions +DllExport +DPIRETURN +dpi_tables( + dhstmt dpi_stmt, + udbyte* catalogname, + sdint2 namelength1, + udbyte* schemaname, + sdint2 namelength2, + udbyte* tablename, + sdint2 namelength3, + udbyte* tabletype, + sdint2 namelength4 +); + +DllExport +DPIRETURN +dpi_columns( + dhstmt dpi_stmt, + udbyte* catalogname, + sdint2 namelength1, + udbyte* schemaname, + sdint2 namelength2, + udbyte* tablename, + sdint2 namelength3, + udbyte* columnname, + sdint2 namelength4 +); + +DllExport +DPIRETURN +dpi_statistics( + dhstmt dpi_stmt, + udbyte* catalogname, + sdint2 namelength1, + udbyte* schemaname, + sdint2 namelength2, + udbyte* tablename, + sdint2 namelength3, + udint2 unique, + udint2 reserved +); + +DllExport +DPIRETURN +dpi_specialcolumns( + dhstmt dpi_stmt, + udint2 identifiertype, + udbyte* catalogname, + sdint2 namelength1, + udbyte* schemaname, + sdint2 namelength2, + udbyte* tablename, + sdint2 namelength3, + udint2 scope, + udint2 nullable +); + +DllExport +DPIRETURN +dpi_primarykeys( + dhstmt dpi_stmt, + udbyte* catalogname, + sdint2 namelength1, + udbyte* schemaname, + sdint2 namelength2, + udbyte* tablename, + sdint2 namelength3 +); + +DllExport +DPIRETURN +dpi_foreignkeys( + dhstmt dpi_stmt, + udbyte* szpkcatalogname, + sdint2 cbpkcatalogname, + udbyte* szpkschemaname, + sdint2 cbpkschemaname, + udbyte* szpktablename, + sdint2 cbpktablename, + udbyte* szfkcatalogname, + sdint2 cbfkcatalogname, + udbyte* szfkschemaname, + sdint2 cbfkschemaname, + udbyte* szfktablename, + sdint2 cbfktablename +); + +DllExport +DPIRETURN +dpi_tableprivileges( + dhstmt dpi_stmt, + udbyte* catalogname, + sdint2 namelength1, + udbyte* schemaname, + sdint2 namelength2, + udbyte* tablename, + sdint2 namelength3 +); + +DllExport +DPIRETURN +dpi_columnprivileges( + dhstmt dpi_stmt, + udbyte* catalogname, + sdint2 namelength1, + udbyte* schemaname, + sdint2 namelength2, + udbyte* tablename, + sdint2 namelength3, + udbyte* columnname, + sdint2 namelength4 +); + +DllExport +DPIRETURN +dpi_procedures( + dhstmt dpi_stmt, + udbyte* catalogname, + sdint2 namelength1, + udbyte* schemaname, + sdint2 namelength2, + udbyte* procname, + sdint2 namelength3 +); + +DllExport +DPIRETURN +dpi_procedurecolumns( + dhstmt dpi_stmt, + udbyte* catalogname, + sdint2 namelength1, + udbyte* schemaname, + sdint2 namelength2, + udbyte* procname, + sdint2 namelength3, + udbyte* columnname, + sdint2 namelength4 +); + +DllExport +DPIRETURN +dpi_build_rowid( + dhcon dpi_con, + sdint4 epno, + sdint8 partno, + udint8 real_rowid, + sdbyte* rowid_buf, + udint4 rowid_buf_len, + udint4* rowid_len +); + +DllExport +DPIRETURN +dpi_rowid_to_char( + dhcon dpi_con, + sdbyte* rowid, + udint4 rowid_len, + sdbyte* dest_buf, + udint4 dest_buf_len, + udint4* dest_len +); + +DllExport +DPIRETURN +dpi_char_to_rowid( + dhcon dpi_con, + sdbyte* rowid_str, + udint4 rowid_len, + sdbyte* dest_buf, + udint4 dest_buf_len, + udint4* dest_len +); + +#ifdef __cplusplus +} /* End of extern "C" { */ +#endif /* __cplusplus */ +#endif /* #ifndef _DPI_H */ + diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/include/DPIext.h b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/include/DPIext.h new file mode 100644 index 0000000..6f8eaeb --- /dev/null +++ b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/include/DPIext.h @@ -0,0 +1,420 @@ +//----------------------------------------------------------------------------- +// File: DPIext.h +// +// Copyright: Copyright (c) DM Corporation +// +// Contents: This is the include for applications using the DM SQL Extensions +// +// Comments: +// +//----------------------------------------------------------------------------- +#ifndef _DPIEXT_H +#define _DPIEXT_H + +#ifndef _DPI_H +#include "DPI.h" +#endif + +#ifdef __cplusplus +extern "C" { /* Assume C declarations for C++ */ +#endif /* __cplusplus */ + +/* env attribute and con attribute*/ +#define DSQL_ATTR_LOCAL_CODE 12345 +#define DSQL_ATTR_LANG_ID 12346 +#define DSQL_ATTR_CONNECTION_POOLING 12347 +#define DSQL_ATTR_TIME_ZONE 12348 +#define DSQL_ATTR_CON_CACHE_SZ 12349 +#define DSQL_ATTR_DEC2DOUB_CNVT 12350 +#define DSQL_ATTR_CHAR_CHECK 12351 +#define DSQL_ATTR_CHAR_TRUNC 12352 +#define DSQL_ATTR_FNUM2CHAR_MODE 12353 + +/*DSQL_ATTR_FNUM2CHAR_MODE options*/ +#define DSQL_FNUM2CHAR_MODE_0 0 +#define DSQL_FNUM2CHAR_MODE_1 1 + +/* values for DSQL_ATTR_LOCAL_CODE */ +#define PG_UTF8 1 +#define PG_GBK 2 +#define PG_BIG5 3 +#define PG_ISO_8859_9 4 +#define PG_EUC_JP 5 +#define PG_EUC_KR 6 +#define PG_KOI8R 7 +#define PG_ISO_8859_1 8 +#define PG_SQL_ASCII 9 +#define PG_GB18030 10 +#define PG_ISO_8859_11 11 + +/* values for DSQL_ATTR_LANG_ID */ +#define LANGUAGE_CN 0 +#define LANGUAGE_EN 1 +#define LANGUAGE_CNT_HK 2 + +/* default value*/ +#define DSQL_DEAFAULT_TCPIP_PORT 5236 + +/* connection attributes */ +#define DSQL_ATTR_ACCESS_MODE 101 +#define DSQL_ATTR_AUTOCOMMIT 102 +#define DSQL_ATTR_CONNECTION_TIMEOUT 113 +#define DSQL_ATTR_LOGIN_TIMEOUT 103 +#define DSQL_ATTR_PACKET_SIZE 112 +#define DSQL_ATTR_TRACE 104 +#define DSQL_ATTR_TRACEFILE 105 +#define DSQL_ATTR_TXN_ISOLATION 108 +#define DSQL_ATTR_CURRENT_CATALOG 109 +#define DSQL_ATTR_CONNECTION_DEAD 1209 +#define DSQL_ATTR_LOGIN_PORT 12350 +#define DSQL_ATTR_STR_CASE_SENSITIVE 12351 +#define DSQL_ATTR_LOGIN_USER 12352 +#define DSQL_ATTR_MAX_ROW_SIZE 12353 +#define DSQL_ATTR_CURRENT_SCHEMA 12354 +#define DSQL_ATTR_INSTANCE_NAME 12355 +#define DSQL_ATTR_LOGIN_SERVER 12356 +#define DSQL_ATTR_SERVER_CODE 12349 +#define DSQL_ATTR_APP_NAME 12357 +#define DSQL_ATTR_COMPRESS_MSG 12358 +#define DSQL_ATTR_USE_STMT_POOL 12359 +#define DSQL_ATTR_SERVER_MODE 12360 +#define DSQL_ATTR_SERVER_VERSION 12400 +#define DSQL_ATTR_SSL_PATH 12401 +#define DSQL_ATTR_SSL_PWD 12402 +#define DSQL_ATTR_MPP_LOGIN 12403 +#define DSQL_ATTR_TRX_STATE 12404 +//ukey-begin +#define DSQL_ATTR_UKEY_NAME 12405 +#define DSQL_ATTR_UKEY_PIN 12406 +//ukey-end +#define DSQL_ATTR_CLIENT_VERSION 12407 +#define DSQL_ATTR_RWSEPARATE 12408 +#define DSQL_ATTR_RWSEPARATE_PERCENT 12409 +#define DSQL_ATTR_CURSOR_ROLLBACK_BEHAVIOR 12410 +#define DSQL_ATTR_UDP_FLAG 12411 +#define DSQL_ATTR_OSAUTH_TYPE 12412 +#define DSQL_ATTR_INET_TYPE 12413 +#define DSQL_ATTR_DDL_AUTOCOMMIT 12414 +#define DSQL_ATTR_LOGIN_CERTIFICATE 12415 +#define DSQL_ATTR_LAST_LOGIN_IP 12416 +#define DSQL_ATTR_LAST_LOGIN_DT 12417 +#define DSQL_ATTR_FAILED_LOGIN_ATTEMPT 12418 +#define DSQL_ATTR_PASSWORD_GRACE_TIME 12419 +#define DSQL_ATTR_PASSWORD_LIFE_REMAINING 12420 +#define DSQL_ATTR_LICENSE_SERIAL 12421 +#define DSQL_ATTR_SPACE_TRUNC 12422 +#define DSQL_ATTR_ORA_DATE_FMT 12423 //oracle_date_fmt info +#define DSQL_ATTR_COMPATIBLE_MODE 12424 +#define DSQL_ATTR_TCNAME_LOWER 12425 +#define DSQL_ATTR_SHAKE_CRYPTO 12426 +#define DSQL_ATTR_QUOTE_REPLACE 12427 +#define DSQL_ATTR_FE_MODE 12428 + +/* DSQL_ATTR_COMPATIBLE_MODE options*/ +#define DSQL_COMPATIBLE_MODE_DM 0UL +#define DSQL_COMPATIBLE_MODE_ORA 1UL + +/* DSQL_ACCESS_MODE options */ +#define DSQL_MODE_READ_WRITE (0UL) +#define DSQL_MODE_READ_ONLY (1UL) +#define DSQL_MODE_DEFAULT DSQL_MODE_READ_WRITE + +/* DSQL_AUTOCOMMIT options */ +#define DSQL_AUTOCOMMIT_OFF 0UL +#define DSQL_AUTOCOMMIT_ON 1UL +#define DSQL_AUTOCOMMIT_DEFAULT DSQL_AUTOCOMMIT_ON + +#define DSQL_UDP_SINGLE 1UL +#define DSQL_UDP_MULTI 2UL +#define DSQL_UDP_DEFAULT DSQL_UDP_MULTI + +#define DSQL_INET_TCP 0UL +#define DSQL_INET_UDP 1UL +#define DSQL_INET_IPC 2UL +#define DSQL_INET_RDMA 3UL +#define DSQL_INET_UNIXSOCKET 4UL //UNIXSOCKET +#define DSQL_INET_DEFAULT DSQL_INET_TCP + +#define DSQL_RWSEPARATE_OFF 0UL +#define DSQL_RWSEPARATE_ON 1UL +#define DSQL_RWSEPARATE_ON2 4UL +#define DSQL_RWSEPARAT_DEFAULT DSQL_RWSEPARATE_OFF + +/* DSQL_OPT_TRACE options */ +#define DSQL_OPT_TRACE_OFF 0UL +#define DSQL_OPT_TRACE_ON 1UL +#define DSQL_OPT_TRACE_DEFAULT DSQL_OPT_TRACE_OFF +#define DSQL_OPT_TRACE_FILE_DEFAULT "\\DPI.LOG" + +/*DSQL_MPP_LOGIN options*/ +#define DSQL_MPP_LOGIN_GLOBAL 0 +#define DSQL_MPP_LOGIN_LOCAL 1 +#define DSQL_MPP_LOGIN_DEFAULT DSQL_MPP_LOGIN_GLOBAL + +/*DSQL_TRX_STATE options*/ +#define DSQL_TRX_COMPLETE 0 +#define DSQL_TRX_ACTIVE 1 + +/*DSQL_ATTR_CURSOR_ROLLBACK_BEHAVIOR option*/ +#define DSQL_CB_CLOSE 1 +#define DSQL_CB_PRESERVE 2 +#define DSQL_CB_DEFALUT DSQL_CB_PRESERVE + +/* values for DSQL_ATTR_CONNECTION_DEAD */ +#define DSQL_CD_TRUE 1L /* Connection is closed/dead */ +#define DSQL_CD_FALSE 0L /* Connection is open/available */ + +/*DSQL_ATTR_OSAUTH_TYPE option*/ +#define DSQL_OSAUTH_OFF 0 +#define DSQL_OSAUTH_DBA 1 +#define DSQL_OSAUTH_SSO 2 +#define DSQL_OSAUTH_AUDITOR 3 +#define DSQL_OSAUTH_AUTOMATCH 4 +#define DSQL_OSAUTH_USERS 5 +#define DSQL_OSAUTH_DEFAULT DSQL_OSAUTH_OFF + +/* values for DSQL_ATTR_LICENSE_SERIAL */ +#define DSQL_PERSONAL_SERIES 1 +#define DSQL_STANDARD_SERIES 2 +#define DSQL_ENTERPRISE_SERIES 3 +#define DSQL_CLOUD_SERIES 4 +#define DSQL_SECURITY_SERIES 5 +#define DSQL_TRUSTED_SERIES 6 +#define DSQL_DEVELOP_SERIES 7 + +/* statement attributes */ +#define DSQL_ATTR_ASYNC_ENABLE 4 +#define DSQL_ATTR_CONCURRENCY 7 +#define DSQL_ATTR_CURSOR_TYPE 6 +#define DSQL_ATTR_ENABLE_AUTO_IPD 15 +#define DSQL_ATTR_FETCH_BOOKMARK_PTR 16 +#define DSQL_ATTR_KEYSET_SIZE 8 +#define DSQL_ATTR_MAX_LENGTH 3 +#define DSQL_ATTR_MAX_ROWS 1 +#define DSQL_ATTR_NOSCAN 2 +#define DSQL_ATTR_PARAM_BIND_OFFSET_PTR 17 +#define DSQL_ATTR_PARAM_BIND_TYPE 18 +#define DSQL_ATTR_PARAM_OPERATION_PTR 19 +#define DSQL_ATTR_PARAM_STATUS_PTR 20 +#define DSQL_ATTR_PARAMS_PROCESSED_PTR 21 +#define DSQL_ATTR_PARAMSET_SIZE 22 +#define DSQL_ATTR_QUERY_TIMEOUT 0 +#define DSQL_ATTR_RETRIEVE_DATA 11 +#define DSQL_ATTR_ROW_BIND_OFFSET_PTR 23 +#define DSQL_ATTR_ROW_BIND_TYPE 5 +#define DSQL_ATTR_ROW_NUMBER 14 /*GetStmtAttr*/ +#define DSQL_ATTR_ROW_OPERATION_PTR 24 +#define DSQL_ATTR_ROW_STATUS_PTR 25 +#define DSQL_ATTR_ROWS_FETCHED_PTR 26 +#define DSQL_ATTR_ROW_ARRAY_SIZE 27 +#define DSQL_ATTR_SIMULATE_CURSOR 10 +#define DSQL_ATTR_USE_BOOKMARKS 12 +#define DSQL_ATTR_ROWSET_SIZE 9 + +/* COMPLEX TYPE ATTRIBUTE*/ +#define DSQL_ATTR_OBJ_TYPE 1 +#define DSQL_ATTR_OBJ_PREC 2 +#define DSQL_ATTR_OBJ_SCALE 3 +#define DSQL_ATTR_OBJ_DESC 4 +#define DSQL_ATTR_OBJ_FIELD_COUNT 5 +#define DSQL_ATTR_OBJ_NAME 6 +#define DSQL_ATTR_OBJ_SCHAME 7 +#define DSQL_ATTR_OBJ_KEY_TYPE 8 // get index table key_type + +/* COMPLEX OBJ ATTRIBUTE*/ +#define DSQL_ATTR_OBJ_VAL_COUNT 1 + +/* the value of DSQL_ATTR_PARAM_BIND_TYPE */ +#define DSQL_PARAM_BIND_BY_COLUMN 0UL +#define DSQL_PARAM_BIND_TYPE_DEFAULT DSQL_PARAM_BIND_BY_COLUMN + +/* DSQL_BIND_TYPE options */ +#define DSQL_BIND_BY_COLUMN 0UL +#define DSQL_BIND_TYPE_DEFAULT SQL_BIND_BY_COLUMN /* Default value */ + +/* DSQL_CONCURRENCY options */ +#define DSQL_CONCUR_READ_ONLY 1 +#define DSQL_CONCUR_LOCK 2 +#define DSQL_CONCUR_ROWVER 3 +#define DSQL_CONCUR_VALUES 4 +#define DSQL_CONCUR_DEFAULT DSQL_CONCUR_READ_ONLY /* Default value */ + +/* DSQL_CURSOR_TYPE options */ +#define DSQL_CURSOR_FORWARD_ONLY 0UL +#define DSQL_CURSOR_KEYSET_DRIVEN 1UL +#define DSQL_CURSOR_DYNAMIC 2UL +#define DSQL_CURSOR_STATIC 3UL +#define DSQL_CURSOR_TYPE_DEFAULT DSQL_CURSOR_FORWARD_ONLY /* Default value */ + +/* DSQL_RETRIEVE_DATA options */ +#define DSQL_RD_OFF 0UL +#define DSQL_RD_ON 1UL +#define DSQL_RD_DEFAULT DSQL_RD_ON + +#define DSQL_NOSCAN_OFF 0UL +#define DSQL_NOSCAN_ON 1UL +#define DSQL_NOSCAN_DEFAULT DSQL_NOSCAN_OFF + +/* DSQL_USE_BOOKMARKS options */ +#define DSQL_UB_OFF 0UL +#define DSQL_UB_ON 01UL +#define DSQL_UB_VARIABLE 2UL +#define DSQL_UB_DEFAULT DSQL_UB_OFF + +/* extended descriptor field */ +#define DSQL_DESC_ARRAY_SIZE 20 +#define DSQL_DESC_ARRAY_STATUS_PTR 21 +#define DSQL_DESC_AUTO_UNIQUE_VALUE DSQL_COLUMN_AUTO_INCREMENT +#define DSQL_DESC_BASE_COLUMN_NAME 22 +#define DSQL_DESC_BASE_TABLE_NAME 23 +#define DSQL_DESC_BIND_OFFSET_PTR 24 +#define DSQL_DESC_BIND_TYPE 25 +#define DSQL_DESC_CASE_SENSITIVE DSQL_COLUMN_CASE_SENSITIVE +#define DSQL_DESC_CATALOG_NAME DSQL_COLUMN_QUALIFIER_NAME +#define DSQL_DESC_CONCISE_TYPE DSQL_COLUMN_TYPE +#define DSQL_DESC_DATETIME_INTERVAL_PRECISION 26 +#define DSQL_DESC_DISPLAY_SIZE DSQL_COLUMN_DISPLAY_SIZE +#define DSQL_DESC_FIXED_PREC_SCALE DSQL_COLUMN_MONEY +#define DSQL_DESC_LABEL DSQL_COLUMN_LABEL +#define DSQL_DESC_LITERAL_PREFIX 27 +#define DSQL_DESC_LITERAL_SUFFIX 28 +#define DSQL_DESC_LOCAL_TYPE_NAME 29 +#define DSQL_DESC_MAXIMUM_SCALE 30 +#define DSQL_DESC_MINIMUM_SCALE 31 +#define DSQL_DESC_NUM_PREC_RADIX 32 +#define DSQL_DESC_PARAMETER_TYPE 33 //the server in out type +#define DSQL_DESC_ROWS_PROCESSED_PTR 34 +#define DSQL_DESC_ROWVER 35 +#define DSQL_DESC_SCHEMA_NAME DSQL_COLUMN_OWNER_NAME +#define DSQL_DESC_SEARCHABLE DSQL_COLUMN_SEARCHABLE +#define DSQL_DESC_TYPE_NAME DSQL_COLUMN_TYPE_NAME +#define DSQL_DESC_TABLE_NAME DSQL_COLUMN_TABLE_NAME +#define DSQL_DESC_UNSIGNED DSQL_COLUMN_UNSIGNED +#define DSQL_DESC_UPDATABLE DSQL_COLUMN_UPDATABLE +#define DSQL_DESC_DATETIME_FORMAT 1000 +#define DSQL_DESC_OBJ_DESCRIPTOR 10001 +#define DSQL_DESC_CHARSET 10002 +#define DSQL_DESC_BIND_PARAMETER_TYPE 10003 //the bind in out type,in default +#define DSQL_DESC_IND_BIND_TYPE 10004 +#define DSQL_DESC_OBJ_CLASSID 10005 +#define DSQL_DESC_FENC 10006 +#define DSQL_DESC_PARAM_AFFECT_ROWS_PTR 10007 +#define DSQL_DESC_CHAR_FLAG 10008 +#define DSQL_DESC_CHAR_SIZE 10009 +#define DSQL_DESC_DATETIME_TZ_FORMAT 10010 + +#define DSQL_DESC_OBJ_DESCRIPTOR2 30001 + +#define DSQL_DT 50 +#define DSQL_INTERVAL 51 +/* DSQL date/time type subcodes */ +#define DSQL_CODE_DATE 1 +#define DSQL_CODE_TIME 2 +#define DSQL_CODE_TIMESTAMP 3 +/* DSQL interval type subcodes */ +#define DSQL_CODE_YEAR 1 +#define DSQL_CODE_MONTH 2 +#define DSQL_CODE_DAY 3 +#define DSQL_CODE_HOUR 4 +#define DSQL_CODE_MINUTE 5 +#define DSQL_CODE_SECOND 6 +#define DSQL_CODE_YEAR_TO_MONTH 7 +#define DSQL_CODE_DAY_TO_HOUR 8 +#define DSQL_CODE_DAY_TO_MINUTE 9 +#define DSQL_CODE_DAY_TO_SECOND 10 +#define DSQL_CODE_HOUR_TO_MINUTE 11 +#define DSQL_CODE_HOUR_TO_SECOND 12 +#define DSQL_CODE_MINUTE_TO_SECOND 13 + +/* define for SQL_DIAG_ROW_NUMBER and SQL_DIAG_COLUMN_NUMBER */ +#define DSQL_NO_ROW_NUMBER (-1) +#define DSQL_NO_COLUMN_NUMBER (-1) +#define DSQL_ROW_NUMBER_UNKNOWN (-2) +#define DSQL_COLUMN_NUMBER_UNKNOWN (-2) + +#define DSQL_LEN_DATA_AT_EXEC_OFFSET (-100) +#define DSQL_LEN_DATA_AT_EXEC(length) (-(length)+DSQL_LEN_DATA_AT_EXEC_OFFSET) + +/* dpi_col_attr defines */ +#define DSQL_COLUMN_COUNT 0 +#define DSQL_COLUMN_NAME 1 +#define DSQL_COLUMN_TYPE 2 +#define DSQL_COLUMN_LENGTH 3 +#define DSQL_COLUMN_PRECISION 4 +#define DSQL_COLUMN_SCALE 5 +#define DSQL_COLUMN_DISPLAY_SIZE 6 +#define DSQL_COLUMN_NULLABLE 7 +#define DSQL_COLUMN_UNSIGNED 8 +#define DSQL_COLUMN_MONEY 9 +#define DSQL_COLUMN_UPDATABLE 10 +#define DSQL_COLUMN_AUTO_INCREMENT 11 +#define DSQL_COLUMN_CASE_SENSITIVE 12 +#define DSQL_COLUMN_SEARCHABLE 13 +#define DSQL_COLUMN_TYPE_NAME 14 +#define DSQL_COLUMN_TABLE_NAME 15 +#define DSQL_COLUMN_OWNER_NAME 16 +#define DSQL_COLUMN_QUALIFIER_NAME 17 +#define DSQL_COLUMN_LABEL 18 +#define DSQL_COLATT_OPT_MAX DSQL_COLUMN_LABEL + +/* dpi_col_attr subdefines for DSQL_COLUMN_UPDATABLE */ +#define DSQL_ATTR_READONLY 0 +#define DSQL_ATTR_WRITE 1 +#define DSQL_ATTR_READWRITE_UNKNOWN 2 + +/* Operations in dpi_set_pos */ +#define DSQL_POSITION 0 +#define DSQL_REFRESH 1 +#define DSQL_UPDATE 2 +#define DSQL_DELETE 3 + +/* Operations in dpi_bulk_operation */ +#define DSQL_ADD 4 +#define DSQL_SETPOS_MAX_OPTION_VALUE DSQL_ADD + +#define DSQL_UPDATE_BY_BOOKMARK 5 +#define DSQL_DELETE_BY_BOOKMARK 6 +#define DSQL_FETCH_BY_BOOKMARK 7 + +/* Lock options in dpi_set_pos */ +#define DSQL_LOCK_NO_CHANGE 0 +#define DSQL_LOCK_EXCLUSIVE 1 +#define DSQL_LOCK_UNLOCK 2 + +#define DSQL_SETPOS_MAX_LOCK_VALUE DSQL_LOCK_UNLOCK + +#define DSQL_ROW_SUCCESS 0 +#define DSQL_ROW_DELETED 1 +#define DSQL_ROW_UPDATED 2 +#define DSQL_ROW_NOROW 3 +#define DSQL_ROW_ADDED 4 +#define DSQL_ROW_ERROR 5 +#define DSQL_ROW_SUCCESS_WITH_INFO 6 + +/*Row operation values*/ +#define DSQL_ROW_PROCEED 0 +#define DSQL_ROW_IGNORE 1 + +/* value for DSQL_DESC_ARRAY_STATUS_PTR */ +#define DSQL_PARAM_SUCCESS 0 +#define DSQL_PARAM_SUCCESS_WITH_INFO 6 +#define DSQL_PARAM_ERROR 5 +#define DSQL_PARAM_UNUSED 7 +#define DSQL_PARAM_DIAG_UNAVAILABLE 1 + +#define DSQL_PARAM_PROCEED 0 +#define DSQL_PARAM_IGNORE 1 + +/* Defines for dpi_bind_param */ +#define DSQL_PARAM_TYPE_UNKNOWN 0 +#define DSQL_PARAM_INPUT 1 +#define DSQL_PARAM_INPUT_OUTPUT 2 +#define DSQL_PARAM_OUTPUT 4 +#define DSQL_PARAM_INPUT_OUTPUT_STREAM 8 +#define DSQL_PARAM_OUTPUT_STREAM 16 + +#ifdef __cplusplus +} /* End of extern "C" { */ +#endif /* __cplusplus */ + +#endif /* _DPIEXT_H */ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/include/DPItypes.h b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/include/DPItypes.h new file mode 100644 index 0000000..834f510 --- /dev/null +++ b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/include/DPItypes.h @@ -0,0 +1,141 @@ +//----------------------------------------------------------------------------- +// File: DPItypes.h +// +// Copyright: Copyright (c) DM Corporation +// +// Contents: This file defines the types used in DPI +// +// Comments: +// +//----------------------------------------------------------------------------- + +#ifndef __DPITYPES +#define __DPITYPES + +/* if DPIVER is not defined, assume version 01.01 */ +#ifndef DPIVER +#define DPIVER 0x0101 +#endif /* DPIVER */ + +#ifndef DM64 +#if defined(_WIN64) || (__WORDSIZE == 64) +#define DM64 +#endif +#endif + +#ifdef __cplusplus +extern "C" { /* Assume C declarations for C++ */ +#endif /* __cplusplus */ + +/* environment specific definitions */ +#ifndef EXPORT +#define EXPORT +#endif + +#if defined (_WINDOWS) || defined (WIN32) +#ifndef DllImport +#define DllImport __declspec( dllimport ) +#endif + +#ifndef DllExport +#define DllExport __declspec( dllexport ) +#endif +#else +#define DllImport +#define DllExport +#endif //DWINDOWS + +#ifndef DMASM2_H +/* DPI declaration data types */ +typedef signed char sdbyte; +typedef unsigned char udbyte; + +typedef signed short sdint2; +typedef unsigned short udint2; + +typedef signed int sdint4; +typedef unsigned int udint4; + +#ifdef WIN32 +typedef __int64 sdint8; +typedef unsigned __int64 udint8; +#else +typedef long long int sdint8; +typedef unsigned long long int udint8; +#endif //DWINDOWS + +#endif + +typedef signed int dboolean; + +#define UDBYTE_MAX ((udbyte)0xff) +#define UDBYTE_MIN ((udbyte)0) +#define SDBYTE_MAX ((sdbyte)127) +#define SDBYTE_MIN ((sdbyte)-128) + +#define UDINT2_MAX ((udint2)0xffff) +#define UDINT2_MIN ((udint2)0) +#define SDINT2_MAX ((sdint2)32767) +#define SDINT2_MIN ((sdint2)-32768) + +#define UDINT4_MAX ((udint4)0xffffffff) +#define UDINT4_MIN ((udint4)0) +#define SDINT4_MAX ((sdint4)2147483647) +#define SDINT4_MIN ((sdint4)-2147483647 - 1) + +#if defined(WIN32) || defined(LINUX) +#define SDINT8_MAX (sdint8)0x7FFFFFFFFFFFFFFFLL +#define SDINT8_MIN ((sdint8)(-0x7FFFFFFFFFFFFFFFLL) - (sdint8)1LL) +#define UDINT8_MAX ((udint8)0xFFFFFFFFFFFFFFFFULL) +#define SDINT8_UNDEFINED (sdint8)0xFFFFFFFFFFFFFFFFLL +#else +#define SDINT8_MAX 0x7FFFFFFFFFFFFFFFLL +#define SDINT8_MIN (-0x7FFFFFFFFFFFFFFFLL - 1LL) +#define UDINT8_MAX ((udint8)0xFFFFFFFFFFFFFFFFLL) +#define SDINT8_UNDEFINED 0xFFFFFFFFFFFFFFFFLL +#endif + +#ifdef DM64 +typedef sdint8 slength; +typedef udint8 ulength; +#define SLENGTH_MAX SDINT8_MAX +#define ULENGTH_MAX UDINT8_MAX +#else +typedef sdint4 slength; +typedef udint4 ulength; +#define SLENGTH_MAX SDINT4_MAX +#define ULENGTH_MAX UDINT4_MAX +#endif + +typedef void * dpointer; + +/* function return type */ +typedef sdint2 DPIRETURN; + +typedef float dfloat; + +#ifndef __DDB__ +#define __DDB__ + +typedef double ddouble; + +#endif + +/* generic data structures */ +typedef void* dhandle; +typedef dhandle dhenv; +typedef dhandle dhcon; +typedef dhandle dhstmt; +typedef dhandle dhdesc; +typedef dhandle dhloblctr; +typedef dhandle dhobjdesc; +typedef dhandle dhobj; +typedef dhandle dhbfile; + +typedef ulength hndlsz; + +#ifdef __cplusplus +} /* End of extern "C" { */ +#endif /* __cplusplus */ + +#endif /* #ifndef __DPITYPES */ diff --git a/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/lib/dmdpi.lib b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/lib/dmdpi.lib new file mode 100644 index 0000000..b8125e7 Binary files /dev/null and b/FlightSimulation/Plugins/UEDMPlugin/Source/ThirdParty/lib/dmdpi.lib differ